JP2004536404A - Raid装置からのデータ伝送 - Google Patents
Raid装置からのデータ伝送 Download PDFInfo
- Publication number
- JP2004536404A JP2004536404A JP2003514401A JP2003514401A JP2004536404A JP 2004536404 A JP2004536404 A JP 2004536404A JP 2003514401 A JP2003514401 A JP 2003514401A JP 2003514401 A JP2003514401 A JP 2003514401A JP 2004536404 A JP2004536404 A JP 2004536404A
- Authority
- JP
- Japan
- Prior art keywords
- data
- raid
- drive
- block
- hint
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title description 15
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000015556 catabolic process Effects 0.000 claims abstract description 3
- 238000006731 degradation reaction Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 239000012634 fragment Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
Abstract
冗長アレイは、複数のディスクと、これらディスクを結合するためのバスと、受信装置と、これらディスクの何れかに格納されたブロックを復元するための装置とを含む。この装置は、他のディスクからの関連付けられたデータ及びパリティブロックを用いて当該ブロックを復元する。何れかのディスクの利用不可能又は機能低下に応答して、この装置は復元したブロックを受信装置に伝送する。
Description
【技術分野】
【0001】
本発明は、概して、RAID装置及びクラスターコンピュータシステムへのデータ伝送及びこれら装置及びシステムにおけるデータ格納に関する。
【0002】
デジタルビデオ及びテレビジョンシステムは、高帯域幅データ伝送及び短い待ち時間を必要とする。ディスクアレイ(RAID)は、高帯域幅データ伝送及び非常に短い待ち時間をサポートする。RAID格納は、冗長性及び/又はパリティブロックを用いてディスクの障害をマスクする。RAIDアレイは、復元キャッシュのサイズが固定されているため、障害処理の能力が限られている。
【0003】
RAID格納は、受信したデータストリームを一連のブロックに分割し、この一連の連続ブロックをアレイ内の異なるディスクに書き込む。データを取り出すには、これらブロックをアレイのディスクから読み出して、該読み出しブロックから元のデータストリームを復元する。受信及び伝送速度を向上させるには、RAID格納のアレイ内の様々なディスクに並列で書き込み、読み出せばよい。
【0004】
RAID格納構成の個々のディスクは、ディスク表面の欠陥や不良ブロック再ベクタリング(原語:bad block re-vectoring)により、時として機能停止に陥ったり、アクセス要求に対する応答が遅くなったりすることがある。あるドライブが、他のドライブの情報から再構築又は再構成される時にも別の問題が起こる。応答が遅くなると、1つのディスクが要求されているデータを伝送し終わるのを、RAID構成全体が待つことにもなりかねない。従って、1つのディスクの応答が遅くなると、RAID構成からの読み出し動作に長い待ち時間が発生することがある。
【0005】
デジタルビデオ及びケーブルシステムでは、ビデオ受信機の入力バッファを満たしておくには、データが概ね一定の速度でこの受信機に到着する必要があり、応答が遅い1つのディスクが大きな障害を引き起こすこともある。長い伝送待ち時間が続くと、入力バッファが空になることもある。遅いRAID構成が伝送のとぎれの原因になって受信機の入力バッファが空になると、視聴者は、視聴中のビデオに顕著な中断が起こったことを感知することもある。欠陥のないビデオ伝送を行うには、こうした中断を無くす必要がある。
【発明の開示】
【0006】
本発明の一局面によれば、複数のディスクアレイ(RAID)装置構成からなるクラスターシステムからデータを読み出す方法は、前記クラスターシステムの複数要素内の要求側要素から、前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取る段階と、前記クラスターシステムの前記要求側要素に、前記後続の読み出し動作に関わる位置に対応した前記RAID装置内の前記ドライブの状態を示すヒントを返す段階とを含む。
【0007】
本発明の付加的な局面によれば、データブロックを受信装置に伝送するための複数のディスクアレイ(RAID)構成からなるクラスターシステムは、複数のクラスター要素であって、任意のクラスター要素が、それ以外のクラスター要素の少なくとも一部にデータを転送できるように結合されている複数のクラスター要素を含む。各クラスター要素は、前記ブロックを格納し、前記格納したブロックを前記受信装置に伝送するよう適合された複数のディスクと、前記複数のディスクからの読み出し及び該ディスクへの書き込みを制御するためのプロセッサとを含む。更に、前記要素は、前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した、前記RAID装置内の前記ドライブの状態を示すヒントを生成するためのプロセスを含む。
【0008】
本発明の付加的な局面によれば、クラスター構成は、それぞれがディスクアレイ(RAID)と、前記アレイにブロックを書き込み、前記アレイからブロックを読み出すよう適合されたプロセッサとを含んだ複数のクラスターノードと、前記ノ―ドの何れかの前記ディスクアレイ内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した前記ディスクアレイ内の前記ドライブの状態を示すヒントを生成するためのプロセスとを含む。
【0009】
次の利点の1つ又は複数が、本発明の1つ又は複数の局面によって提供されうる。
【0010】
クラスターシステムは複数のクラスター要素を含む。前記クラスターシステムが、前記クラスター要素の何れかのRAID構成からデータを要求すると、特定ブロックの次の読み出しに関わる要素の状態を示すメッセージが返される。このメッセージすなわちヒントは、特定ブロック読み出しが遅くなるか、この装置の機能が低下しているか或いは利用できないことを示すことができる。前記システムがこの特定ブロックを読み出す際は、前記システムはこの不良ドライブは読み飛ばして、代わりに他のドライブからパリティ及びデータブロックを読み出す。復元器が、パリティ及びデータに排他的論理和演算を実行して、前記不良又は再構築中のドライブに対応したミッシングデータを復元する。従って、不良ドライブを読み飛ばし、遅い又は機能低下したノード又はドライブが応答するのを待たずデ―タ復元に取りかかることにより、機能低下状態にあるこのRAIDアレイのパフォーマンスが改善し、正常パフォーマンスに近づくか或いは達する。
【0011】
本発明の1つ又は複数の実施形態の詳細は、添付の図面及び以下の説明に記載されている。本発明のその他の特徴、目的、及び利点は、詳細な説明及び図面、並びに特許請求の範囲から明らかとなるはずである。
【発明を実施するための最良の形態】
【0012】
図1を参照すると、コンピュータノード11はRAID構成12及びプロセッサ20を含む。RAID構成12はプロセッサ20の制御下にあり、3つの格納ディスク14a、14b、及び14c、並びに個別のディスク制御機構(図示しない)を含む。RAID構成12は、プロセッサ20の制御下で3つのディスク14a、14b、及び14cへの書き込みデータ及び読み出しデータを伝送するためのバス16も含む。概して、こうした構成12はN個のディスクを備えることができるが、Nは3以上である。幾つかの実施形態では、ミラーリングが許可されていれば2つのディスクドライブを使用してもよい。書き込み及び読み出しはデータ及び/又はパリティブロックに関するものである。プロセッサ20は、故障したディスク14a、14b、及び14cからのデータブロックを復元するための復元器22を含む。バス16は、ディスク14a、14b、及び14cそれぞれに別個のデータ及び制御線(図示しない)を備えることができる。読み出し及び書き込みは、ディスク14a、14b、及び14cの全て又はその一部への並行アクセスでよい。他の実施形態では、一組のデータ及び複数の制御線がRAID構成12の各ディスク14a、14b、及び14cに接続しており、プロセッサ20は、これら共有データ線を介して別々のディスク14a、14b、及び14cへの逐次書き込み及び読み出しを行う。この場合、バス16は1つのSCSIバスか、又は別の種類の共有若しくは専用相互接続でよい。
【0013】
プロセッサ20は復元器22も含む。幾つかの実施形態では、プロセッサ20は復元器22を実現するようにプログラムされている。他の実施形態では、復元器22は、後述するようにコプロセッサとして実装されている。
【0014】
プロセッサ20は、データブロックを例えばバス若しくはケーブルなどのインターフェース又は線17、又はエアウエーブなどを介して要求側の装置19に伝送する。プロセッサ20はプロセス40を実行して、プロセッサ20又は実施形態によっては遠隔受信装置(例えば、受信装置19)が使用するヒントを生成し、このヒントは、データ要求が、不良ディスク又は応答が遅いディスクに送られようとしている可能性があることを示す。プロセッサ20上で実行されるファイルシステム(後述する)は、データがどのようにディスクドライブに格納されているかに関する情報を保持している。このファイルシステムは、データブロックのディスク格納場所へのマッピングを保持している。ディスク制御機構(図示しない)は、ファイルシステムにディスクドライブの状態を示すメッセージを返す。マッピング及びディスクドライブの状態に関するメッセージを用いて、ファイルシステムはプロセッサ20又は場合によっては要求側システム19に上述のヒントを生成できる。プロセッサ20又は要求側システム19は、ドライブからブロックを読み出すか、或いは回復モードを開始して、他のドライブから対応するパリティブロック及びデータを読み出して不良ドライブを避けるかどうかを決定する。ファイルシステムを含むソフトウェア構成要素70は図6に示す。
【0015】
図2を参照すると、図1と同様に、クラスターシステム10は、RAID構成12、12’、及び12”をそれぞれ含んだ複数のノード11、11’、及び11”を備えている。クラスターシステム10は、一組の疎結合されたコンピュータシステム11にデータ(例えば、ビデオオンデマンドの実施形態、MPEGビデオ及びオーディオ)を格納するアーキテクチャである。各ノード11、11’、及び11”は、それぞれRAID構成12、12’、及び12”とローカル及び遠隔ファイルシステム(後述する)とを含み、任意のノードがクラスターシステム10内の他のノード12乃至12”の何れか及び/又は全てのデータにアクセスできるように構成されている。ノード11、11’、及び11”は、クラスター10の任意のクラスター要素が幾つか又は全ての他要素と直接通信できるようにネットワーク35により相互接続されている。例示的なネットワークには、ポイントツーポイント、交換網、パケット、又はセルネットワーク(原語:cell network)、バス構成、ハイパーキューブ構成などが含まれる。幾つかの実施形態では、ディスクドライブ自体が冗長RAID構成或いはRAID構成である必要はない。例示的な冗長RAID構成にはRAID−5及びRAID−4が含まれる。
【0016】
例えばプロセッサ20などの第1のプロセッサが、連続グループのデータブロックペアを受信し、各データブロックペアに関連付けられたパリティブロックを生成する。第1プロセッサ20は、各RAID構成12、12’、及び12”に、3つのブロックからなる関連付けられたグループそれぞれから1つのブロックを送る。RAID構成12、12’、及び12”のそれぞれのプロセッサ20、20’、及び20”は、続いて、各ブロックを2つの小型ブロックに分割して、これら2つの小型ブロックに関連付けられたパリティ小型ブロックを生成する。第2レベルのRAID構成12、12’、及び12”は、それぞれ図3及び4に図示されたように、これら小型ブロックをそれぞれのディスクドライブ14a乃至14c、14a’乃至14c’、及び14a”乃至14c”に格納する。又、第1プロセッサ20は、RAID構成12、12’、及び12”からブロックを取り出して、取り出したブロックをインターフェースを介して受信装置19に転送できる。
【0017】
図2を続けて参照すると、クラスターシステム10は、ブロックを復元してそれら復元ブロックを伝送することで、反応が遅い装置、ミッシング装置、又は機能低下した(原語:degraded)装置に対処する。それぞれの復元器22、22’、及び22”は、機能低下したRAID構成12、12’、及び12”の任意のブロックを復元して、受信装置19に復元ブロックを伝送する。より具体的には、復元器(例えばプロセッサ20の復元器22)は、機能低下したRAID構成12、12’、及び12”の何れかの機能低下した又は応答が遅いディスクドライブのデータを復元して、復元データを伝送する。機能低下したRAID構成12、12’、及び12”の存在は、機能低下したRAID構成12、12’、及び12”により要求側プロセッサ(例えば、この例のプロセッサ20)に送られるヒントにより通知される。プロセッサ20及び復元器22は、機能低下したディスクの応答に起因する待ち時間に対処する。第1プロセッサ20は、RAID構成10の読み出し待ち時間への予測を可能とする。受信装置19は、各構成12に埋め込むこともでき、或いはビデオオンデマンド用途のセットトップボックスなどの外部装置でもよい。
【0018】
クラスター10は、RAIDプロセスを用いて単一プロセッサ群からなる障害許容クラスターシステム(原語:a fault tolerant clustered system of single processors)を構築する。データオブジェクトは、名前付き断片ファイルとしてクラスターの要素全体にわたって格納される。データオブジェクトは、RAID−5処理(又はRAID−4処理などの他の処理)に従ってストライプ化し、且つパリティ情報と共に格納して、クラスター要素(ノード)11が障害を起こした場合は、ミッシング名前付き断片ファイルの復元を可能とする。
【0019】
図3を参照すると、システム10からのデータストリームの断片50が図示されている。断片50は、図1のRAID構成12乃至12”に格納されることになる。プロセッサ20は、断片50をブロックD(0),D(1),...D(i)からなる順序列に分割し、データブロックD(i),D(i+1)の連続対52,54に関連付けるパリティブロックP(i,i+1)(i=0,2,4,...)を特定する。パリティブロックP(i,i+1)は、データブロックD(i),D(i+1)の関連付けられた対52,54の各対の等価ビットに関する少なくとも1つのパリティビットを符号化する。プロセッサ15は、データブロックD(i),D(i+1)の関連付けた対52,54それぞれと、パリティブロックP(i,i+1)とを、図1に説明したように3つのRAID構成12、12’、及び12”に並列又は直列に書き込むことができる。
【0020】
図4を参照すると、図示したようにプロセッサ20は、データ及びパリティブロックを、RAID構成12、12’、及び12”の3つのディスク14a乃至14c、14a’乃至14c’、及び14a”乃至14c”の格納場所に書き込む。このデータはストライプS1乃至S6に配列される。各ストライプS1乃至S6は、3つの関連付けられたブロックからなるグループであって、データブロックD(i),D(i+1)の連続対と、この対から作成したパリティブロックP(i,i+1)とを含む。RAID構成の実現例によっては、各構成12乃至12”の1つのストライプS1乃至S6の部分は、データブロックD(i),D(i+1)の一方又はパリティブロックP(i,i+1)の何れかを格納する。プロセッサ20は、各連続ストライプのパリティブロックP(i,i+1)の記憶場所を循環的に桁送りすることにより、順次対に関連付けられたパリティブロックを構成12乃至12”の異なるものに書き込む。これを、構成12乃至12”におけるパリティブロックP(i,i+1)のローテーションと呼ぶ。パリティブロックの記憶位置をローテーションすることにより、データブロックD(j)を構成12乃至12”全体にわたってより均等に分配し、データ書き込み及び読み出し時のアクセス負担を、異なる構成12乃至12”全体にわたりより均等に分散する。
【0021】
図1及び4に示した構成はしばしばRAID−5構成と呼ばれる。RAID−4などの他の構成を用いることもできる。例えば、RAID−4では、RAID−5のようにパリティをアレイの複数ドライブに分配するのでなく、RAIDアレイの専用パリティドライブに格納する。言うまでもなく、1つの障害だけでなく複数の障害を考慮できるように、例えば種々の形式のハフマン符号化及び他の冗長符号化技法を含んだ他の冗長方法を用いることができる。データの書き込み及び読み出し処理の増加に関連してコストが発生することがある。
【0022】
図5を参照すると、復元器22は、メモリ素子62及びハードウェアプロセッサ64を含む。メモリ素子62及びプロセッサ64は、プロセッサ20の一部をなすバス(図示しない)に接続されている。実施形態によっては、プロセッサ64は20、20‘’、又は20”と同一のプロセッサでよく、或いは異なるプロセッサ(例えばコプロセッサ)でもよい。メモリ素子62は、その機能の一部として、バス16を介して構成12乃至12”からデータ及び/又はパリティブロックを受信する。メモリ素子62は、応答が遅い構成12乃至12”の関連付けられたブロックを復元するために、関連付けられたデータ及びパリティブロックを格納する。
【0023】
プロセッサ64は、関連付けられたパリティ及びデータブロックの排他的論理和(XOR)演算を実行して、構成12乃至12”内で機能停止しているもののデータブロックを復元する。排他的論理和を実行するに当たり、プロセッサ64は、メモリ素子62から関連付けられたブロックを読み出す。プロセッサ64は、読み出した関連付けパリティ及びデータブロックの対応したビットに対し、バイト毎に排他的論理和を実行する。プロセッサ64はこの排他的論理和の結果をメモリ素子62に書き込んで、受信装置39乃至39”の適切なものに伝送できるようにする。復元器22は、構成12乃至12”のうち何れのものにもブロックを復元できる。
【0024】
ここで図6を参照すると、プロセッサ20、20’、及び20”のソフトウェア構成要素70が図示されている。ソフトウェア構成要素70は、ポートドライバ71及びクラスドライバ72を含む。更に、ソフトウェアには、遠隔ファイルプロバイダ74、ローカルファイルプロバイダ76、及びファイルシステム78(SeaFile、FAT、NTFS)を含むファイルシステムが含まれる。ソフトウェアには、高速イーサネット(登録商標)アダプタ84及びSeaNetトランスポート層86に加え、SCSIドライバ80及びRAID制御機構82が含まれる。
【0025】
透過的なデータオブジェクトアクセスを実現するため、RAIDポートドライバは、データオブジェクトが一組の名前付き断片ファイルとして存在していることはマスクする。ポートドライバは、名前付き断片ファイルをデータストリームに併合するための多重化及び逆多重化サービスを提供する。このRAIDポートドライバは、プロバイダとしても消費者としても登録される。前述のクラスドライバがデータオブジェクトを開こうとする際は、システム中の全てのプロバイダポートドライバを呼び出す。呼び出されると、RAIDポートドライバは消費者となり、クラスドライバを用いてデータオブジェクトを構成するデータ断片それぞれを開ける。セッションが名前付き断片ファイルぞれぞれに確立されると、すなわち、名前付き断片ファイルそれぞれへのアクセスが与えられると、RAIDポートドライバはオープンコールバックを実行して、クラスドライバにデータオブジェクトが利用可能となったことを通知する。
【0026】
データ(例えばビデオ)オブジェクトにアクセスする応用例では、ポートドライバは、クラスターに格納されているデータ(ビデオ)オブジェクトにアクセスする。遠隔ファイルプロバイダは、このクラスター技術を利用しうる任意のサードパーティアプリケーション又はデバイスドライバである。クラスターボリュームのディスク上構成(ファイルシステム54)は、NTFS、FAT、SeaFile又はロウディスクアクセスの何れかでよい。このファイルシステム構成要素は、名前付き断片ファイルの格納及び取り出しの役目を担う。
【0027】
図7を参照すると、クラスター10からデータを読み出すためのプロセス100が図示されている。プロセッサ20は、伝送対象となる関連付けられたデータブロックを備えたストリップを選択して、先読み情報を提供する(102)。プロセッサ15は、以前のアクセスからのヒントに、ディスク31乃至33の何れかが障害を起こしたことが示されていたかを特定する(106)。これが示されていなければ、プロセッサ20は要求されたデータブロックを転送する(108)。ヒントがドライブ31乃至33の何れかが障害起こしていたことを示していた場合は、復元器22は、ドライブ31乃至33の障害を起こしていないドライブのデータブロック及びパリティを要求して、障害を起こしたドライブにアクセスしないで障害ディスクドライブ31乃至33のデータブロックを復元する。復元器22は、他のディスク31乃至33(応答が遅くなっていたり、機能が低下したりしていない)の同一ストライプS1の記憶位置から関連付けられたデータ及びパリティブロックを受信する。復元器22はこのデータを復元し、復元したデータブロックをデータ要求装置19に送る(112)。プロセッサ20は、将来の要求に備えて各ノード又はRAID構成12乃至12”から返されたヒントを保管しておく(114)。
【0028】
プロセッサ20(図1)は要求を処理し、同時に先読みメッセージをファイルシステムに提供して、ファイルシステムが次のブロックを読み出してキャッシュ(図示しない)に入れておけるようにする。この先読みメッセージは、次回は要求装置が、例えばオフセット+64キロバイトを読み出すことを示す。構成によっては(例えばRAID−5の実現例)、64キロバイト(KB)分のデータは飛ばして、パリティバイトデータを読み飛ばすこともある。しかし、RAID−4実現例では、パリティは別のドライブにあって、要求はそのパリティドライブになされるので、ブロックを読み飛ばす必要はない。
【0029】
この先読みメッセージは、パリティの場所を示すために用いられる。以前のI/Oトランザクションが完了していれば、プロセッサ20のファイルシステムは、RAID制御機構(図示しない)との通信を完了しており、次のブロックが有効か(例えば、RAID制御機構から利用可能か、時間どおりに応答するかなど)どうかの判断を完了している。プロセッサ20のファイルシステムは、ヒントメッセージを介して次のブロックが有効か無効かを示す。無効の場合は、ファイルシステムは、次のブロックが遅延読み出しとなるか、利用不可能となることを示すヒントを要求プロセッサ20、20’、及び20”に返す。これによって、構成12乃至12”の内の要求している構成が不良ブロックを回避した読み出しを開始でき、すなわちこの不良ドライブへの次の読み出し要求を回避でき、その代わり、正常なドライブからパリティ及びデータを要求できる。
【0030】
ヒントメッセージは、「次の不良バイトオフセット」を示すことができる。次の不良バイトオフセットは、適当なオフセットに基づいて不良ブロックの位置を示すものである。要求側システムは「次の不良バイトオフセット」を受信し、RAIDアレイが不良又は再構築中のドライブを含んでいることを特定できる。要求側システムはこのドライブを読み飛ばして、代わりに他のドライブからパリティ及びデータブロックを読み出す。復元器22は、パリティ及びデータに排他的論理和演算を実行して、不良又は再構築中のドライブに対応したミッシングデータを復元する。従って、不良ドライブを読み飛ばし、遅いドライブが応答するのを待たずデ―タ復元に取りかかることにより、RAIDアレイのパフォーマンスが改善して正常パフォーマンスに近づく。
【0031】
ヒントが返されたことが、要求側システムにとって、パフォーマンスが低下するのを待たず回復プロセス又は要求プロセスを開始する命令となる。プロセッサ20は、ファイルシステムを介して、RAID構成11及びディスクドライブ14a乃至14cのブロックマッピング及びファイル構造を周知している。従って、プロセッサ20は、要求アドレスと、当該ブロックがディスクドライブ31乃至33のどこに格納されているかを示す格納済みブロックマップ(図示しない)とを検査する。この情報から、ファイルシステムは、不良ブロックを要求するはずの装置に送られる、RAIDアレイの状態を示すヒントを作成する。このヒントはRAIDアレイの様々な障害をマスクする。
【0032】
クラスター10のノード11、11’、及び11”はピアツーピアであり、クラスターシステム10のデータを消費し、データをシステム10に提供する。ヒントは、故障したディスクサブシステムのパフォーマンスを向上させる。ドライブが回復の見込みがないか、或いはRAIDアレイで再構築中であれば、プロセッサ20は障害を起こしたドライブのミッシングデータを復元するには、ストライプ行全体を読み出す必要がある。多数の読み出しスレッド(原語:reader thread)が機能低下したRAIDアレイに位置している場合は、新たな要求を処理する間に復元キャッシュを消去する。RAIDアレイの復元キャッシュはそのサイズが固定されているので、データブロックの一部/全てを二度読み出す必要がある。これは、こうしたブロックは、不良ブロックを復元するのに用いられる前にクリアされるからである。この場合、RAID制御機構のパフォーマンスは、機能低下していないパフォーマンスの半分又はそれ以上に落ち込んでしまう。ヒントメッセージを用いて障害を起こしたドライブを避けることにより、故障したRAIDアレイは、12分の11の効率で実行できる(ドライブが12あるアレイと仮定して)。障害を起こしたドライブからの出入力要求は、クラスター中の他のシステムによりパリティデータ要求の形式で処理される(RAIDアレイへの12分の1の負荷)。
【0033】
プロセス100は、上述のようにパリティ及びデータからブロックを復元する。ヒントが不良読み出しを示すと、先読みは停止する。これは、こうした読み出し動作を実行するとシステム10のパフォーマンスが低下するからである。先読みキャッシュ(図示しない)を不能とするのは、ファイルシステムが、バイトオフセットでの次の要求が不良ドライブに当たることを指し示したヒントを要求側システムに返した時点である。
【0034】
他の実施形態では、ファイルシステム74は更に先取りし、不良ドライブへの次の要求がどこに当たるかを示すヒントを遠隔システム19に生成し、従って、要求側システム11がその点まで読み出して、不良ドライブを読み飛ばすことができる。プロセッサ20上のローカルファイルシステム74は、遠隔エンドにおいてファイル断片を管理し、ファイルの次のブロックが不良か良好かを把握している。ファイルシステム74はヒントを要求側システム11に返す。要求側システム19は、ドライブからブロックを読み出すか、回復モードを開始して他のドライブから対応するパリティブロック及びデータを読み出し、パリティを用いてデータに排他的論理和演算を実行して、失われたブロックを回復するかを決定する。
【0035】
ファイルシステム74が2つのシステムで同じ状況に遭遇した場合は、均衡打破アルゴリズム(例えば、システム10がまず1つのノードを読み次に他方のノードをから読み出す、ラウンドロビン法)を実行できる。
【0036】
図1乃至3を再び参照すると、プロセッサ20は、復元されたデータブロックの復元及び伝送を制御する。受信したヒントが問題の存在を示していれば、プロセッサ20は残りのノード12乃至12”に、関連付けられたブロックを復元器22(例えばメモリ素子62)へ送るよう命令する。図4では、関連付けられたデータ及びパリティブロックは、欠陥又は応答が遅いディスク14a乃至14cからの未伝送データブロックと同じストライプS1乃至S6に格納されている。従って、プロセッサ20は関連付けられたストライプS1乃至S6の読み出しを命令して、関連付けられたブロックを入手する。プロセッサ20は復元器22に信号を送って、例えば図3のプロセッサ64に送る信号などにより、応答が遅いディスクからのデータブロックを復元する。従って、プロセッサ20は、復元器22(例えば、メモリ素子62)から復元されたブロックを読み出し、復元されたブロックをインターフェースすなわち線17を介して伝送する。
【0037】
プロセッサ20は、データ伝送要求を送ることにより応答が遅いディスク14a乃至14cが回復するのを妨げることはない。その代わり、プロセッサ20は、復元器22に命令して正常に応答しているノード12乃至12”の関連付けられたブロックからミッシングデータを復元させる。
【0038】
図8を参照すると、図1のシステム10を用いるビデオ伝送システム150が図示されている。受信機152は、線17を介してインターフェースから伝送されたデータブロックを入力端末156において受信する。システム10と受信機152との間の伝送は、電波、光、及び/又はケーブル伝送によるものでよい。入力端末156は、入力データバッファ(例えば、先入れ先出しバッファ)に接続している。入力データバッファ154は、図2Bに示した1つのデータブロックに含まれたデータ量の二倍乃至数倍を格納する。入力データバッファ154に格納されたデータは、短い伝送中断が発生した場合、連続的なビデオデータ処理を可能とする。
【0039】
ビデオ伝送システム150は、ヒントの受信に応答して復元済みデータブロックを伝送することで視聴休止の発生を低下させる。システム150の一実施形態では、システム10のRAID構成11はデータブロックを伝送し、復元するのに約100ミリ秒を必要とする。受信機の入力データバッファ117は、約2000ミリ秒のビデオデータを格納する。この格納装置は、ヒントの受信に応答して失われたデータを復元するのに十分な時間を提供する一方、正常なビデオを転送するのに十分な格納データを提供する。
【0040】
これ以外の実施形態も添付の請求項の範囲に入る。
【図面の簡単な説明】
【0041】
【図1】ディスクアレイ(RAID)の構成を示すブロック図である。
【図2】図1に示したディスクアレイ(RAID)を用いたクラスターコンピュータシステムのブロック図である。
【図3】図1のRAID構成に送られるデータストリームの1つの断片を示す。
【図4】図1のRAID構成おいて図3のデータ断片を格納する一例を示す。
【図5】図1のRAID構成で使用されるデータブロックの復元器を示すブロック図である。
【図6】図1のRAID構成で使用されるプロセッサのソフトウェア層を示す略図である。
【図7】図1のRAID構成からデータを読み出すための処理を示すフローチャートである。
【図8】図1のRAID構成を用いるビデオシステムのブロック図である。
【0001】
本発明は、概して、RAID装置及びクラスターコンピュータシステムへのデータ伝送及びこれら装置及びシステムにおけるデータ格納に関する。
【0002】
デジタルビデオ及びテレビジョンシステムは、高帯域幅データ伝送及び短い待ち時間を必要とする。ディスクアレイ(RAID)は、高帯域幅データ伝送及び非常に短い待ち時間をサポートする。RAID格納は、冗長性及び/又はパリティブロックを用いてディスクの障害をマスクする。RAIDアレイは、復元キャッシュのサイズが固定されているため、障害処理の能力が限られている。
【0003】
RAID格納は、受信したデータストリームを一連のブロックに分割し、この一連の連続ブロックをアレイ内の異なるディスクに書き込む。データを取り出すには、これらブロックをアレイのディスクから読み出して、該読み出しブロックから元のデータストリームを復元する。受信及び伝送速度を向上させるには、RAID格納のアレイ内の様々なディスクに並列で書き込み、読み出せばよい。
【0004】
RAID格納構成の個々のディスクは、ディスク表面の欠陥や不良ブロック再ベクタリング(原語:bad block re-vectoring)により、時として機能停止に陥ったり、アクセス要求に対する応答が遅くなったりすることがある。あるドライブが、他のドライブの情報から再構築又は再構成される時にも別の問題が起こる。応答が遅くなると、1つのディスクが要求されているデータを伝送し終わるのを、RAID構成全体が待つことにもなりかねない。従って、1つのディスクの応答が遅くなると、RAID構成からの読み出し動作に長い待ち時間が発生することがある。
【0005】
デジタルビデオ及びケーブルシステムでは、ビデオ受信機の入力バッファを満たしておくには、データが概ね一定の速度でこの受信機に到着する必要があり、応答が遅い1つのディスクが大きな障害を引き起こすこともある。長い伝送待ち時間が続くと、入力バッファが空になることもある。遅いRAID構成が伝送のとぎれの原因になって受信機の入力バッファが空になると、視聴者は、視聴中のビデオに顕著な中断が起こったことを感知することもある。欠陥のないビデオ伝送を行うには、こうした中断を無くす必要がある。
【発明の開示】
【0006】
本発明の一局面によれば、複数のディスクアレイ(RAID)装置構成からなるクラスターシステムからデータを読み出す方法は、前記クラスターシステムの複数要素内の要求側要素から、前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取る段階と、前記クラスターシステムの前記要求側要素に、前記後続の読み出し動作に関わる位置に対応した前記RAID装置内の前記ドライブの状態を示すヒントを返す段階とを含む。
【0007】
本発明の付加的な局面によれば、データブロックを受信装置に伝送するための複数のディスクアレイ(RAID)構成からなるクラスターシステムは、複数のクラスター要素であって、任意のクラスター要素が、それ以外のクラスター要素の少なくとも一部にデータを転送できるように結合されている複数のクラスター要素を含む。各クラスター要素は、前記ブロックを格納し、前記格納したブロックを前記受信装置に伝送するよう適合された複数のディスクと、前記複数のディスクからの読み出し及び該ディスクへの書き込みを制御するためのプロセッサとを含む。更に、前記要素は、前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した、前記RAID装置内の前記ドライブの状態を示すヒントを生成するためのプロセスを含む。
【0008】
本発明の付加的な局面によれば、クラスター構成は、それぞれがディスクアレイ(RAID)と、前記アレイにブロックを書き込み、前記アレイからブロックを読み出すよう適合されたプロセッサとを含んだ複数のクラスターノードと、前記ノ―ドの何れかの前記ディスクアレイ内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した前記ディスクアレイ内の前記ドライブの状態を示すヒントを生成するためのプロセスとを含む。
【0009】
次の利点の1つ又は複数が、本発明の1つ又は複数の局面によって提供されうる。
【0010】
クラスターシステムは複数のクラスター要素を含む。前記クラスターシステムが、前記クラスター要素の何れかのRAID構成からデータを要求すると、特定ブロックの次の読み出しに関わる要素の状態を示すメッセージが返される。このメッセージすなわちヒントは、特定ブロック読み出しが遅くなるか、この装置の機能が低下しているか或いは利用できないことを示すことができる。前記システムがこの特定ブロックを読み出す際は、前記システムはこの不良ドライブは読み飛ばして、代わりに他のドライブからパリティ及びデータブロックを読み出す。復元器が、パリティ及びデータに排他的論理和演算を実行して、前記不良又は再構築中のドライブに対応したミッシングデータを復元する。従って、不良ドライブを読み飛ばし、遅い又は機能低下したノード又はドライブが応答するのを待たずデ―タ復元に取りかかることにより、機能低下状態にあるこのRAIDアレイのパフォーマンスが改善し、正常パフォーマンスに近づくか或いは達する。
【0011】
本発明の1つ又は複数の実施形態の詳細は、添付の図面及び以下の説明に記載されている。本発明のその他の特徴、目的、及び利点は、詳細な説明及び図面、並びに特許請求の範囲から明らかとなるはずである。
【発明を実施するための最良の形態】
【0012】
図1を参照すると、コンピュータノード11はRAID構成12及びプロセッサ20を含む。RAID構成12はプロセッサ20の制御下にあり、3つの格納ディスク14a、14b、及び14c、並びに個別のディスク制御機構(図示しない)を含む。RAID構成12は、プロセッサ20の制御下で3つのディスク14a、14b、及び14cへの書き込みデータ及び読み出しデータを伝送するためのバス16も含む。概して、こうした構成12はN個のディスクを備えることができるが、Nは3以上である。幾つかの実施形態では、ミラーリングが許可されていれば2つのディスクドライブを使用してもよい。書き込み及び読み出しはデータ及び/又はパリティブロックに関するものである。プロセッサ20は、故障したディスク14a、14b、及び14cからのデータブロックを復元するための復元器22を含む。バス16は、ディスク14a、14b、及び14cそれぞれに別個のデータ及び制御線(図示しない)を備えることができる。読み出し及び書き込みは、ディスク14a、14b、及び14cの全て又はその一部への並行アクセスでよい。他の実施形態では、一組のデータ及び複数の制御線がRAID構成12の各ディスク14a、14b、及び14cに接続しており、プロセッサ20は、これら共有データ線を介して別々のディスク14a、14b、及び14cへの逐次書き込み及び読み出しを行う。この場合、バス16は1つのSCSIバスか、又は別の種類の共有若しくは専用相互接続でよい。
【0013】
プロセッサ20は復元器22も含む。幾つかの実施形態では、プロセッサ20は復元器22を実現するようにプログラムされている。他の実施形態では、復元器22は、後述するようにコプロセッサとして実装されている。
【0014】
プロセッサ20は、データブロックを例えばバス若しくはケーブルなどのインターフェース又は線17、又はエアウエーブなどを介して要求側の装置19に伝送する。プロセッサ20はプロセス40を実行して、プロセッサ20又は実施形態によっては遠隔受信装置(例えば、受信装置19)が使用するヒントを生成し、このヒントは、データ要求が、不良ディスク又は応答が遅いディスクに送られようとしている可能性があることを示す。プロセッサ20上で実行されるファイルシステム(後述する)は、データがどのようにディスクドライブに格納されているかに関する情報を保持している。このファイルシステムは、データブロックのディスク格納場所へのマッピングを保持している。ディスク制御機構(図示しない)は、ファイルシステムにディスクドライブの状態を示すメッセージを返す。マッピング及びディスクドライブの状態に関するメッセージを用いて、ファイルシステムはプロセッサ20又は場合によっては要求側システム19に上述のヒントを生成できる。プロセッサ20又は要求側システム19は、ドライブからブロックを読み出すか、或いは回復モードを開始して、他のドライブから対応するパリティブロック及びデータを読み出して不良ドライブを避けるかどうかを決定する。ファイルシステムを含むソフトウェア構成要素70は図6に示す。
【0015】
図2を参照すると、図1と同様に、クラスターシステム10は、RAID構成12、12’、及び12”をそれぞれ含んだ複数のノード11、11’、及び11”を備えている。クラスターシステム10は、一組の疎結合されたコンピュータシステム11にデータ(例えば、ビデオオンデマンドの実施形態、MPEGビデオ及びオーディオ)を格納するアーキテクチャである。各ノード11、11’、及び11”は、それぞれRAID構成12、12’、及び12”とローカル及び遠隔ファイルシステム(後述する)とを含み、任意のノードがクラスターシステム10内の他のノード12乃至12”の何れか及び/又は全てのデータにアクセスできるように構成されている。ノード11、11’、及び11”は、クラスター10の任意のクラスター要素が幾つか又は全ての他要素と直接通信できるようにネットワーク35により相互接続されている。例示的なネットワークには、ポイントツーポイント、交換網、パケット、又はセルネットワーク(原語:cell network)、バス構成、ハイパーキューブ構成などが含まれる。幾つかの実施形態では、ディスクドライブ自体が冗長RAID構成或いはRAID構成である必要はない。例示的な冗長RAID構成にはRAID−5及びRAID−4が含まれる。
【0016】
例えばプロセッサ20などの第1のプロセッサが、連続グループのデータブロックペアを受信し、各データブロックペアに関連付けられたパリティブロックを生成する。第1プロセッサ20は、各RAID構成12、12’、及び12”に、3つのブロックからなる関連付けられたグループそれぞれから1つのブロックを送る。RAID構成12、12’、及び12”のそれぞれのプロセッサ20、20’、及び20”は、続いて、各ブロックを2つの小型ブロックに分割して、これら2つの小型ブロックに関連付けられたパリティ小型ブロックを生成する。第2レベルのRAID構成12、12’、及び12”は、それぞれ図3及び4に図示されたように、これら小型ブロックをそれぞれのディスクドライブ14a乃至14c、14a’乃至14c’、及び14a”乃至14c”に格納する。又、第1プロセッサ20は、RAID構成12、12’、及び12”からブロックを取り出して、取り出したブロックをインターフェースを介して受信装置19に転送できる。
【0017】
図2を続けて参照すると、クラスターシステム10は、ブロックを復元してそれら復元ブロックを伝送することで、反応が遅い装置、ミッシング装置、又は機能低下した(原語:degraded)装置に対処する。それぞれの復元器22、22’、及び22”は、機能低下したRAID構成12、12’、及び12”の任意のブロックを復元して、受信装置19に復元ブロックを伝送する。より具体的には、復元器(例えばプロセッサ20の復元器22)は、機能低下したRAID構成12、12’、及び12”の何れかの機能低下した又は応答が遅いディスクドライブのデータを復元して、復元データを伝送する。機能低下したRAID構成12、12’、及び12”の存在は、機能低下したRAID構成12、12’、及び12”により要求側プロセッサ(例えば、この例のプロセッサ20)に送られるヒントにより通知される。プロセッサ20及び復元器22は、機能低下したディスクの応答に起因する待ち時間に対処する。第1プロセッサ20は、RAID構成10の読み出し待ち時間への予測を可能とする。受信装置19は、各構成12に埋め込むこともでき、或いはビデオオンデマンド用途のセットトップボックスなどの外部装置でもよい。
【0018】
クラスター10は、RAIDプロセスを用いて単一プロセッサ群からなる障害許容クラスターシステム(原語:a fault tolerant clustered system of single processors)を構築する。データオブジェクトは、名前付き断片ファイルとしてクラスターの要素全体にわたって格納される。データオブジェクトは、RAID−5処理(又はRAID−4処理などの他の処理)に従ってストライプ化し、且つパリティ情報と共に格納して、クラスター要素(ノード)11が障害を起こした場合は、ミッシング名前付き断片ファイルの復元を可能とする。
【0019】
図3を参照すると、システム10からのデータストリームの断片50が図示されている。断片50は、図1のRAID構成12乃至12”に格納されることになる。プロセッサ20は、断片50をブロックD(0),D(1),...D(i)からなる順序列に分割し、データブロックD(i),D(i+1)の連続対52,54に関連付けるパリティブロックP(i,i+1)(i=0,2,4,...)を特定する。パリティブロックP(i,i+1)は、データブロックD(i),D(i+1)の関連付けられた対52,54の各対の等価ビットに関する少なくとも1つのパリティビットを符号化する。プロセッサ15は、データブロックD(i),D(i+1)の関連付けた対52,54それぞれと、パリティブロックP(i,i+1)とを、図1に説明したように3つのRAID構成12、12’、及び12”に並列又は直列に書き込むことができる。
【0020】
図4を参照すると、図示したようにプロセッサ20は、データ及びパリティブロックを、RAID構成12、12’、及び12”の3つのディスク14a乃至14c、14a’乃至14c’、及び14a”乃至14c”の格納場所に書き込む。このデータはストライプS1乃至S6に配列される。各ストライプS1乃至S6は、3つの関連付けられたブロックからなるグループであって、データブロックD(i),D(i+1)の連続対と、この対から作成したパリティブロックP(i,i+1)とを含む。RAID構成の実現例によっては、各構成12乃至12”の1つのストライプS1乃至S6の部分は、データブロックD(i),D(i+1)の一方又はパリティブロックP(i,i+1)の何れかを格納する。プロセッサ20は、各連続ストライプのパリティブロックP(i,i+1)の記憶場所を循環的に桁送りすることにより、順次対に関連付けられたパリティブロックを構成12乃至12”の異なるものに書き込む。これを、構成12乃至12”におけるパリティブロックP(i,i+1)のローテーションと呼ぶ。パリティブロックの記憶位置をローテーションすることにより、データブロックD(j)を構成12乃至12”全体にわたってより均等に分配し、データ書き込み及び読み出し時のアクセス負担を、異なる構成12乃至12”全体にわたりより均等に分散する。
【0021】
図1及び4に示した構成はしばしばRAID−5構成と呼ばれる。RAID−4などの他の構成を用いることもできる。例えば、RAID−4では、RAID−5のようにパリティをアレイの複数ドライブに分配するのでなく、RAIDアレイの専用パリティドライブに格納する。言うまでもなく、1つの障害だけでなく複数の障害を考慮できるように、例えば種々の形式のハフマン符号化及び他の冗長符号化技法を含んだ他の冗長方法を用いることができる。データの書き込み及び読み出し処理の増加に関連してコストが発生することがある。
【0022】
図5を参照すると、復元器22は、メモリ素子62及びハードウェアプロセッサ64を含む。メモリ素子62及びプロセッサ64は、プロセッサ20の一部をなすバス(図示しない)に接続されている。実施形態によっては、プロセッサ64は20、20‘’、又は20”と同一のプロセッサでよく、或いは異なるプロセッサ(例えばコプロセッサ)でもよい。メモリ素子62は、その機能の一部として、バス16を介して構成12乃至12”からデータ及び/又はパリティブロックを受信する。メモリ素子62は、応答が遅い構成12乃至12”の関連付けられたブロックを復元するために、関連付けられたデータ及びパリティブロックを格納する。
【0023】
プロセッサ64は、関連付けられたパリティ及びデータブロックの排他的論理和(XOR)演算を実行して、構成12乃至12”内で機能停止しているもののデータブロックを復元する。排他的論理和を実行するに当たり、プロセッサ64は、メモリ素子62から関連付けられたブロックを読み出す。プロセッサ64は、読み出した関連付けパリティ及びデータブロックの対応したビットに対し、バイト毎に排他的論理和を実行する。プロセッサ64はこの排他的論理和の結果をメモリ素子62に書き込んで、受信装置39乃至39”の適切なものに伝送できるようにする。復元器22は、構成12乃至12”のうち何れのものにもブロックを復元できる。
【0024】
ここで図6を参照すると、プロセッサ20、20’、及び20”のソフトウェア構成要素70が図示されている。ソフトウェア構成要素70は、ポートドライバ71及びクラスドライバ72を含む。更に、ソフトウェアには、遠隔ファイルプロバイダ74、ローカルファイルプロバイダ76、及びファイルシステム78(SeaFile、FAT、NTFS)を含むファイルシステムが含まれる。ソフトウェアには、高速イーサネット(登録商標)アダプタ84及びSeaNetトランスポート層86に加え、SCSIドライバ80及びRAID制御機構82が含まれる。
【0025】
透過的なデータオブジェクトアクセスを実現するため、RAIDポートドライバは、データオブジェクトが一組の名前付き断片ファイルとして存在していることはマスクする。ポートドライバは、名前付き断片ファイルをデータストリームに併合するための多重化及び逆多重化サービスを提供する。このRAIDポートドライバは、プロバイダとしても消費者としても登録される。前述のクラスドライバがデータオブジェクトを開こうとする際は、システム中の全てのプロバイダポートドライバを呼び出す。呼び出されると、RAIDポートドライバは消費者となり、クラスドライバを用いてデータオブジェクトを構成するデータ断片それぞれを開ける。セッションが名前付き断片ファイルぞれぞれに確立されると、すなわち、名前付き断片ファイルそれぞれへのアクセスが与えられると、RAIDポートドライバはオープンコールバックを実行して、クラスドライバにデータオブジェクトが利用可能となったことを通知する。
【0026】
データ(例えばビデオ)オブジェクトにアクセスする応用例では、ポートドライバは、クラスターに格納されているデータ(ビデオ)オブジェクトにアクセスする。遠隔ファイルプロバイダは、このクラスター技術を利用しうる任意のサードパーティアプリケーション又はデバイスドライバである。クラスターボリュームのディスク上構成(ファイルシステム54)は、NTFS、FAT、SeaFile又はロウディスクアクセスの何れかでよい。このファイルシステム構成要素は、名前付き断片ファイルの格納及び取り出しの役目を担う。
【0027】
図7を参照すると、クラスター10からデータを読み出すためのプロセス100が図示されている。プロセッサ20は、伝送対象となる関連付けられたデータブロックを備えたストリップを選択して、先読み情報を提供する(102)。プロセッサ15は、以前のアクセスからのヒントに、ディスク31乃至33の何れかが障害を起こしたことが示されていたかを特定する(106)。これが示されていなければ、プロセッサ20は要求されたデータブロックを転送する(108)。ヒントがドライブ31乃至33の何れかが障害起こしていたことを示していた場合は、復元器22は、ドライブ31乃至33の障害を起こしていないドライブのデータブロック及びパリティを要求して、障害を起こしたドライブにアクセスしないで障害ディスクドライブ31乃至33のデータブロックを復元する。復元器22は、他のディスク31乃至33(応答が遅くなっていたり、機能が低下したりしていない)の同一ストライプS1の記憶位置から関連付けられたデータ及びパリティブロックを受信する。復元器22はこのデータを復元し、復元したデータブロックをデータ要求装置19に送る(112)。プロセッサ20は、将来の要求に備えて各ノード又はRAID構成12乃至12”から返されたヒントを保管しておく(114)。
【0028】
プロセッサ20(図1)は要求を処理し、同時に先読みメッセージをファイルシステムに提供して、ファイルシステムが次のブロックを読み出してキャッシュ(図示しない)に入れておけるようにする。この先読みメッセージは、次回は要求装置が、例えばオフセット+64キロバイトを読み出すことを示す。構成によっては(例えばRAID−5の実現例)、64キロバイト(KB)分のデータは飛ばして、パリティバイトデータを読み飛ばすこともある。しかし、RAID−4実現例では、パリティは別のドライブにあって、要求はそのパリティドライブになされるので、ブロックを読み飛ばす必要はない。
【0029】
この先読みメッセージは、パリティの場所を示すために用いられる。以前のI/Oトランザクションが完了していれば、プロセッサ20のファイルシステムは、RAID制御機構(図示しない)との通信を完了しており、次のブロックが有効か(例えば、RAID制御機構から利用可能か、時間どおりに応答するかなど)どうかの判断を完了している。プロセッサ20のファイルシステムは、ヒントメッセージを介して次のブロックが有効か無効かを示す。無効の場合は、ファイルシステムは、次のブロックが遅延読み出しとなるか、利用不可能となることを示すヒントを要求プロセッサ20、20’、及び20”に返す。これによって、構成12乃至12”の内の要求している構成が不良ブロックを回避した読み出しを開始でき、すなわちこの不良ドライブへの次の読み出し要求を回避でき、その代わり、正常なドライブからパリティ及びデータを要求できる。
【0030】
ヒントメッセージは、「次の不良バイトオフセット」を示すことができる。次の不良バイトオフセットは、適当なオフセットに基づいて不良ブロックの位置を示すものである。要求側システムは「次の不良バイトオフセット」を受信し、RAIDアレイが不良又は再構築中のドライブを含んでいることを特定できる。要求側システムはこのドライブを読み飛ばして、代わりに他のドライブからパリティ及びデータブロックを読み出す。復元器22は、パリティ及びデータに排他的論理和演算を実行して、不良又は再構築中のドライブに対応したミッシングデータを復元する。従って、不良ドライブを読み飛ばし、遅いドライブが応答するのを待たずデ―タ復元に取りかかることにより、RAIDアレイのパフォーマンスが改善して正常パフォーマンスに近づく。
【0031】
ヒントが返されたことが、要求側システムにとって、パフォーマンスが低下するのを待たず回復プロセス又は要求プロセスを開始する命令となる。プロセッサ20は、ファイルシステムを介して、RAID構成11及びディスクドライブ14a乃至14cのブロックマッピング及びファイル構造を周知している。従って、プロセッサ20は、要求アドレスと、当該ブロックがディスクドライブ31乃至33のどこに格納されているかを示す格納済みブロックマップ(図示しない)とを検査する。この情報から、ファイルシステムは、不良ブロックを要求するはずの装置に送られる、RAIDアレイの状態を示すヒントを作成する。このヒントはRAIDアレイの様々な障害をマスクする。
【0032】
クラスター10のノード11、11’、及び11”はピアツーピアであり、クラスターシステム10のデータを消費し、データをシステム10に提供する。ヒントは、故障したディスクサブシステムのパフォーマンスを向上させる。ドライブが回復の見込みがないか、或いはRAIDアレイで再構築中であれば、プロセッサ20は障害を起こしたドライブのミッシングデータを復元するには、ストライプ行全体を読み出す必要がある。多数の読み出しスレッド(原語:reader thread)が機能低下したRAIDアレイに位置している場合は、新たな要求を処理する間に復元キャッシュを消去する。RAIDアレイの復元キャッシュはそのサイズが固定されているので、データブロックの一部/全てを二度読み出す必要がある。これは、こうしたブロックは、不良ブロックを復元するのに用いられる前にクリアされるからである。この場合、RAID制御機構のパフォーマンスは、機能低下していないパフォーマンスの半分又はそれ以上に落ち込んでしまう。ヒントメッセージを用いて障害を起こしたドライブを避けることにより、故障したRAIDアレイは、12分の11の効率で実行できる(ドライブが12あるアレイと仮定して)。障害を起こしたドライブからの出入力要求は、クラスター中の他のシステムによりパリティデータ要求の形式で処理される(RAIDアレイへの12分の1の負荷)。
【0033】
プロセス100は、上述のようにパリティ及びデータからブロックを復元する。ヒントが不良読み出しを示すと、先読みは停止する。これは、こうした読み出し動作を実行するとシステム10のパフォーマンスが低下するからである。先読みキャッシュ(図示しない)を不能とするのは、ファイルシステムが、バイトオフセットでの次の要求が不良ドライブに当たることを指し示したヒントを要求側システムに返した時点である。
【0034】
他の実施形態では、ファイルシステム74は更に先取りし、不良ドライブへの次の要求がどこに当たるかを示すヒントを遠隔システム19に生成し、従って、要求側システム11がその点まで読み出して、不良ドライブを読み飛ばすことができる。プロセッサ20上のローカルファイルシステム74は、遠隔エンドにおいてファイル断片を管理し、ファイルの次のブロックが不良か良好かを把握している。ファイルシステム74はヒントを要求側システム11に返す。要求側システム19は、ドライブからブロックを読み出すか、回復モードを開始して他のドライブから対応するパリティブロック及びデータを読み出し、パリティを用いてデータに排他的論理和演算を実行して、失われたブロックを回復するかを決定する。
【0035】
ファイルシステム74が2つのシステムで同じ状況に遭遇した場合は、均衡打破アルゴリズム(例えば、システム10がまず1つのノードを読み次に他方のノードをから読み出す、ラウンドロビン法)を実行できる。
【0036】
図1乃至3を再び参照すると、プロセッサ20は、復元されたデータブロックの復元及び伝送を制御する。受信したヒントが問題の存在を示していれば、プロセッサ20は残りのノード12乃至12”に、関連付けられたブロックを復元器22(例えばメモリ素子62)へ送るよう命令する。図4では、関連付けられたデータ及びパリティブロックは、欠陥又は応答が遅いディスク14a乃至14cからの未伝送データブロックと同じストライプS1乃至S6に格納されている。従って、プロセッサ20は関連付けられたストライプS1乃至S6の読み出しを命令して、関連付けられたブロックを入手する。プロセッサ20は復元器22に信号を送って、例えば図3のプロセッサ64に送る信号などにより、応答が遅いディスクからのデータブロックを復元する。従って、プロセッサ20は、復元器22(例えば、メモリ素子62)から復元されたブロックを読み出し、復元されたブロックをインターフェースすなわち線17を介して伝送する。
【0037】
プロセッサ20は、データ伝送要求を送ることにより応答が遅いディスク14a乃至14cが回復するのを妨げることはない。その代わり、プロセッサ20は、復元器22に命令して正常に応答しているノード12乃至12”の関連付けられたブロックからミッシングデータを復元させる。
【0038】
図8を参照すると、図1のシステム10を用いるビデオ伝送システム150が図示されている。受信機152は、線17を介してインターフェースから伝送されたデータブロックを入力端末156において受信する。システム10と受信機152との間の伝送は、電波、光、及び/又はケーブル伝送によるものでよい。入力端末156は、入力データバッファ(例えば、先入れ先出しバッファ)に接続している。入力データバッファ154は、図2Bに示した1つのデータブロックに含まれたデータ量の二倍乃至数倍を格納する。入力データバッファ154に格納されたデータは、短い伝送中断が発生した場合、連続的なビデオデータ処理を可能とする。
【0039】
ビデオ伝送システム150は、ヒントの受信に応答して復元済みデータブロックを伝送することで視聴休止の発生を低下させる。システム150の一実施形態では、システム10のRAID構成11はデータブロックを伝送し、復元するのに約100ミリ秒を必要とする。受信機の入力データバッファ117は、約2000ミリ秒のビデオデータを格納する。この格納装置は、ヒントの受信に応答して失われたデータを復元するのに十分な時間を提供する一方、正常なビデオを転送するのに十分な格納データを提供する。
【0040】
これ以外の実施形態も添付の請求項の範囲に入る。
【図面の簡単な説明】
【0041】
【図1】ディスクアレイ(RAID)の構成を示すブロック図である。
【図2】図1に示したディスクアレイ(RAID)を用いたクラスターコンピュータシステムのブロック図である。
【図3】図1のRAID構成に送られるデータストリームの1つの断片を示す。
【図4】図1のRAID構成おいて図3のデータ断片を格納する一例を示す。
【図5】図1のRAID構成で使用されるデータブロックの復元器を示すブロック図である。
【図6】図1のRAID構成で使用されるプロセッサのソフトウェア層を示す略図である。
【図7】図1のRAID構成からデータを読み出すための処理を示すフローチャートである。
【図8】図1のRAID構成を用いるビデオシステムのブロック図である。
Claims (17)
- 複数のディスクアレイ(RAID)装置構成を含むクラスターシステムからデータを読み出す方法であって、
前記クラスターシステムの複数要素の内の要求側要素から、前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取る段階と、
前記クラスターシステムの前記要求側要素に、前記後続の読み出し動作に関わる位置に対応した前記RAID装置内の前記ドライブの状態を示すヒントを返す段階とを含む、クラスターシステムからデータを読み出す方法。 - 前記ヒントが、前記装置の機能が低下しているか、前記装置が使用不能であることを示す、請求項1に記載の方法。
- 前記システムが、前記要求側装置に次の不良バイトオフセット・メッセージを返す、請求項1に記載の方法。
- 前記要求側要素が、前記ドライブは読み飛ばして、代わりに前記RAID装置内の他のドライブの1つから冗長情報及び少なくとも1つのデータブロックを読み出す、請求項1に記載の方法。
- 前記要求側要素が、前記読み飛ばしたドライブからのデータを、前記RAID装置内の他のドライブの1つから読み出した冗長情報から復元する、請求項1に記載の方法。
- パリティ及びデータに排他的論理和演算を実行して、前記読み飛ばしたドライブ上のデータに対応したミッシングデータを復元する段階を更に含む、請求項1に記載の方法。
- 前記RAID構成の第1ディスクに、該ディスクに格納されている第1データブロックを受信装置に伝送するよう要求する段階と、
前記RAID構成の他のディスクに格納されている関連付けられたデータから前記第1データブロックを復元する段階と、
前記復元された第1データブロックを前記受信装置に直接的に伝送する段階とを含む、請求項1に記載の方法。 - 前記復元する段階及び前記伝送する段階が、前記装置の機能が低下しているか、前記装置が使用不能であることを示すヒントの受信に応答して実行される、請求項7に記載の方法。
- 任意のディスクが次の不良バイトオフセットを返し、前記要求側システムが、前記次の不良バイトオフセットを受信し、前記RAIDアレイが不良又は再構築中のドライブを含んでいることを特定する、請求項6に記載の方法。
- 前記ヒントが返されたことが、前記要求側システムにとって、パフォーマンスが低下するのを待たず回復プロセス又は要求プロセスを開始する命令となる、請求項1に記載の方法。
- データブロックを受信装置に伝送するための複数のディスクアレイ(RAID)構成を含むクラスターシステムであって、
任意のクラスター要素が、それ以外のクラスター要素の少なくとも一部にデータを転送できるような態様で結合されている複数のクラスター要素であって、それぞれが、
前記データブロックを格納し、前記格納したブロックを前記受信装置に伝送するよう適合された複数のディスクと、
前記複数のディスクからの読み出し及び該ディスクへの書き込みを制御するためのプロセッサと、
前記RAID装置内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した、前記RAID装置内の前記ドライブの状態を示すヒントを生成するためのプロセスと、を含む複数のクラスター要素を含むクラスターシステム。 - 前記ディスクアレイ内の前記ドライブの状態を示すヒントに応答して、特定のブロックを関連付けられたブロックから復元し、該復元したブロックを受信装置に伝送するための装置を更に含む、請求項11に記載の構成。
- 前記プロセッサが前記ヒントの状態に基づいて回復プロセスを開始する、請求項11に記載の構成。
- 任意のディスク制御機構が次の不良バイトオフセットを返し、前記要求側システムが、前記次の不良バイトオフセットを受信し、前記RAIDアレイが不良又は再構築中のドライブを含んでいることを特定する、請求項11に記載の構成。
- クラスター構成であって、
それぞれがディスクアレイ(RAID)と、該アレイにブロックを書き込み、該アレイからブロックを読み出すよう適合されたプロセッサとを含んだ複数のノードと、
前記ノ―ドの何れかの前記ディスクアレイ内のドライブからの後続の読み出し動作に関わる特定ブロックの次の位置を示すメッセージを受け取り、前記後続の読み出し動作に関わる位置に対応した前記ディスクアレイ内の前記ドライブの状態を示すヒントを生成するためのプロセスとを含む、クラスター構成。 - 第2レベルディスクアレイ内の前記ドライブの状態を示すヒントに応答して、特定のブロックを関連付けられたブロック及びパリティ情報から復元し、該復元したブロックを受信装置に伝送するための装置を更に含む、請求項15に記載の構成。
- 前記ヒントが、前記装置の機能が低下しているか、前記装置が使用不能であることを示す、請求項15に記載の構成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/907,534 US6950966B2 (en) | 2001-07-17 | 2001-07-17 | Data transmission from raid services |
PCT/US2002/022816 WO2003009124A2 (en) | 2001-07-17 | 2002-07-17 | Data transmission from raid devices |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004536404A true JP2004536404A (ja) | 2004-12-02 |
Family
ID=25424264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003514401A Pending JP2004536404A (ja) | 2001-07-17 | 2002-07-17 | Raid装置からのデータ伝送 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6950966B2 (ja) |
EP (1) | EP1417581A2 (ja) |
JP (1) | JP2004536404A (ja) |
AU (1) | AU2002318265A1 (ja) |
CA (1) | CA2454061A1 (ja) |
WO (1) | WO2003009124A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087348A (ja) * | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257309B1 (en) * | 2002-03-05 | 2007-08-14 | Avica Technology Corporation | Distributed storage of audio/video content |
US7275179B1 (en) * | 2003-04-24 | 2007-09-25 | Network Appliance, Inc. | System and method for reducing unrecoverable media errors in a disk subsystem |
US7590801B1 (en) * | 2004-02-12 | 2009-09-15 | Netapp, Inc. | Identifying suspect disks |
JP2005309818A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム |
US7516354B2 (en) | 2004-08-25 | 2009-04-07 | International Business Machines Corporation | Storing parity information for data recovery |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
JP2006171957A (ja) * | 2004-12-14 | 2006-06-29 | Fujitsu Ltd | ストレージ制御装置および方法 |
US7617370B2 (en) * | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
US8019940B2 (en) | 2006-12-06 | 2011-09-13 | Fusion-Io, Inc. | Apparatus, system, and method for a front-end, distributed raid |
US20080201524A1 (en) * | 2007-02-15 | 2008-08-21 | Harris Corporation | System and method for increasing video server storage bandwidth |
US8898536B2 (en) * | 2007-04-27 | 2014-11-25 | Netapp, Inc. | Multi-core engine for detecting bit errors |
US7840837B2 (en) * | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US7836331B1 (en) | 2007-05-15 | 2010-11-16 | Netapp, Inc. | System and method for protecting the contents of memory during error conditions |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8732386B2 (en) * | 2008-03-20 | 2014-05-20 | Sandisk Enterprise IP LLC. | Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory |
US8229945B2 (en) | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
GB2463078B (en) * | 2008-09-02 | 2013-04-17 | Extas Global Ltd | Distributed storage |
US9158579B1 (en) | 2008-11-10 | 2015-10-13 | Netapp, Inc. | System having operation queues corresponding to operation execution time |
US9047351B2 (en) | 2010-04-12 | 2015-06-02 | Sandisk Enterprise Ip Llc | Cluster of processing nodes with distributed global flash memory using commodity server technology |
US8868487B2 (en) | 2010-04-12 | 2014-10-21 | Sandisk Enterprise Ip Llc | Event processing in a flash memory-based object store |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US8725951B2 (en) | 2010-04-12 | 2014-05-13 | Sandisk Enterprise Ip Llc | Efficient flash memory-based object store |
US9164554B2 (en) | 2010-04-12 | 2015-10-20 | Sandisk Enterprise Ip Llc | Non-volatile solid-state storage system supporting high bandwidth and random access |
US8954385B2 (en) | 2010-06-28 | 2015-02-10 | Sandisk Enterprise Ip Llc | Efficient recovery of transactional data stores |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8732426B2 (en) * | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8694733B2 (en) | 2011-01-03 | 2014-04-08 | Sandisk Enterprise Ip Llc | Slave consistency in a synchronous replication environment |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
US8924770B2 (en) * | 2011-07-06 | 2014-12-30 | Cleversafe, Inc. | Rebuilding a data slice of a maintenance free storage container |
GB2492981B (en) * | 2011-07-18 | 2014-03-26 | Qando Service Inc | Data reconstruction |
US9135064B2 (en) | 2012-03-07 | 2015-09-15 | Sandisk Enterprise Ip Llc | Fine grained adaptive throttling of background processes |
US20130332970A1 (en) * | 2012-06-08 | 2013-12-12 | Samsung Electronics Co., Ltd. | Method and apparatus for reproducing streaming playlist and information storage medium storing streaming playlist |
US8909605B1 (en) * | 2013-02-28 | 2014-12-09 | Emc Corporation | Method and system for accelerating data movement using change information concerning difference between current and previous data movements |
US9990263B1 (en) * | 2015-03-20 | 2018-06-05 | Tintri Inc. | Efficient use of spare device(s) associated with a group of devices |
US10552048B2 (en) * | 2015-05-12 | 2020-02-04 | SK Hynix Inc. | Reduction of maximum latency using dynamic self-tuning for redundant array of independent disks |
US10761743B1 (en) | 2017-07-17 | 2020-09-01 | EMC IP Holding Company LLC | Establishing data reliability groups within a geographically distributed data storage environment |
US11151037B2 (en) | 2018-04-12 | 2021-10-19 | International Business Machines Corporation | Using track locks and stride group locks to manage cache operations |
US10606776B2 (en) | 2018-04-16 | 2020-03-31 | International Business Machines Corporation | Adding dummy requests to a submission queue to manage processing queued requests according to priorities of the queued requests |
US10884849B2 (en) | 2018-04-27 | 2021-01-05 | International Business Machines Corporation | Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data |
US10776013B2 (en) | 2018-04-27 | 2020-09-15 | International Business Machines Corporation | Performing workload balancing of tracks in storage areas assigned to processing units |
US10831597B2 (en) | 2018-04-27 | 2020-11-10 | International Business Machines Corporation | Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data |
CN110515761B (zh) | 2018-05-22 | 2022-06-03 | 杭州海康威视数字技术股份有限公司 | 一种数据获取方法及装置 |
US11436203B2 (en) | 2018-11-02 | 2022-09-06 | EMC IP Holding Company LLC | Scaling out geographically diverse storage |
US11748004B2 (en) | 2019-05-03 | 2023-09-05 | EMC IP Holding Company LLC | Data replication using active and passive data storage modes |
US11449399B2 (en) | 2019-07-30 | 2022-09-20 | EMC IP Holding Company LLC | Mitigating real node failure of a doubly mapped redundant array of independent nodes |
US11467906B2 (en) * | 2019-08-02 | 2022-10-11 | EMC IP Holding Company LLC | Storage system resource rebuild based on input-output operation indicator |
US11449248B2 (en) | 2019-09-26 | 2022-09-20 | EMC IP Holding Company LLC | Mapped redundant array of independent data storage regions |
US11435910B2 (en) | 2019-10-31 | 2022-09-06 | EMC IP Holding Company LLC | Heterogeneous mapped redundant array of independent nodes for data storage |
US11435957B2 (en) | 2019-11-27 | 2022-09-06 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes |
US11112978B2 (en) * | 2020-02-04 | 2021-09-07 | EMC IP Holding Company LLC | Routing to obtain user data in a geographically distributed data storage environment |
US11507308B2 (en) | 2020-03-30 | 2022-11-22 | EMC IP Holding Company LLC | Disk access event control for mapped nodes supported by a real cluster storage system |
US11693983B2 (en) | 2020-10-28 | 2023-07-04 | EMC IP Holding Company LLC | Data protection via commutative erasure coding in a geographically diverse data storage system |
US11847141B2 (en) | 2021-01-19 | 2023-12-19 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes employing mapped reliability groups for data storage |
US11625174B2 (en) | 2021-01-20 | 2023-04-11 | EMC IP Holding Company LLC | Parity allocation for a virtual redundant array of independent disks |
US11354191B1 (en) | 2021-05-28 | 2022-06-07 | EMC IP Holding Company LLC | Erasure coding in a large geographically diverse data storage system |
US11449234B1 (en) | 2021-05-28 | 2022-09-20 | EMC IP Holding Company LLC | Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2270791B (en) | 1992-09-21 | 1996-07-17 | Grass Valley Group | Disk-based digital video recorder |
US6301711B1 (en) * | 1993-11-30 | 2001-10-09 | International Business Machines Corporation | System and method for the network support of full motion video using a redundant array of inexpensive disks |
EP0707267A3 (en) * | 1994-10-12 | 1996-07-03 | Ibm | Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring |
US6567926B2 (en) * | 1995-10-24 | 2003-05-20 | Seachange International, Inc. | Loosely coupled mass storage computer cluster |
US6449730B2 (en) * | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
GB2312319B (en) * | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
US6185368B1 (en) * | 1996-07-29 | 2001-02-06 | Sony Corporation | Redundant disk array with real-time lost data reconstruction |
US5928327A (en) * | 1996-08-08 | 1999-07-27 | Wang; Pong-Sheng | System and process for delivering digital data on demand |
EP1040419B1 (en) | 1997-12-24 | 2002-08-07 | Avid Technology, Inc. | Computer system for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6631477B1 (en) * | 1998-03-13 | 2003-10-07 | Emc Corporation | Host system for mass storage business continuance volumes |
US6530035B1 (en) * | 1998-10-23 | 2003-03-04 | Oracle Corporation | Method and system for managing storage systems containing redundancy data |
US6327672B1 (en) * | 1998-12-31 | 2001-12-04 | Lsi Logic Corporation | Multiple drive failure tolerant raid system |
US6321345B1 (en) | 1999-03-01 | 2001-11-20 | Seachange Systems, Inc. | Slow response in redundant arrays of inexpensive disks |
WO2000067255A1 (fr) * | 1999-04-30 | 2000-11-09 | Fujitsu Limited | Unite de disques |
US6466978B1 (en) | 1999-07-28 | 2002-10-15 | Matsushita Electric Industrial Co., Ltd. | Multimedia file systems using file managers located on clients for managing network attached storage devices |
US6647516B1 (en) * | 2000-04-19 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Fault tolerant data storage systems and methods of operating a fault tolerant data storage system |
US7127668B2 (en) * | 2000-06-15 | 2006-10-24 | Datadirect Networks, Inc. | Data management architecture |
US6996742B2 (en) * | 2000-11-28 | 2006-02-07 | Sedna Patent Services, Llc | Method for regenerating and streaming content from a video server using RAID 5 data striping |
KR100388498B1 (ko) * | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
US6775791B2 (en) * | 2001-01-26 | 2004-08-10 | Dell Products L.P. | Replaceable memory modules with parity-based data recovery |
US6820211B2 (en) * | 2001-06-28 | 2004-11-16 | International Business Machines Corporation | System and method for servicing requests to a storage array |
US6633955B1 (en) * | 2001-09-27 | 2003-10-14 | Emc Corporation | Four way support for dynamic mirror service policy |
-
2001
- 2001-07-17 US US09/907,534 patent/US6950966B2/en not_active Expired - Lifetime
-
2002
- 2002-07-17 CA CA002454061A patent/CA2454061A1/en not_active Abandoned
- 2002-07-17 JP JP2003514401A patent/JP2004536404A/ja active Pending
- 2002-07-17 AU AU2002318265A patent/AU2002318265A1/en not_active Abandoned
- 2002-07-17 WO PCT/US2002/022816 patent/WO2003009124A2/en not_active Application Discontinuation
- 2002-07-17 EP EP02748198A patent/EP1417581A2/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087348A (ja) * | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2002318265A1 (en) | 2003-03-03 |
WO2003009124A3 (en) | 2004-02-19 |
EP1417581A2 (en) | 2004-05-12 |
US6950966B2 (en) | 2005-09-27 |
US20030016596A1 (en) | 2003-01-23 |
WO2003009124A2 (en) | 2003-01-30 |
CA2454061A1 (en) | 2003-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004536404A (ja) | Raid装置からのデータ伝送 | |
EP1166418B1 (en) | Two-level raid system with data reconstruction in case of a slow disk response | |
US7424519B2 (en) | Distributed storage system, storage device and method of copying data | |
US6922752B2 (en) | Storage system using fast storage devices for storing redundant data | |
EP0860017B1 (en) | Loosely coupled mass storage computer cluster | |
US6557114B2 (en) | Loosely coupled mass storage computer cluster | |
US6567926B2 (en) | Loosely coupled mass storage computer cluster | |
JP2001518665A (ja) | 分散型計算ノードの高信頼アレイ | |
US20090177918A1 (en) | Storage redundant array of independent drives | |
WO1997015942A9 (en) | Loosely coupled mass storage computer cluster | |
JP2004070712A (ja) | データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム | |
JP2009545062A (ja) | RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ | |
CN113190377B (zh) | 一种基于分布式存储系统的可靠冗余方法及设备 | |
JP3096392B2 (ja) | Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置 | |
CN113326006B (zh) | 一种基于纠删码的分布式块存储系统 | |
JP4144549B2 (ja) | データ保存システムおよび該システムの制御方法 | |
US20020116659A1 (en) | Fault tolerant storage system and method | |
WO2009070355A2 (en) | Systems and methods for providing redundant data storage | |
CN107885615B (zh) | 分布式存储数据的复原方法与系统 |