JP3283530B2 - ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム - Google Patents

ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム

Info

Publication number
JP3283530B2
JP3283530B2 JP53660698A JP53660698A JP3283530B2 JP 3283530 B2 JP3283530 B2 JP 3283530B2 JP 53660698 A JP53660698 A JP 53660698A JP 53660698 A JP53660698 A JP 53660698A JP 3283530 B2 JP3283530 B2 JP 3283530B2
Authority
JP
Japan
Prior art keywords
validation
sector
sectors
fields
group
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
JP53660698A
Other languages
English (en)
Other versions
JP2000510273A (ja
Inventor
ピーターソン,ゲイリー・エス
Original Assignee
データー・ゼネラル・コーポレーション
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 データー・ゼネラル・コーポレーション filed Critical データー・ゼネラル・コーポレーション
Publication of JP2000510273A publication Critical patent/JP2000510273A/ja
Application granted granted Critical
Publication of JP3283530B2 publication Critical patent/JP3283530B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】 緒 言 本発明は、データ処理システムにおいて用いるための
可用性が高いディスク・アレイ(high availability di
sk array)に関し、更に特定すれば、システムの動作中
に発生し得る種々のタイプの停電状態に対処するための
改良された技法に関するものである。
発明の背景 高度のディスク可用性を備えた特殊ディスク・アレイ
・システムの1つに、安価なディスクの冗長アレイ(RA
ID:Redundant Array of Inexpensive Disks)としばし
ば呼ばれるものがある。かかるシステムは、ホスト・コ
ンピュータの必要性に応答して、アレイの1つ以上のデ
ータ記憶ディスクにアクセスするためにインテリジェン
ト入出力(I/O)プロセッサを用い、アレイの各データ
記憶ディスクは、ホスト・コンピュータには事実上単一
のディスク・ドライブとして見えるように、I/O制御プ
ロセッサを介して動作するディスク・ドライブ回路によ
って駆動される。データ記憶ディスク・モジュールは、
例えば、ディスク、ディスク・ドライバ回路、および電
力/制御回路を備えている。あるいは、かかるシステム
の実施態様によっては、I/Oプロセッサを使用する必要
がなく、ホスト・コンピュータが、アレイを形成するデ
ィスク・モジュールと直接通信することが可能な場合も
ある。
例えば、5つのデータ記憶ディスクのアレイを備える
特定のRAID−5に関して言えば、各ディスクは、複数の
データ記憶セクタを有し、5つのディスクの各々におけ
る対応するセクタのことを、セクタ群またはセクタの
「ストライプ」と呼んでいる。各ストライプは、冗長デ
ータ即ちパリティ・データを保持するセクタを1つ含
む。ストライプ内の残りのセクタはユーザ・データを格
納する。かかる冗長性の使用により、ストライプ内にお
いてユーザ・データ・セクタが破損した場合に、ユーザ
・データの復元(reconstruction)が可能となる。
ユーザ・データ・ディスク・モジュールが故障した場
合、ストライプのパリティ・セクタ内において使用可能
な冗長エントリ即ちパリティ・エントリ、および当該ス
トライプの破損していないユーザ・データ・セクタ内の
データを用いて、故障したディスクのセクタ内にあった
ユーザ・データを効果的に復元することにより、故障し
たディスクのセクタのユーザ・データにアクセスするこ
とができない場合でも、このように復元したデータを用
いて、システムが動作し続けることが可能となる。
しかしながら、ある種の故障が発生すると、アレイは
統一を欠いた(incoherent)即ち事実上使用不能の状態
になってしまう可能性がある。例えば、停電が発生した
場合、即ち、I/Oプロセッサ(IOP)への電力が絶たれた
場合、またはI/Oプロセッサ自体がハードウエアの欠陥
のために故障した場合、またはディスク・ドライブ自体
への電力が絶たれた場合等の状況が発生する可能性があ
る。更に、例えば、停電の結果、新たなIOPを用いて故
障したIOPと交換しなければならなくなった場合、そし
て、新たなIOPを古いIOPと交換した後に、書き込み動作
がアレイのどのセクタに行われていたのかを確認する方
法がない場合、別の問題が生ずる虞れがある。
RAID−5システムの元来の設計では処理することが不
可能な、かかる停電状況を処理するための技法が考案さ
れている。従来のディスク・ドライブを用いてRAID−5
型の書き込みを行うには、典型的に、数個の別個のコマ
ンドおよび関連するデータ転送を必要とする。RAID−5
の書き込みは、ターゲット・データ・ドライブから古い
データを読み出すコマンドから開始する。次に、新たな
データがデータ・ドライブに書き込まれる。新旧データ
のXORを取り部分積(partial product)を求めることに
より、部分積が得られる。読み取りコマンドを発行し
て、パリティ・セクタを含むディスク・ドライブから古
いパリティを読み取る。部分積と古いパリティとのXOR
を取る。最後に、XORの結果をパリティ・セクタに書き
込む。障害によって書き込みが中断された場合、中断さ
れた書き込みがどこから開始されたかを確認する機構が
必要となる。
この状況に対処するために、本願の譲受人であるData
General Corporation(データ・ゼネラル社)は、従来
技術のシステムにおいて、セクタの終端に追加のバイト
を用い、チェックサム、シェッド・スタンプ(shed sta
mp)、タイム・スタンプおよびライト・スタンプと呼ば
れていたものを含ませていた。典型的に、1セクタは、
512バイトのホスト・データおよび8バイトの妥当性検
査データ(validation data)を含む。チェックサム
は、ホスト・データが正しく、かつ正しいディスク・セ
クタ上にあることを検証する。シェッド・スタンプは、
特定のセクタ群のパリティ・セクタがパリティ・データ
を含むかシェッド・データを含むかについて確認するた
めに用いられる一連のビットである。シェッド・データ
は、アレイが低下モード(degraded mode)で動作して
いるとき、言い換えると、ディスク・ドライブの1つが
動作していないときに用いられる。故障したディスクの
セクタ内のデータは、故障していないセクタ内のパリテ
ィ・セクタおよびデータから再構成される。そして再構
成されたデータは、パリティ・セクタ内のパリティ・エ
ントリを置き換えるためにパリティ・セクタに書き込ま
れ(「パリティ・シェッド」操作)、そのようなデータ
はシェッド・データ、即ちパリティ・エントリを置き換
えたデータとしてマークされる。シェッド・データは、
米国特許第5,305,326号(Solomon et al.(ソロモンそ
の他))に記載されており、その開示内容は、この言及
により本願にも含まれるものとする。
タイム・スタンプは、最後の大規模な更新からのデー
タ・セクタの劣化(corruption)に対するチェックを行
うのに用いられる。大規模なストライプの更新(即ち、
ストライプ内の全てのセクタを更新させる書き込みコマ
ンド)が行われる毎に、当該特定ストライプに属するセ
クタの各々に、タイム・スタンプを設定する。タイム・
スタンプは、一意の乱数であり、大規模なストライプの
更新時に、ストライプ内のセクタの各々に書き込まれ
る。その後、当該セクタ内のデータに何らかの変更があ
った場合、タイム・スタンプは無効化される。このよう
に、タイム・スタンプは、最後の大規模なストライプの
更新後に更新されていないセクタの妥当性検査機構を与
える。
ライト・スタンプは、一連のビットであり、セクタ群
内の各データ記憶ディスク毎に1ビットずつある。大規
模なストライプの更新の間、ライト・スタンプは全て0
にセットされる。書き込みが行われる毎に、更新された
ディスク・ドライブに対応するビットが、更新対象のド
ライブにおいて反転される。また、書き込みの完了時
に、パリティ・ドライブにおいても対応するビットが反
転される。書き込みが行われたディスク・ドライブに対
応するライト・スタンプ・ビットを反転するには、古い
値を知るために予備読み取りを行わなければならない。
こうして初めて新しい値を何にすべきかがわかる。予備
読み取りは、従来のディスク・ドライブ内へのRAID−5
書き込みの間に、パリティ・セクタに書き込むための部
分積を取り出すためにいずれにしても行われる。ライト
・スタンプは、最後の大規模なストライプの更新後に更
新されたセクタの妥当性検査機構を与えるために用いら
れる。
ドライブに常駐するXOR演算によってパリティの更新
を調整する機能を有するデータ記憶ディスク・ドライブ
が、間もなく市場において入手可能となるであろう。か
かるディスク・ドライブを、ドライブに常駐するXORモ
ードで動作させる場合、ホストは単にXOR−WRITEコマン
ドをディスク・ドライブに発行するだけである。このコ
マンドは、データ・ドライブに、ディスクから古いデー
タを読み出させ、新しいデータをディスクに書き込ま
せ、部分積を計算させ、部分積XOR−WRITEをパリティ・
ドライブに発行させ、次いで更新全体が完了したときに
ステータスをホストに戻させる。このように、ホスト
は、単一のコマンドを発行しさえすればよい。パリティ
は、ディスク・ドライブによって更新され、読み取りコ
マンドの必要は全くない。従来技術のライト・スタンプ
による妥当性検査機構を、ドライブを基本とするXORを
実行するディスク・ドライブに実施すると、システムの
動作が遅くなる。したがって、ライト・スタンプの場合
のような予備読み込みを伴わない、新たな妥当性検査シ
ステムを開発することが望ましくなってきている。
発明の概要 本発明によれば、ストライプ、即ち、セクタ群は、複
数のユーザ・データ・セクタおよび1つのパリティ・セ
クタを含む。群内のセクタの各々は、ディスク・アレイ
内の異なるディスク・ドライブ上に位置する。群内のセ
クタの各々は、複数の妥当性検査フィールドを含む。セ
クタ上の妥当性検査フィールドの各々は、群内の残りの
複数のセクタ上に対応する複数のフィールドを有する。
ユーザ・データ・セクタの各々は、その妥当性検査スタ
ンプを配置するために、少なくとも2つの選択された妥
当性検査フィールドに割り当てられる。本好適実施形態
における妥当性検査スタンプは、それぞれのディスク・
ドライブへの書き込み時にランダムに発生する一意の数
値である。同一群内の2つのユーザ・データ・セクタ
が、同一の選択された妥当性検査フィールド内にそれぞ
れの妥当性検査スタンプを有さないように、各ユーザ・
データ・セクタ毎の複数のフィールドが割り当てられ
る。フィールドの重複は1つだけ許されるが、選択され
た妥当性検査フィールドの同一集合において、2つのユ
ーザ・データ・セクタがそれらの妥当性検査スタンプを
有することはない。パリティ・セクタは、対応する妥当
性検査フィールドの組み合わせに対応する妥当性検査フ
ィールドの各々に、パリティ・エントリを含む。ドライ
ブに常駐するXORを用いる場合、いずれの所与の妥当性
検査フィールドに対するパリティ・エントリも、当該群
のユーザ・データ・セクタ内の対応する妥当性検査フィ
ールドの全てのXORとなる。
セクタ群内のディスク・ドライブの1つが動作不能と
なった場合、当該ディスク・ドライブが割り当てられた
妥当性検査フィールドは無効となる。しかしながら、他
のディスク・ドライブがいずれも、それらの妥当性検査
スタンプのためにのみそれらの選択された妥当性検査フ
ィールドを用いているのではないので、有効な妥当性検
査フィールド内に存在する妥当性検査スタンプが、常に
各ディスク・ドライブ毎にある。このように、本発明の
妥当性検査方法は、セクタ群が正常な完全動作状態にあ
る場合だけでなく、低下モードにある場合にも動作す
る。
本発明のその他の目的および利点は、図面と関連付け
た、以下の本発明の好適実施形態の説明の間に明らかと
なろう。
図面の簡単な説明 図1は、本発明によってセクタ群上にどのようにデー
タおよび妥当性検査ビットを配列するかを示す概略マッ
プである。
図2は、本発明によってどのようにして妥当性検査ス
タンプの割り当てを行うのかを示す概略マップである。
図3は、図2の妥当性検査スタンプの配列が、どのよ
うにしてディスクを失った低下モードを処理するのかを
示す図である。
好適実施形態の詳細な説明 本発明は、ディスク・アレイ上で実現される。複数の
データ記憶ディスクが、複数のディスクにまたがって指
定されるストライプ即ちセクタ群によって、互いに関連
付けられている。各セクタ群は、複数のユーザ・データ
記憶セクタと単一のパリティ・セクタとを有する。群内
の各セクタは、データ記憶ディスクの異なる1つの上に
位置する。RAID−5セクタ群によれば、パリティ・セク
タは、当該セクタ群内の全ユーザ・データ・セクタのXO
Rを収容する。XORは、データ書き込み、予備読み出しお
よびパリティ書き込みから成る従来からの3ステップ・
プロセス、またはドライブに常駐するXOR演算によって
可能となる1ステップの書き込みから得ることができ
る。データ記憶ディスクのアレイには、1つのI/Oプロ
セッサによってアクセスする。RAIDアルゴリズムにした
がってディスク・アレイを制御するI/Oプロセッサの設
計は、計算機の関連分野における当業者には公知であ
る。
これより図1を参照し、本発明の教示によるディスク
・アレイ内におけるデータの配列について説明する。5
つのデータ記憶ディスク上に位置する5つのセクタから
成るセクタ群が図1に示されている。しかしながら、本
発明は、特定のサイズのセクタ群に限定される訳ではな
い。例えば、セクタ群は、1つのパリティ・セクタと10
個のデータ・セクタとを含む11個のディスク・ドライブ
に拡張することも可能である。図1では、1つのパリテ
ィ・セクタに加えてセクタ群を構成する、4つのデータ
記憶セクタを示す。セクタの各々は、異なるデータ記憶
ディスク上に位置する。各データ記憶ディスク上には、
多数のセクタが格納されている。本発明を説明するため
には、単一のセクタ群を図示するだけでよい。
ユーザ・データ・セクタの各々は、ユーザ・データ・
フィールドを含む。本好適実施形態によれば、これは51
2バイトである。これは、従来のデータ記憶装置に採用
されている典型的なセクタ・サイズである。ホスト・コ
ンピュータからのデータは、複数のユーザ・データ・セ
クタに格納される。群内のセクタの1つは、パリティ・
セクタであり、複数のユーザ・データ・セクタのために
パリティを与える。データ記憶セクタの1つが破損した
場合、パリティ・セクタを、動作中の複数のデータ記憶
ディスクと共に用いて、機能しないデータ記憶装置から
のユーザ・データを復元することができる。RAID−5ア
ルゴリズムによれば、パリティ・セクタは、セクタ群内
の残りのユーザ・セクタのユーザ・データ・セクタのXO
Rを取ることによって形成する。
各セクタ上に追加のデータを付加し、停電またはその
他の障害状態下におけるデータの処理に備える。本好適
実施形態によれば、ユーザ・データに加えて、チェック
サム・フィールドを備える。また、ディスク・ドライブ
の各々の上には、パリティ無効フィールドも備えること
ができる。パリティ無効フィールドは単一のビットのみ
でよい。パリティ無効ビットは、複数のユーザ・データ
・セクタで常に0であり、したがってこれらのビット全
てのXORを取ると、パリティ・ドライブでは常に0にな
る。パリティ無効ビットは、直接書き込みによってのみ
パリティ・ドライブ上でセットされる。部分的なRAID−
5更新が、セクタ群の機能低下(degraded)検証の間に
アクティブなドライブ上で検出された場合、パリティ・
セクタにおいてこのビットをセットし、データが無効で
あることを示す。こうして、パリティ・セクタ内のデー
タは使用されないことになる。パリティ無効ビットがセ
ットされていない場合でも、データの妥当性のために同
様にデータ・チェックサムをチェックする。
本好適実施形態は、更に、パリティ・セクタが、パリ
ティ・データを収容しているか動作不能となったデータ
記憶ディスクからのシェッド・データを収容しているか
を示す、シェッド・スタンプ・フィールドも含む。デー
タ記憶装置が故障した場合、パリティ・データを用い
て、故障したデータ記憶ディスクのデータを復元する。
復元されたデータは、パリティ・データを置換して、パ
リティ・ディスク・ドライブ内に格納することができ
る。シェッド・スタンプをセットすると、ディスク・ド
ライブが、通常のパリティ・データではなく、故障した
ディスクからのシェッド・データを収容していることを
示す。あるセクタ群においてデータ記憶ディスクの内1
つが故障した場合、このセクタ群は低下モードで動作し
ており、パリティはもはや維持され得ない。したがっ
て、パリティ・データを維持しておき必要となる毎に故
障したディスクのユーザ・データを復元する選択肢と、
パリティ・データを復元したシェッド・データと置換し
て、故障したディスクからのユーザ・データに対してパ
リティ・ドライブへ直接アクセス可能にする選択肢とが
ある。
本発明によれば、妥当性検査スタンプ・エリアには、
多数の妥当性検査フィールドが備えられている。妥当性
検査スタンプ・エリアは、従来技術のタイム・スタンプ
およびライト・スタンプの機能を実行する。各ディスク
・ドライブの妥当性検査フィールドを更新し、チェック
サムを更新する毎に、パリティ・セクタはセクタ群内の
妥当性検査エリアおよびチェックサム全てのXORを受け
取る。本発明は、ドライブに常駐するXORを演算し、パ
リティ・ドライブを更新するデータ記憶ディスクとでも
使用可能である。
次に図2を参照し、本発明の妥当性検査エリアについ
て更に詳しく説明する。図2は、5つの妥当性検査スタ
ンプ・フィールドに分割された、妥当性検査スタンプ・
エリアを示す。図2に示す配列は、単一のセクタ群内に
10個のデータ記憶ディスク・ドライブおよび1つのパリ
ティ・ドライブまでを収容可能とするシステムのために
設計したものである。この好適な実施形態によれば、各
データ記憶ディスク・ドライブには、その妥当性検査ス
タンプを格納するために、2つの妥当性検査スタンプ・
フィールドが割り当てられている。本発明は、3つの妥
当性検査フィールドを各データ記憶ディスク・ドライブ
に割り当てることによって、非常に簡単に実現すること
ができる。例えば、未指定フィールドを指定フィールド
に、およびその逆に切り替えることによって、作業用三
フィールド割り当て構成(a working three field assi
gnment arrangement)が得られる。本発明が効率的な妥
当性検査エリアを備えるためには、各データ記憶ディス
ク・ドライブには、その妥当性検査スタンプのために少
なくとも2つの妥当性検査フィールドを割り当てなけれ
ばならず、妥当性検査フィールドの数は、セクタ群内に
許されるユーザ・データ・セクタの数よりも小さい。妥
当性検査フィールドの割り当ては、どの2つのユーザ・
データ・セクタも、対応する妥当性検査フィールドの同
一集合に割り当てられないように構成する。
更に、妥当性検査フィールドの各々が、セクタ群全体
にわたって、ほぼ同数の妥当性検査スタンプを有するよ
うに、妥当性検査スタンプを分散する。図2では、妥当
性検査フィールドの各々は4つの妥当性検査スタンプを
有する。本発明は、例えば、図に示すように、データ・
ドライブNo.9が含まれておらず、したがって妥当性検査
スタンプ・フィールドの2つが妥当性検査スタンプを3
つのみ含む場合でも同様に作用する。
妥当性検査技法のために失われるメモリ量を最少に抑
えるためには、使用する妥当性検査フィールドの数はで
きるだけ少ない方がよいが、本発明を実行するために必
要な妥当性検査フィールドの最小数がある。例えば、2
つの妥当性検査フィールドを、各ディスク・ドライブに
対してその妥当性検査スタンプのために割り当てる場
合、合計で少なくともm+2個のフィールドがなければ
ならない。ここで、mは、1からmまでの総和がデータ
・ドライブの数より少ない、mの最大値である。したが
って、10個のデータ・ディスク・ドライブと1つのパリ
ティ・ドライブを有するシステムでは、5つの妥当性検
査フィールドが必要となる。1+2+3の和は10より小
さいが、1+2+3+4はそうではない。必要な妥当性
検査フィールドの最小数は、3+2である。何故なら、
3が、このアルゴリズムを満足するmの最大値であるか
らである。
妥当性検査スタンプは、書き込み時にドライブに割り
当てられる乱数である。大規模なストライプの更新の
間、各ディスク・ドライブには、ディスク・アレイ・コ
ントローラ・ファームウエアによって、その妥当性検査
スタンプに乱数が割り当てられる。各ドライブの妥当性
検査スタンプは、その割り当てられた妥当性検査フィー
ルド内に置かれる。当該ドライブに対する残りの妥当性
検査フィールドは0にセットされたままとなる。図2に
示す実施形態の妥当性検査スタンプは、12ビットのラン
ダム値である。大規模なストライプ更新の後、RAID−5
の書き込みによってディスク・ドライブが更新されるに
つれ、各データ・ドライブは、その妥当性検査スタンプ
に対する新たな乱数で書き換えられ、当該ドライブに割
り当てられた妥当性検査フィールド内に置かれる。この
ようにユーザ・データ・セクタを更新すると、セクタ群
全体を通じたデータのXOR演算によって、パリティ・ド
ライブも更新される。
本発明の妥当性検査スタンプ・エリアの値は、図3に
関して見ることができる。図3は、ディスク・ドライブ
の1つが故障した場合に何が起こるかを示す。ディスク
・ドライブの1つが妥当性検査時に失われていても、本
発明の妥当性検査エリアによって、全てのデータ記憶デ
ィスク・ドライブの完全な妥当性検査が可能となる。図
3における動作からデータ・ドライブ3が除去される場
合、妥当性検査スタンプ・フィールドの2つ、およびそ
れに対応するフィールドの妥当性を検査できないことを
注記しておく。これらは、故障したディスク・ドライブ
に対する妥当性検査スタンプを収容するフィールドに対
応する妥当性検査フィールド全てを含む。これらのフィ
ールドは、妥当性を検査することができない。何故なら
全てのデータがそろっていないからである。しかしなが
ら、故障したデータ・ドライブに割り当てられた妥当性
フィールドに対応しない妥当性フィールドにおいて、そ
の妥当性検査スタンプの第2コピーを各ディスク・ドラ
イブに供給することにより、残りのドライブ全ては未だ
妥当性を検査することができる。残りのデータ・ドライ
ブの各々は、妥当性検査が可能な少なくとも1つの妥当
性検査フィールドを有する。2つのディスク・ドライブ
が、当該セクタ群内の別のディスク・ドライブに割り当
てられた2つの妥当性検査フィールドに同一に対応する
2つの妥当性検査フィールドを使用するということはな
い。したがって、各ディスク・ドライブは、ディスク・
ドライブの1つの損失によって影響を受けていないフィ
ールド内に、妥当性検査スタンプを有する。妥当性検査
エリアは、ディスク・ドライブが故障した低下モードに
おいてでさえも、データ・ドライブに対するストライプ
・コヒーレンシ・チェック(stripe coherency check)
を可能にするという利点がある。
この妥当性検査スタンプ方法が部分的書き込みを検出
できないのは、部分的書き込みが行われるときに妥当性
検査スタンプに書き込まれる新たな乱数が、偶然、当該
妥当性検査スタンプに書き込まれた古い乱数と同一であ
る場合だけである。12ビットの妥当性検査スタンプで
は、これは、99.976%のデータ範囲に換算される。妥当
性検査スタンプによってもたらされる高い信頼性は、妥
当性検査エリアが必要とする余分なデータ記憶領域を犠
牲として得られるものである。本好適実施形態において
実現される妥当性検査エリアおよびその他のチェック機
構が必要とするディスク・セクタ・サイズは、524バイ
トである。
妥当性検査システムは、ある種の動作の実行中に特に
効果がある。これについて次に説明する。検証動作は、
あるセクタ群のユーザ・データ・セクタ内の全てのデー
タが有効か否かについて判定を行う際に用いられる。全
てのデータ・ドライブが存在する場合、書き込み動作
が、検証を行っている最中のデータと干渉しないよう
に、セクタ群をロックすることによって(即ち、群に排
他的なアクセスを得ることによって)、検証動作を進め
る。次に、当該セクタ群のデータ・ドライブおよびパリ
ティ・ドライブ全てのXORを求めるコマンドを送る。デ
ータが有効な場合、データ・ドライブおよびパリティ・
ドライブのXORを取った結果は、あらゆる場合において
0となるはずである。シェッド・スタンプが0でない場
合、これは、パリティ・ドライブがパリティ・データで
はなく、シェッド・データを収容しており、実際には検
証を行うのが不可能であることを意味する。しかしなが
ら、シェッド・データは、動作に復帰したデータ・ドラ
イブへ読み出し、書き込むことができる。次いで、パリ
ティ・セクタを再構築することができ、その後にはセク
タ群は検証の準備が整っている。このコマンドにより、
妥当性検査エリア、チェックサムまたはデータ・バイト
のいずれかから、0でない結果が得られた場合、パリテ
ィ・ドライブは、正しいパリティ・データを含むように
訂正される。次いで、セクタ群のロックを解除すること
ができる。検証動作によって、RAIDアルゴリズムがパリ
ティ・セクタ内に完全に実行されたことが確かめられ
る。
検証動作は、1つのデータ・ドライブが失われた低下
モードでは多少異なる動作を行う。セクタ群をロックす
る。当該セクタ群内のユーザ・データ・セクタおよびパ
リティ・セクタ全てのXORを求めるコマンドを発行す
る。結果バッファの妥当性検査フィールド内において、
失われたディスク・ドライブに割り当てられたフィール
ドに対応するフィールドのビットが0となる。シェッド
・スタンプが0でない場合、そのようになったのは、パ
リティ・セクタが、通常のパリティ・データの代わり
に、失われたドライブからのシェッド・データを収容す
るように変換されていたからである。結果的に得られた
データにおいて、シェッド・スタンプがゼロであり、妥
当性検査エリア、チェックサムまたはデータ・バイトの
いずれかが0でない場合、データ・ドライブ上でRAID−
5書き込みは中断されたことになる。失われたパリティ
は、故障したディスク・ドライブの故に再生することが
できない。この時点において、直接書き込みコマンドを
用いて、パリティ・ドライブ上にパリティ無効ビットを
セットする。故障したディスク・ドライブのデータは、
この場合利用できず、データ記憶システムによって復元
することはできない。次に、セクタ群のロックを解除す
る。すると、セクタ群は、パリティなしに、その低下モ
ードで使用可能となる。この状態でセクタ群を使用し続
けることを選択するか否かは、ホスト次第である。
再構築動作は、通常、新たなデータ・ドライブがセク
タ群に戻されたときに行われる。セクタ群をロックす
る。パリティ・セクタを読み出す。パリティ無効ビット
がセットされている場合、新たなデータ・ドライブはゼ
ロおよび無効のチェックサムで満たされる。パリティ無
効ビットは、新たなディスクに対して有効なデータが利
用できないことを示す。次に、パリティ・データを再構
築させるために、パリティ・ドライブに再構築コマンド
を更に発行する。シェッド・スタンプがセットされてい
る場合、新たなデータ・ドライブに、パリティ・ドライ
ブからのシェッド・データを書き込む。次に、パリティ
・データを再構築させるために、再構築コマンドを再度
パリティ・ドライブに発行する。パリティ無効もシェッ
ド・スタンプもセットされていない場合、パリティ・セ
クタおよびアクティブなディスク・ドライブのユーザ・
データの全てを用いて、新たなデータ・ドライブのデー
タを再構築する。必要であれば、セクタ群のロックを解
除する前に、検証動作を行うことができる。
上述の実施形態に対する種々の変更や修正も、当業者
には明白であることは理解されよう。例えば、妥当性検
査スタンプは、任意のビット数でよい。使用する妥当性
検査フィールドの数は、セクタ群内で許されるディスク
・ドライブの数に依存してもよい。また、ディスク・ド
ライブ当たり使用される妥当性検査スタンプの数は、セ
クタ群内で許されるディスク・ドライブの数に依存して
もよい。これらおよびその他の変更は、本発明の精神お
よび範囲から逸脱することなく、更にその付随する利点
を減ずることなく、行うことができる。したがって、か
かる変更および修正は、以下の請求の範囲に該当するこ
とを意図するものである。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも1つのI/Oプロセッサによって
    制御される複数のデータ記憶ディスクからなるアレイで
    あって、 前記複数のデータ記憶ディスクは、前記少なくとも1つ
    のI/Oプロセッサによって複数のセクタ群に編成された
    複数のユーザ・データ記憶セクタと複数のパリティ・セ
    クタとを有し、各セクタ群は、1つのパリティ・セクタ
    と、許された数を超えない数のユーザ・データ・セクタ
    とを含み、前記群内のセクタの各々が前記データ記憶デ
    ィスクの異なるものの上に位置し、 各セクタ群が、 前記セクタ群のパリティ・セクタおよび前記複数のユー
    ザ・データ・セクタの各々にあるユーザ・データ・フィ
    ールドと、 前記セクタ群のパリティ・セクタおよび前記複数のユー
    ザ・データ・セクタの各々にあるn個の妥当性検査フィ
    ールドであって、各々、前記セクタ群内の他のセクタの
    各々に対応する妥当性検査フィールドを有し、nが許さ
    れたユーザ・データ・セクタの数未満の調整である、妥
    当性検査フィールドとを含み、 各ユーザ・データ・セクタには、妥当性検査スタンプの
    配置のために、前記n個の妥当性検査フィールドの内少
    なくとも2つが割り当てられるが、前記セクタ群内の前
    記ユーザ・データ・セクタの他のいずれかに割り当てら
    れた前記n個の妥当性検査フィールドの少なくとも2つ
    に同一に対応する前記n個の妥当性検査フィールドの少
    なくとも2つにはユーザ・データ・セクタが割り当てら
    れないようにされ、 前記パリティ・セクタ内の前記n個の妥当性検査フィー
    ルドの各々にあるパリティ・エントリであって、各々、
    前記セクタ群内の対応する妥当性検査フィールド内にあ
    る全ての妥当性検査スタンプを組み合わせることによっ
    て形成される、パリティ・エントリと、 から成るデータの組み合わせを有することを特徴とする
    データ記憶ディスクのアレイ。
  2. 【請求項2】請求項1記載のデータ記憶ディスクのアレ
    イにおいて、前記セクタ群内のユーザ・データ・セクタ
    を有するデータ記憶ディスクの内の1つが故障した場
    合、故障したデータ記憶セクタの妥当性検査スタンプを
    有する妥当性検査フィールドに対応する、前記セクタ群
    内の全ての妥当性検査フィールドが無効となり、前記セ
    クタ群内の残りのデータ記憶ディスクの各々が、有効の
    まま残っている妥当性検査フィールドの1つに位置する
    少なくとも1つの妥当性検査スタンプを有するように、
    前記妥当性検査スタンプが配列されていることを特徴と
    するデータ記憶ディスクのアレイ。
  3. 【請求項3】請求項1記載のデータ記憶ディスクのアレ
    イにおいて、前記セクタ群内の対応する妥当性検査フィ
    ールドの各群が、ほぼ同一数の妥当性検査スタンプを有
    することを特徴とするデータ記憶ディスクのアレイ。
  4. 【請求項4】請求項1記載のデータ記憶ディスクのアレ
    イにおいて、各妥当性検査スタンプが、ランダムに発生
    された数値を含むことを特徴とするデータ記憶ディスク
    のアレイ。
  5. 【請求項5】請求項1記載のデータ記憶ディスクのアレ
    イにおいて、前記妥当性検査フィールドの各々における
    前記パリティ・エントリは、前記セクタ群内の対応する
    妥当性検査フィールド内の全妥当性検査スタンプのXOR
    を取ることによって形成されることを特徴とするデータ
    記憶ディスクのアレイ。
  6. 【請求項6】請求項1記載のデータ記憶ディスクのアレ
    イにおいて、各ユーザ・データ・セクタ内の妥当性検査
    スタンプの配置のための前記少なくとも2つの妥当性検
    査フィールドが、正確に2つの妥当性検査フィールドで
    あることを特徴とするデータ記憶ディスクのアレイ。
  7. 【請求項7】セクタ群であって、 各々、ディスク・アレイ内の異なるデータ記憶ディスク
    上に位置する複数のユーザ・データ・セクタと、 前記セクタ群内の前記複数のユーザ・データ・セクタの
    いずれの前記データ記憶ディスクとも異なるデータ記憶
    ディスク上のパリティ・セクタと、 を備え、 前記複数のユーザ・データ・セクタおよび前記パリティ
    ・セクタの各々が、セクタ毎に対応する、複数の妥当性
    検査フィールドを有し、 前記複数のユーザ・データ・セクタの各々が、前記複数
    の妥当性検査フィールドの内少なくとも2つの各々に妥
    当性検査スタンプを有するが、2つのユーザ・データ・
    セクタが、それらの各妥当性検査スタンプを、同じ2つ
    の対応する妥当性検査フィールド内には有することはな
    いようにされ、 前記パリティ・セクタが、前記妥当性検査フィールドの
    各々に、前記セクタ群のユーザ・データ・セクタ内の前
    記対応する妥当性検査フィールドの組み合わせに対応す
    る、パリティ・エントリを有する、 ことを特徴とするセクタ群。
  8. 【請求項8】請求項7記載のセクタ群において、前記デ
    ィスク・アレイ内の前記データ記憶ディスクの1つが故
    障した場合、故障したデータ記憶セクタの妥当性検査ス
    タンプを有する前記妥当性検査フィールドに対応する前
    記セクタ群内の全ての妥当性検査フィールドが無効とな
    り、前記セクタ群内の残りのデータ記憶ディスクの各々
    が、有効のまま残っている妥当性検査フィールドの1つ
    に位置する少なくとも1つの妥当性検査スタンプを有す
    るように、前記妥当性検査スタンプが配列されることを
    特徴とするセクタ群。
  9. 【請求項9】請求項7記載のセクタ群において、前記セ
    クタ群内の対応する妥当性検査フィールドの各群が、ほ
    ぼ同一数の妥当性検査スタンプを有することを特徴とす
    るセクタ群。
  10. 【請求項10】請求項7記載のセクタ群において、各妥
    当性検査スタンプが、ランダムに発生された数値を含む
    ことを特徴とするセクタ群。
  11. 【請求項11】請求項7記載のセクタ群において、前記
    妥当性検査フィールドの各々における前記パリティ・エ
    ントリは、前記セクタ群内の対応する妥当性検査フィー
    ルド内の全妥当性検査スタンプのXORを取ることによっ
    て形成されることを特徴とするセクタ群。
  12. 【請求項12】請求項7記載のセクタ群において、各ユ
    ーザ・データ・セクタ内における妥当性検査スタンプの
    配置のための前記少なくとも2つの妥当性検査フィール
    ドが、正確に2つの妥当性検査フィールドであることを
    特徴とするセクタ群。
  13. 【請求項13】データ妥当性検査システムであって、 複数のデータ記憶装置と、 各々、前記データ記憶装置の異なる1つの上に位置する
    複数のユーザ・データ・セクタと、 前記複数のユーザ・データ・セクタのいずれのデータ記
    憶装置とも異なるデータ記憶装置上のパリティ・セクタ
    と、 前記複数のユーザ・データ・セクタおよび前記パリティ
    ・セクタの各々は、複数の妥当性検査フィールドを有
    し、 データが前記ユーザ・データ・セクタに書き込まれると
    き、前記ユーザ・データ・セクタの1つの予め割り当て
    られた2つの妥当性検査フィールドの各々に妥当性検査
    スタンプをセーブする手段であって、任意の前記ユーザ
    ・データ・セクタに対して予め割り当てられた2つの妥
    当性検査フィールドが、前記ユーザ・データ・セクタの
    他の任意のものに対して予め割り当てられた2つの妥当
    性検査フィールドのどれとも一致しないようにセーブす
    る手段と、 前記ユーザ・データ・セクタ内の対応する妥当性検査フ
    ィールドを組み合わせ、前記パリティ・セクタ内の対応
    する妥当性検査フィールドに対するパリティ・エントリ
    を形成する手段と、 を備えることを特徴とするデータ妥当性検査システム。
  14. 【請求項14】データ記憶ディスクのアレイに妥当性検
    査データを記録する方法であって、前記データ記憶ディ
    スクが、複数のセクタ群に編成された複数のユーザ・デ
    ータ・セクタと複数のパリティ・セクタとを有し、各セ
    クタ群が、1つのパリティ・セクタと許された数を超え
    ない数のユーザ・データ・セクタとを有し、前記群内の
    前記セクタの各々が、前記データ記憶ディスクの異なる
    ものの上に位置し、 前記方法が、 ユーザ・データ・セクタの少なくとも2つの妥当性検査
    フィールド内に、妥当性検査スタンプをセーブするステ
    ップと、 前記2つの妥当性検査フィールドに対応する同一セクタ
    群内の妥当性検査フィールドにおいて見出される全妥当
    性検査スタンプを組み合わせてパリティ・エントリを決
    定し、前記セクタ群のパリティ・セクタ内の各対応する
    妥当性検査フィールド内に前記パリティ・エントリを格
    納するステップと、 から成ることを特徴とする方法。
  15. 【請求項15】請求項14記載の方法において、前記セク
    タ群内の前記パリティ・セクタおよび前記複数のユーザ
    ・データ・セクタが、各々、n個の妥当性検査フィール
    ドを有し、ここでnは、許されたユーザ・データ・セク
    タの数未満の整数であることを特徴とする方法。
  16. 【請求項16】請求項15記載の方法であって、更に、妥
    当性検査スタンプをセーブするために、前記n個の妥当
    性検査フィールドの内少なくとも2つを各ユーザ・デー
    タ・セクタに割り当てるステップを含み、前記セクタ群
    内の前記ユーザ・データ・セクタの他のいずれかに割り
    当てられている前記n個の妥当性検査フィールドの少な
    くとも2つと同一に対応する前記n個の妥当性検査フィ
    ールドの少なくとも2つには、セクタ群内のユーザ・デ
    ータ・セクタが割り当てられないことを特徴とする方
    法。
  17. 【請求項17】請求項16記載の方法であって、更に、前
    記妥当性検査スタンプとして使用するために、ランダム
    に数値を発生するステップを含むことを特徴とする方
    法。
  18. 【請求項18】請求項14記載の方法において、前記組み
    合わせるステップが、同一のセクタ群内の対応する妥当
    性検査フィールドにおける全妥当性検査スタンプのXOR
    を取ることにより、前記パリティ・エントリを形成する
    ステップを含むことを特徴とする方法。
  19. 【請求項19】請求項14記載の方法であって、更に、前
    記妥当性検査スタンプとして使用するために、ランダム
    に数値を発生するステップを含むことを特徴とする方
    法。
JP53660698A 1997-02-24 1997-10-08 ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム Expired - Fee Related JP3283530B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/805,144 US5889934A (en) 1997-02-24 1997-02-24 Data validation system for a group of data storage disks
US08/805,144 1997-02-24
US805,144 1997-02-24
PCT/US1997/015747 WO1998037491A1 (en) 1997-02-24 1997-10-08 Validation system for maintaining parity integrity in a disk array

Publications (2)

Publication Number Publication Date
JP2000510273A JP2000510273A (ja) 2000-08-08
JP3283530B2 true JP3283530B2 (ja) 2002-05-20

Family

ID=25190778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53660698A Expired - Fee Related JP3283530B2 (ja) 1997-02-24 1997-10-08 ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム

Country Status (7)

Country Link
US (1) US5889934A (ja)
EP (1) EP1019820B1 (ja)
JP (1) JP3283530B2 (ja)
AU (1) AU4800297A (ja)
CA (1) CA2275877A1 (ja)
DE (1) DE69727083T2 (ja)
WO (1) WO1998037491A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195761B1 (en) 1997-12-31 2001-02-27 Emc Corporation Method and apparatus for identifying and repairing mismatched data
US6167485A (en) 1997-12-31 2000-12-26 Emc Corporation On-line data verification and repair in redundant storage systems
US6233696B1 (en) * 1997-12-31 2001-05-15 Emc Corporation Data verification and repair in redundant storage systems
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
US6389414B1 (en) * 1998-09-21 2002-05-14 Microsoft Corporation Internal database validation
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6785785B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Method for supporting multi-level stripping of non-homogeneous memory to maximize concurrency
US6584544B1 (en) * 2000-07-12 2003-06-24 Emc Corporation Method and apparatus for preparing a disk for use in a disk array
US6950900B1 (en) 2000-09-27 2005-09-27 International Business Machines Corporation Method and apparatus for migrating data having a format of a first type to a format of a second type
US6865650B1 (en) * 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
US6687850B1 (en) * 2001-01-31 2004-02-03 Western Digital Technologies, Inc. Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk
US20040153746A1 (en) * 2002-04-24 2004-08-05 Talagala Nisha D. Mechanisms for embedding and using integrity metadata
US7036066B2 (en) 2002-05-24 2006-04-25 Sun Microsystems, Inc. Error detection using data block mapping
US7051155B2 (en) 2002-08-05 2006-05-23 Sun Microsystems, Inc. Method and system for striping data to accommodate integrity metadata
US7020805B2 (en) * 2002-08-15 2006-03-28 Sun Microsystems, Inc. Efficient mechanisms for detecting phantom write errors
US7103811B2 (en) * 2002-12-23 2006-09-05 Sun Microsystems, Inc Mechanisms for detecting silent errors in streaming media devices
US7133883B2 (en) * 2002-12-23 2006-11-07 Sun Microsystems, Inc. General techniques for diagnosing data corruptions
US7353432B1 (en) 2003-11-25 2008-04-01 Sun Microsystems, Inc. Maintaining high data integrity
US7302520B2 (en) * 2003-12-02 2007-11-27 Spinnaker Networks, Llc Method and apparatus for data storage using striping
JP4263645B2 (ja) * 2004-03-17 2009-05-13 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 磁気ディスク装置及びリフレッシュ方法
US20050278382A1 (en) * 2004-05-28 2005-12-15 Network Appliance, Inc. Method and apparatus for recovery of a current read-write unit of a file system
US20050283682A1 (en) * 2004-06-18 2005-12-22 Hitachi, Ltd. Method for data protection in disk array systems
US20060026432A1 (en) * 2004-07-30 2006-02-02 Weirauch Charles R Drive tracking system for removable media
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7577804B2 (en) * 2004-10-06 2009-08-18 International Business Machines Corporation Detecting data integrity
US8131926B2 (en) 2004-10-20 2012-03-06 Seagate Technology, Llc Generic storage container for allocating multiple data formats
US7877543B2 (en) * 2004-12-03 2011-01-25 Hewlett-Packard Development Company, L.P. System and method for writing data and a time value to an addressable unit of a removable storage medium
US7277986B2 (en) * 2005-03-30 2007-10-02 Emc Corporation Sector-edge cache
US7552357B2 (en) 2005-04-29 2009-06-23 Network Appliance, Inc. Lost writes detection in a redundancy group based on RAID with multiple parity
US7870317B2 (en) * 2005-04-29 2011-01-11 Network Appliance, Inc. Storage processor for handling disparate requests to transmit in a storage appliance
US7844701B2 (en) * 2005-08-01 2010-11-30 Network Appliance, Inc. Rule-based performance analysis of storage appliances
US20070100783A1 (en) * 2005-10-29 2007-05-03 International Business Machines Corporation Method, system, and program for determining discrepancies between database management systems
US7467169B2 (en) * 2005-10-31 2008-12-16 Network Appliance, Inc. Circular and bi-directional mirroring of flexible volumes
US7716420B2 (en) * 2006-04-28 2010-05-11 Network Appliance, Inc. Methods of converting traditional volumes into flexible volumes
US8539253B2 (en) * 2006-07-18 2013-09-17 Netapp, Inc. System and method for securing information by obscuring contents of a persistent image
US7752180B1 (en) 2006-12-12 2010-07-06 Network Appliance, Inc. File system group consistency point
US7908656B1 (en) 2007-04-23 2011-03-15 Network Appliance, Inc. Customized data generating data storage system filter for data security
US7809868B1 (en) 2007-04-23 2010-10-05 Network Appliance, Inc. System and method for filtering information in a data storage system
US7945724B1 (en) 2007-04-26 2011-05-17 Netapp, Inc. Non-volatile solid-state memory based adaptive playlist for storage system initialization operations
US8825970B1 (en) 2007-04-26 2014-09-02 Netapp, Inc. System and method for mounting a storage volume utilizing a block reference list
US8156241B1 (en) 2007-05-17 2012-04-10 Netapp, Inc. System and method for compressing data transferred over a network for storage purposes
US7856530B1 (en) 2007-10-31 2010-12-21 Network Appliance, Inc. System and method for implementing a dynamic cache for a data storage system
JP5298393B2 (ja) 2007-11-21 2013-09-25 マーベル ワールド トレード リミテッド 並列リードソロモンraid(rs−raid)アーキテクチャ、デバイス、および方法
US8321867B1 (en) 2008-01-24 2012-11-27 Network Appliance, Inc. Request processing for stateless conformance engine
US8166257B1 (en) 2008-01-24 2012-04-24 Network Appliance, Inc. Automated continuous provisioning of a data storage system
US8176012B1 (en) 2008-10-06 2012-05-08 Netapp, Inc. Read-only mirroring for load sharing
US8078622B2 (en) * 2008-10-30 2011-12-13 Network Appliance, Inc. Remote volume access and migration via a clustered server namespace
JP2010146625A (ja) * 2008-12-17 2010-07-01 Toshiba Storage Device Corp 記憶装置および記憶装置制御方法
JP5146357B2 (ja) * 2009-02-25 2013-02-20 富士通株式会社 データ診断装置、データ診断システム、データ診断方法及びデータ診断プログラム
US8214589B2 (en) * 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
US8949692B1 (en) * 2014-01-23 2015-02-03 DSSD, Inc. Method and system for service-aware parity placement in a storage system
US10979503B2 (en) 2014-07-30 2021-04-13 Excelero Storage Ltd. System and method for improved storage access in multi core system
US10565054B2 (en) * 2016-08-29 2020-02-18 Excelero Storage Ltd. System and method for reducing bandwidth consumption of a client device accessing a remote storage device
US10237347B2 (en) 2015-06-08 2019-03-19 Excelero Storage Ltd. System and method for providing a client device seamless access to a plurality of remote storage devices presented as a virtual device
US9658782B2 (en) 2014-07-30 2017-05-23 Excelero Storage Ltd. Scalable data using RDMA and MMIO
US10936200B2 (en) 2014-07-30 2021-03-02 Excelero Storage Ltd. System and method for improved RDMA techniques for multi-host network interface controllers
CN110413439B (zh) * 2018-04-28 2023-10-20 伊姆西Ip控股有限责任公司 用于检测数据的不完整写入的方法、设备和计算机可读介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5305326A (en) * 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
US5644767A (en) * 1993-06-01 1997-07-01 At&T Global Information Solutions Company Method and apparatus for determining and maintaining drive status from codes written to disk drives of an arrayed storage subsystem
CA2134016A1 (en) * 1994-01-07 1995-07-08 Peter B. Bandy Data storage device and method of operation
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5640506A (en) * 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
US5737344A (en) * 1995-05-25 1998-04-07 International Business Machines Corporation Digital data storage with increased robustness against data loss

Also Published As

Publication number Publication date
AU4800297A (en) 1998-09-09
EP1019820B1 (en) 2004-01-02
WO1998037491A1 (en) 1998-08-27
DE69727083D1 (de) 2004-02-05
EP1019820A1 (en) 2000-07-19
DE69727083T2 (de) 2005-06-16
JP2000510273A (ja) 2000-08-08
CA2275877A1 (en) 1998-08-27
US5889934A (en) 1999-03-30

Similar Documents

Publication Publication Date Title
JP3283530B2 (ja) ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
JP3177242B2 (ja) データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶
US6480970B1 (en) Method of verifying data consistency between local and remote mirrored data storage systems
US7464322B2 (en) System and method for detecting write errors in a storage device
US5596709A (en) Method and apparatus for recovering parity protected data
JP3226370B2 (ja) 高可用度ディスク配列に関する改善
US5488701A (en) In log sparing for log structured arrays
US7146461B1 (en) Automated recovery from data corruption of data volumes in parity RAID storage systems
US6990611B2 (en) Recovering data from arrays of storage devices after certain failures
US7234024B1 (en) Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US20090327803A1 (en) Storage control device and storage control method
EP0936534A2 (en) Recording device
US6332177B1 (en) N-way raid 1 on M drives block mapping
US7409499B1 (en) Automated recovery from data corruption of data volumes in RAID storage
US6389511B1 (en) On-line data verification and repair in redundant storage system
US20050193273A1 (en) Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
JPH05324579A (ja) 分散ファイルシステム及び記憶装置
US7577804B2 (en) Detecting data integrity
US7024585B2 (en) Method, apparatus, and program for data mirroring with striped hotspare
JP2005099995A (ja) 磁気ディスク装置のディスク共有方法及びシステム
GB2343265A (en) Data storage array rebuild
JP2857288B2 (ja) ディスクアレイ装置
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees