JP2000510273A - ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム - Google Patents
ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システムInfo
- Publication number
- JP2000510273A JP2000510273A JP10536606A JP53660698A JP2000510273A JP 2000510273 A JP2000510273 A JP 2000510273A JP 10536606 A JP10536606 A JP 10536606A JP 53660698 A JP53660698 A JP 53660698A JP 2000510273 A JP2000510273 A JP 2000510273A
- Authority
- JP
- Japan
- Prior art keywords
- validation
- sector
- data
- sectors
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/104—Metadata, 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)
Abstract
(57)【要約】
データ記憶ディスクのアレイにおいて、パリティ・セクタを含むセクタ群の対応するセクタに配列されたデータのためのデータ妥当性検査システム。セクタ群内の各ユーザ・データ・セクタには、妥当性検査スタンプの配置のために、複数の妥当性検査フィールドの内、少なくとも2つが割り当てられる。妥当性検査フィールドの同一に対応する組み合わせには、2つのデータ・セクタが割り当てられないようにする。パリティ・セクタには、妥当性検査フィールドの各々に、セクタ群全体にわたり対応する妥当性検査フィールド内の妥当性検査スタンプの全てを組み合わせることによって形成されたパリティ・エントリがある。妥当性検査フィールドは、データ記憶ディスクのアレイへの書き込みが部分的に完了したことを検出するために用いられる。
Description
【発明の詳細な説明】
ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
緒言
本発明は、データ処理システムにおいて用いるための可用性が高いディスク・
アレイ(high availability disk array)に関し、更に特定すれば、システムの動
作中に発生し得る種々のタイプの停電状熊に対処するための改良された技法に関
するものである。
発明の背景
高度のディスク可用性を備えた特殊ディスク・アレイ・システムの1つに、安
価なディスクの冗長アレイ(RAID:Redundant Array of Inexpensive Disks
)としばしば呼ばれるものがある。かかるシステムは、インテリジェント入出力
(I/O)プロセッサを用い、ホスト・コンピュータの必要性に応答して、アレ
イの1つ以上のデータ記憶ディスクにアクセスし、アレイの各データ記憶ディス
クは、ホスト・コンピュータには事実上単一のディスク・ドライブとして見える
ように、I/O制御プロセッサを介して動作するディスク・ドライブ回路によっ
て駆動される。データ記憶ディスク・モジュールは、例えば、ディスク、ディス
ク・ドライバ回路、および電力/制御回路を備えている。あるいは、かかるシス
テムの実施態様によっては、I/Oプロセッサを使用する必要がなく、ホスト・
コンピュータが、アレイを形成するディスク・モジュールと直接通信することが
可能な場合もある。
例えば、5つのデータ記憶ディスクのアレイを備える特定のRAID−5に関
して言えば、各ディスクは、複数のデータ記憶セクタを有し、5つのディスクの
各々における対応するセクタのことを、セクタ群またはセクタの「ストライプ」
と呼んでいる。各ストライプは、冗長データ即ちパリティ・データを保持するセ
クタを1つ含む。ストライプ内の残りのセクタはユーザ・データを格納する。か
かる冗長性の使用により、ストライプ内においてユーザ・データ・セクタが破損
した場合に、ユーザ・データの復元(reconstruction)が可能となる。
ユーザ・データ・ディスク・モジュールが故障した場合、ストライプのパリテ
ィ・セクタ内において使用可能な冗長エントリ即ちパリティ・エントリ、および
当該ストライプの破損していないユーザ・データ・セクタ内のデータを用いて、
故障したディスクのセクタ内にあったユーザ・データを効果的に復元することに
より、故障したディスクのセクタのユーザ・データにアクセスすることができな
い場合でも、このように復元したデータを用いて、システムが動作し続けること
が可能となる。
しかしながら、ある種の故障が発生すると、アレイは統一を欠いた(incoheren
t)即ち事実上使用不能の状態になってしまう可能性がある。例えば、停電が発生
した場合、即ち、I/Oプロセッサ(IOP)への電力が絶たれた場合、または
I/Oプロセッサ自体がハードウエアの欠陥のために故障した場合、またはディ
スク・ドライブ自体への電力が絶たれた場合等の状況が発生する可能性がある。
更に、例えば、停電の結果、新たなIOPを用いて故障したIOPと交換しなけ
ればならなくなった場合、そして、新たなIOPを古いIOPと交換した後に、
書き込み動作がアレイのどのセクタに行われていたのかを確認する方法がない場
合、別の問題が生ずる虞れがある。
RAID−5システムの元来の設計では処理することが不可能な、かかる停電
状況を処理するための技法が考案されている。従来のディスク・ドライブを用い
てRAID−5型の書き込みを行うには、典型的に、数個の別個のコマンドおよ
び関連するデータ転送を必要とする。RAID−5の書き込みは、ターゲット・
データ・ドライブから古いデータを読み出すコマンドから開始する。次に、新た
なデータがデータ・ドライブに書き込まれる。新旧データのXORを取り部分積
(partial product)を求めることにより、部分積が得られる。読み取りコマンド
を発行して、パリティ・セクタを含むディスク・ドライブから古いパリティを読
み取る。部分積と古いパリティとのXORを取る。最後に、XORの結果をパリ
ティ・セクタに書き込む。障害によって書き込みが中断された場合、中断された
書き込みがどこから開始されたかを確認する機構が必要となる。
この状況に対処するために、本願の譲受人であるData General Corporation(
データ・ゼネラル社)は、従来技術のシステムにおいて、セクタの終端に追加
のバイトを用い、チェックサム、シェッド・スタンプ(shed stamp)、タイム・ス
タンプおよびライト・スタンプと呼ばれていたものを含ませていた。典型的に、
1セクタは、512バイトのホスト・データおよび8バイトの妥当性検査データ
(validation data)を含む。チェックサムは、ホスト・データが正しく、正しい
ディスク・セクタ上にあることを検証する。シェッド・スタンプは、特定のセク
タ群のパリティ・セクタがパリティ・データを含むかシェッド・データを含むか
について確認するために用いられる一連のビットである。シェッド・データは、
アレイが低下モード(degraded mode)で動作しているとき、言い換えると、ディ
スク・ドライブの1つが動作していないときに用いられる。シェッド・データは
、米国特許第5,305,326号(Solomon et al.(ソロモンその他))に記
載されており、その開示内容は、この言及により本願にも含まれるものとする。
タイム・スタンプは、最後の大規模な更新からのデータ・セクタの劣化(corru
ption)に対するチェックを行う。大規模なストライプの更新が行われる毎に(即
ち、ストライプ内の全てのセクタを更新させる書き込みコマンド)、当該特定ス
トライプに属するセクタの各々に、タイム・スタンプを設定する。タイム・スタ
ンプは、一意の乱数であり、大規模なストライプの更新時に、ストライプ内のセ
クタの各々に書き込まれる。その後、当該セクタ内のデータに何らかの変更があ
った場合、タイム・スタンプは無効化される。このように、タイム・スタンプは
、最後の大規模なストライプの更新後に更新されていないセクタの妥当性検査機
構を与える。
ライト・スタンプは、一連のビットであり、セクタ群内の各データ記憶ディス
ク毎に1つずつある。大規模なストライプの更新の間、ライト・スタンプは全て
0にセットされる。書き込みが行われる毎に、更新されたディスク・ドライブに
対応するビットが、更新対象のドライブにおいて反転される。また、書き込みの
完了時に、パリティ・ドライブにおいても対応するビットが反転される。書き込
みが行われたディスク・ドライブに対応するライト・スタンプ・ビットを反転す
るには、古い値を知るために予備読み取りを行わなければならない。こうして初
めて新しい値を何にすべきかがわかる。予備読み取りは、従来のディスク・ドラ
イブ内へのRAID−5書き込みの間にいずれかの方法で行われ、パリティ・セ
クタに書き込むための部分積を取り出す。ライト・スタンプは、最後の大規模な
ストライプの更新後に更新されたセクタの妥当性検査機構を与えるために用いら
れる。
ドライブを基本とするXOR演算によってパリティの更新を調整する機能を有
するデータ記憶ディスク・ドライブが、間もなく市場において入手可能となるで
あろう。かかるディスク・ドライブを、ドライブを基本とするXORモードで動
作させる場合、ホストは単にXOR−WRITEコマンドをディスク・ドライブ
に発行するだけである。このコマンドは、データ・ドライブに、ディスクから古
いデータを読み出させ、新しいデータをディスクに書き込ませ、部分積を計算さ
せ、部分積XOR−WRITEをパリティ・ドライブに発行させ、次いで更新全
体が完了したときにステータスをホストに戻させる。このように、ホストは、単
一のコマンドを発生しさえすればよい。パリティは、ディスク・ドライブによっ
て更新され、読み取りコマンドの必要は全くない。従来技術のライト・スタンプ
による妥当性検査機構を、ドライブを基本とするXORを実行するディスク・ド
ライブに実施すると、システムの動作が遅くなる。したがって、ライト・スタン
プの場合のような予備読み込みを伴わない、新たな妥当性検査システムを開発す
ることが望ましくなってきている。
発明の概要
本発明によれば、ストライプ、即ち、セクタ群は、複数のユーザ・データ・セ
クタおよびパリティ・セクタを含む。群内のセクタの各々は、ディスク・アレイ
内の異なるディスク・ドライブ上に位置する。群内のセクタの各々は、複数の妥
当性検査フィールドを含む。セクタ上の妥当性検査フィールドの各々は、群内の
残りのセクタ上に対応するフィールドを有する。ユーザ・データ・セクタの各々
は、その妥当性検査スタンプの配置のために、少なくとも2つの選択された妥当
性検査フィールドに割り当てられる。本好適実施形態における妥当性検査スタン
プは、それぞれのディスク・ドライブへの書き込み時にランダムに発生する一意
の数値である。同一群内の2つのユーザ・データ・セクタが、同一の選択された
妥当性検査フィールド内にそれぞれの妥当性検査スタンプを有さないように、各
ユーザ・データ・セクタ毎に複数のフィールドが割り当てられる。フィールドの
重複は1つだけ許されるが、選択された妥当性検査フィールドの同一集合におい
て、2つのユーザ・データ・セクタがそれらの妥当性検査スタンプを有すること
はない。パリティ・セクタは、対応する妥当性検査フィールドの組み合わせに対
応する妥当性検査フィールドの各々に、パリティ・エントリを含む。ドライブを
基本とするXORを用いる場合、いずれの所与の妥当性検査フィールドに対する
パリティ・エントリも、当該群のユーザ・データ・セクタ内の対応する妥当性検
査フィールドの全てのXORとなる。
セクタ群内のディスク・ドライブの1つが動作不能となった場合、当該ディス
ク・ドライブが割り当てられた妥当性検査フィールドは無効となる。しかしなが
ら、他のディスク・ドライブはいずれも、その妥当性検査スタンプのためにのみ
それらの選択された妥当性検査フィールドを用いることはないので、動作状態の
妥当性検査フィールド内に存在する妥当性検査スタンプは、常に各ディスク・ド
ライブ毎にある。このように、本発明の妥当性検査方法は、セクタ群が正常な完
全動作状態にある場合だけでなく、低下モードにある場合にも動作する。
本発明のその他の目的および利点は、図面と関連付けた、以下の本発明の好適
実施形態の説明の間に明らかとなろう。
図面の簡単な説明
図1は、本発明によってセクタ群上にどのようにデータおよび妥当性検査ビッ
トを配列するかを示す概略マップである。
図2は、本発明によってどのようにして妥当性検査スタンプの割り当てを行う
のかを示す概略マップである。
図3は、図2の妥当性検査スタンプの配列が、どのようにしてディスクを失っ
た低下モードを処理するのかを示す図である。
好適実施形熊の詳細な説明
本発明は、ディスク・アレイ上で実現される。複数のデータ記憶ディスクが、
ストライプ即ちセクタ群によって、互いに関連付けられており、ストライプは複
数のディスクにまたがって指定される。各セクタ群は、複数のユーザ・データ記
憶セクタと単一のパリティ・セクタとを有する。群内の各セクタは、データ記憶
ディスクの異なる1つの上に位置する。RAID−5セクタ群によれば、パリテ
ィ・セクタは、当該セクタ群内の全ユーザ・データ・セクタのXORを収容する
。XORは、データ書き込み、予備読み出しおよびパリティ書き込みから成る従
来からの3ステップ・プロセス、またはドライブを基本とするXOR演算によっ
て可能となる1ステップの書き込みから得ることができる。データ記憶ディスク
のアレイには、I/Oプロセッサによってアクセスする。RAIDアルゴリズム
にしたがってディスク・アレイを制御するI/Oプロセッサの設計は、計算機の
関連分野における当業者には公知である。
これより図1を参照し、本発明の教示によるディスク・アレイ内におけるデー
タの配列について説明する。5つのデータ記憶ディスク上に位置する5つのセク
タから成るセクタ群が図1に示されている。しかしながら、本発明は、特定のサ
イズのセクタ群に限定される訳ではない。例えば、セクタ群は、1つのパリティ
・セクタと10個のデータ・セクタとを含む11個のディスク・ドライブに拡張
することも可能である。図1では、1つのパリティ・セクタに加えて、セクタ群
を構成する4つのデータ記憶セクタを示す。セクタの各々は、異なるデータ記憶
ディスク上に位置する。各データ記憶ディスク上には、多数のセクタが格納され
ている。本発明を説明するためには、単一のセクタ群を図示するだけでよい。
ユーザ・データ・セクタの各々は、ユーザ・データ・フィールドを含む。本好
適実施形態によれば、これは512バイトである。これは、従来のデータ記憶装
置に採用されている典型的なセクタ・サイズである。ホスト・コンピュータから
のデータは、ユーザ・データ・セクタに格納される。群内のセクタの1つは、パ
リティ・セクタであり、ユーザ・データ・セクタのためにパリティを与える。デ
ータ記憶セクタの1つが破損した場合、パリティ・セクタを、動作中のデータ記
憶ディスクと共に用いて、機能しないデータ記憶装置からのユーザ・データを復
元することができる。RAID−5アルゴリズムによれば、パリティ・セクタは
、セクタ群内の残りのユーザ・セクタのユーザ・データ・セクタのXORを取る
ことによって形成する。
各セクタ上に追加のデータを付加し、停電またはその他の障害状熊下における
データの処理に備える。本好適実施形熊によれば、ユーザ・データに加えて、チ
ェックサム・フィールドを備える。また、ディスク・ドライブの各々の上には、
パリティ無効フィールドも備えることができる。パリティ無効フィールドは単一
のビットのみでよい。パリティ無効ビットは、ユーザ・データ・セクタでは常に
0であり、したがってこれらのビット全てのXORを取ると、パリティ・ドライ
ブでは常に0になる。パリティ無効ビットは、直接書き込みによってのみパリテ
ィ・ドライブ上でセットされる。部分的なRAID−5更新が、セクタ群の低下
検証の間にアクティブなドライブ上で検出された場合、パリティ・セクタにおい
てこのビットをセットし、データが無効であることを示す。こうして、パリティ
・セクタ内のデータは使用されないことになる。パリティ無効ビットがセットさ
れていない場合でも、データの妥当性のために同様にデータ・チェックサムをチ
ェックする。
本好適実施形態は、更に、パリティ・セクタが、パリティ・データを収容して
いるか動作不能となったデータ記憶ディスクからのシェッド・データを収容して
いるかを示す、シェッド・スタンプ・フィールドも含む。データ記憶装置が故障
した場合、パリティ・データを用いて、故障したデータ記憶ディスクのデータを
復元する。復元されたデータは、パリティ・ディスク・ドライブ内に格納し、パ
リティ・データを置換することができる。シェッド・スタンプをセットすると、
ディスク・ドライブが、正常のパリティ・データではなく、故障したディスクか
らのシェッド・データを収容していることを示す。あるセクタ群においてデータ
記憶ディスクの内1つが故障した場合、このセクタ群は低下モードで動作してお
り、パリティはもはや維持され得ない。したがって、パリティ・データを維持し
ておき必要となる毎に故障したディスクのユーザ・データを復元する選択肢と、
パリティ・データを復元したシェッド・データと置換して、故障したディスクか
らのユーザ・データに対してパリティ・ドライブへ直接アクセス可能にする選択
肢とがある。
本発明によれば、妥当性検査スタンプ・エリアには、多数の妥当性検査フィー
ルドが備えられている。妥当性検査スタンプ・エリアは、従来技術のタイム・ス
タンプおよびライト・スタンプの機能を実行する。各ディスク・ドライブの妥当
性検査フィールドを更新し、チェックサムを更新する毎に、パリティ・セクタは
セクタ群内の妥当性検査エリアおよびチェックサム全てのXORを受け取る。本
発明は、ドライブを基本とするXORを演算しパリティ・ドライブを更新するデ
ータ記憶ディスクとでも使用可能である。
次に図2を参照し、本発明の妥当性検査エリアについて更に詳しく説明する。
図2は、5つの妥当性検査スタンプ・フィールドに分割された、妥当性検査スタ
ンプ・エリアを示す。図2に示す配列は、単一のセクタ群内に10個のデータ記
憶ディスク・ドライブおよび1つのパリティ・ドライブまでを収容可能とするシ
ステムのために設計したものである。この好適な実施形熊によれば、各データ記
憶ディスク・ドライブには、その妥当性検査スタンプを格納するために、2つの
妥当性検査スタンプ・フィールドが割り当てられている。本発明は、3つの妥当
性検査フィールドを各データ記憶ディスク・ドライブに割り当てることによって
、非常に簡単に実現することができる。例えば、未指定フィールドを指定フィー
ルドに、およびその逆に切り替えることによって、作業用三フィールド割り当て
構成(a working three field assignment 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書き込みは中断され
たことになる。失われたパリティは、故障したディスク・ドライブの故に再生す
ることができない。この時点において、直接書き込みコマンドを用いて、パリテ
ィ・ドライブ上にパリティ無効ビットをセットする。故障したディスク・ドライ
ブのデータは、この場合利用できず、データ記憶システムによって復元すること
はできない。次に、セクタ群のロックを解除する。すると、セクタ群は、パリテ
ィのない、その低下モードで使用可能となる。この状熊でセクタ群を使用し続け
ることを選択するか否かは、ホスト次第である。
再構築動作は、通常、新たなデータ・ドライブがセクタ群に戻されたときに行
われる。セクタ群をロックする。パリティ・セクタを読み出す。パリティ無効ビ
ットがセットされている場合、新たなデータ・ドライブはゼロおよび無効のチェ
ックサムで満たされている。パリティ無効ビットは、新たなディスクに対して有
効なデータが利用できないことを示す。次に、パリティ・データを再構築させる
ために、パリティ・ドライブに再構築コマンドを更に発行する。シェッド・スタ
ンプがセットされている場合、新たなデータ・ドライブに、パリティ・ドライブ
からのシェッド・データを書き込む。次に、パリティ・データを再構築させるた
めに、再構築コマンドを再度パリティ・ドライブに発行する。パリティ無効もシ
ェッド・スタンプもセットされていない場合、パリティ・セクタおよびアクティ
ブなディスク・ドライブのユーザ・データの全てを用いて、新たなデータ・ドラ
イブのデータを再構築する。必要であれば、セクタ群のロックを解除する前に、
検証動作を行うことができる。
上述の実施形態に対する種々の変更や修正も、当業者には明白であることは理
解されよう。例えば、妥当性検査スタンプは、任意のビット数でよい。使用する
妥当性検査フィールドの数は、セクタ群内で許されるディスク・ドライブの数に
依存してもよい。また、ディスク・ドライブ当たり使用される妥当性検査スタン
プの数は、セクタ群内で許されるディスク・ドライブの数に依存してもよい。こ
れらおよびその他の変更は、本発明の精神および範囲から逸脱することなく、更
にその付随する利点を減ずることなく、行うことができる。したがって、かかる
変更および修正は、以下の請求の範囲に該当することを意図するものである。
【手続補正書】特許法第184条の4第4項
【提出日】平成10年5月18日(1998.5.18)
【補正内容】
9.請求項7記載のセクタ群において、前記セクタ群内の対応する妥当性検査フ
ィールドの各群が、ほぼ同一数の妥当性検査スタンプを有することを特徴とする
セクタ群。
10.請求項7記載のセクタ群において、各妥当性検査スタンプが、ランダムに
発生された数値を含むことを特徴とするセクタ群。
11.請求項7記載のセクタ群において、前記妥当性検査フィールドの各々にお
ける前記パリティ・エントリは、前記セクタ群内の対応する妥当性検査フィール
ド内の全妥当性検査スタンプのXORを取ることによって形成されることを特徴
とするセクタ群。
12.請求項7記載のセクタ群において、各ユーザ・データ・セクタ内における
妥当性検査スタンプの配置のための前記少なくとも2つの妥当性検査フィールド
が、正確に2つの妥当性検査フィールドであることを特徴とするセクタ群。
13.データ妥当性検査システムであって、
複数のデータ記憶装置と、
各々、前記データ記憶装置の異なる1つの上に位置する複数のユーザ・データ
・セクタと、
前記複数のユーザ・データ・セクタのいずれのデータ記憶装置とも異なるデー
タ記憶装置上のパリティ・セクタと、
前記複数のユーザ・データ・セクタおよび前記パリティ・セクタの各々は、複
数の妥当性検査フィールドを有し、
データが前記ユーザ・データ・セクタに書き込まれるとき、前記ユーザ・デー
タ・セクタの1つの予め割り当てられた2つの妥当性検査フィールドの各々に妥
当性検査スタンプをセーブする手段であって、前記ユーザ・データ・セクタのい
ずれに対する前記予め割り当てられた2つの妥当性検査フィールドも、前記ユー
ザ・データ・セクタの他のいずれに対して予め割り当てられた前記2つの妥当性
検査フィールドとも一致しないようにセーブする手段と、
前記ユーザ・データ・セクタ内の対応する妥当性検査フィールドを組み合わせ
、前記パリティ・セクタ内の対応する妥当性検査フィールドに対するパリティ・
エントリを形成する手段と、
を備えることを特徴とするデータ妥当性検査システム。
14.データ記憶ディスクのアレイに妥当性検査データを記録する方法であって
、前記データ記憶ディスクが、セクタ群に編成された、複数のユーザ・データ・
セクタとパリティ・セクタとを有し、各セクタ群が、1つのパリティ・セクタと
いくつかのユーザ・データ・セクタとを有し、前記群内の前記セクタの各々が、
前記データ記憶ディスクの異なる1つの上に位置し、前記方法が、
ユーザ・データ・セクタの少なくとも2つの妥当性検査フィールド内に、妥当
性検査スタンプをセーブするステップと、
前記2つの妥当性検査フィールドに対応する、同一セクタ群内の妥当性検査フ
ィールドにおいて見出される全妥当性検査スタンプを組み合わせ、パリティ・エ
ントリを決定し、前記セクタ群のパリティ・セクタ内の各対応する妥当性検査フ
ィールド内に前記パリティ・エントリを格納するステップと、
から成ることを特徴とする方法。
15.請求項14記載の方法において、前記セクタ群内の前記パリティ・セクタ
および前記複数のユーザ・データ・セクタが、各々、n個の妥当性検査フィール
ドを有し、ここでnは、セクタ群内で許されるユーザ・データ・セクタの数未満
の整数であることを特徴とする方法。
16.請求項15記載の方法であって、更に、妥当性検査スタンプをセーブする
ために、前記n個の妥当性検査フィールドの内少なくとも2つを各ユーザ・デー
タ・セクタに割り当てるステップを含み、セクタ群内のユーザ・データ・セクタ
は、前記セクタ群内の前記ユーザ・データ・セクタの他のいずれかに割り当てら
れている、前記n個の妥当性検査フィールドの少なくとも2つと同一に対応する
、前記n個の妥当性検査フィールドの少なくとも2つには、割り当てられないこ
とを特徴とする方法。
17.請求項16記載の方法であって、更に、前記妥当性検査スタンプとして使
用するために、ランダムに数値を発生するステップを含むことを特徴とする方法
。
18.請求項14記載の方法において、前記組み合わせるステップが、同一のセ
クタ群内の対応する妥当性検査フィールドにおける全妥当性検査スタンプのXO
Rを取ることにより、前記パリティ・エントリを形成するステップを含むことを
特徴とする方法。
19.請求項14記載の方法であって、更に、前記妥当性検査スタンプとして使
用するために、ランダムに数値を発生するステップを含むことを特薇とする方法
。
Claims (1)
- 【特許請求の範囲】 1.少なくとも1つのI/Oプロセッサによって制御されるデータ記憶ディスク のアレイにおいて、前記データ記憶ディスクが、前記少なくとも1つのI/Oプ ロセッサによってセクタ群に編成された複数のユーザ・データ記憶セクタとパリ ティ・セクタとを有し、各セクタ群が、1つのパリティ・セクタと、いくつかの ユーザ・データ・セクタとを含み、前記群内のセクタの各々が前記データ記憶デ ィスクの異なる1つの上に位置し、各セクタ群が、 前記セクタ群の前記ユーザ・データ・セクタおよび前記パリティ・セクタの各 々にあるユーザ・データ・フィールドと、 前記セクタ群のユーザ・データ・セクタおよびパリティ・セクタの各々にある n個の妥当性検査フィールドであって、各々、前記セクタ群内の他のセクタの各 々に対応する妥当性検査フィールドを有し、nが前記セクタ群内で許されるユー ザ・データ・セクタの数未満の整数である、妥当性検査フィールドとを含み、 各ユーザ・データ・セクタには、妥当性検査スタンプの配置のために、前記n 個の妥当性検査フィールドの内少なくとも2つが割り当てられ、前記セクタ群内 の前記ユーザ・データ・セクタの他のいずれかに割り当てられた、前記n個の妥 当性検査フィールドの少なくとも2つに同一に対応する、前記n個の妥当性検査 フィールドの少なくとも2つには、ユーザ・データ・セクタが割り当てられず、 前記パリティ・セクタ内の前記n個の妥当性検査フィールドの各々にあるパリ ティ・エントリであって、各々、前記セクタ群内の対応する妥当性検査フィール ド内にある全ての妥当性検査スタンプを組み合わせることによって形成される、 パリティ・エントリと、 から成るデータの配列を有することを特徴とするデータ記憶ディスクのアレイ。 2.請求項1記載のデータ記憶ディスクのアレイにおいて、前記妥当性検査スタ ンプが、前記セクタ群内にユーザ・データ・セクタを有するデータ記憶ディスク の1つが故障した場合、破損したデータ記憶セクタの妥当性検査スタンプを有す る妥当性検査フィールドに対応する、前記セクタ群内の全ての妥当性検査フィー ルドが無効となり、前記セクタ群内の残りのデータ記憶ディスクの各々が、有効 のまま残っている妥当性検査フィールドの1つに位置する少なくとも1つの妥当 性検査スタンプを有するように、配列されていることを特徴とするデータ記憶デ ィスクのアレイ。 3.請求項1記載のデータ記憶ディスクのアレイにおいて、前記セクタ群内の対 応する妥当性検査フィールドの各群が、ほぼ同一数の妥当性検査スタンプを有す ることを特徴とするデータ記憶ディスクのアレイ。 4.請求項1記載のデータ記憶ディスクのアレイにおいて、各妥当性検査スタン プが、ランダムに発生された数値を含むことを特徴とするデータ記憶ディスクの アレイ。 5.請求項1記載のデータ記憶ディスクのアレイにおいて、前記妥当性検査フィ ールドの各々における前記パリティ・エントリは、前記セクタ群内の対応する妥 当性検査フィールド内の全妥当性検査スタンプのXORを取ることによって形成 されることを特徴とするデータ記憶ディスクのアレイ。 6.請求項1記載のデータ記憶ディスクのアレイにおいて、各ユーザ・データ・ セクタ内の妥当性検査スタンプの配置のための前記少なくとも2つの妥当性検査 フィールドが、正確に2つの妥当性検査フィールドであることを特徴とするデー タ記憶ディスクのアレイ。 7.セクタ群であって、 各々、ディスク・アレイ内の異なるデータ記憶ディスク上に位置する複数のユ ーザ・データ・セクタと、 前記セクタ群内の前記複数のユーザ・データ・セクタのいずれの前記データ記 憶ディスクとも異なるデータ記憶ディスク上のパリティ・セクタと、 を備え、 前記複数のユーザ・データ・セクタおよび前記パリティ・セクタの各々が、セ クタ毎に対応する、複数の妥当性検査フィールドを有し、 前記複数のユーザ・データ・セクタの各々が、前記複数の妥当性検査フィール ドの内少なくとも2つの各々に、妥当性検査スタンプを有し、2つのユーザ・デ ータ・セクタが、それらの各妥当性検査スタンプを、同じ2つの対応する妥当性 検査フィールド内には有することはなく、 前記パリティ・セクタが、前記妥当性検査フィールドの各々に、前記セクタ群 のユーザ・データ・セクタ内の前記対応する妥当性検査フィールドの組み合わせ に対応する、パリティ・エントリを有する、 ことを特徴とするセクタ群。 8.請求項7記載のセクタ群において、前記妥当性検査スタンプが、前記ディス ク・アレイ内の前記データ記憶ディスクの1つが故障した場合、破損したデータ 記憶セクタの妥当性検査スタンプを有する前記妥当性検査フィールドに対応する 、前記セクタ群内の全ての妥当性検査フィールドが無効となり、前記セクタ群内 の残りのデータ記憶ディスクの各々が、有効のまま残っている妥当性検査フィー ルドの1つに位置する少なくとも1つの妥当性検査スタンプを有するように、配 列されることを特徴とするセクタ群。 9.請求項7記載のセクタ群において、前記セクタ群内の対応する妥当性検査フ ィールドの各群が、ほぼ同一数の妥当性検査スタンプを有することを特徴とする セクタ群。 10.請求項7記載のセクタ群において、各妥当性検査スタンプが、ランダムに 発生された数値を含むことを特徴とするセクタ群。 11.請求項7記載のセクタ群において、前記妥当性検査フィールドの各々にお ける前記パリティ・エントリは、前記セクタ群内の対応する妥当性検査フィール ド内の全妥当性検査スタンプのXORを取ることによって形成されることを特徴 とするセクタ群。 12.請求項7記載のセクタ群において、各ユーザ・データ・セクタ内における 妥当性検査スタンプの配置のための前記少なくとも2つの妥当性検査フィールド が、正確に2つの妥当性検査フィールドであることを特徴とするセクタ群。 13.データ妥当性検査システムであって、 複数のデータ記憶装置と、 各々、前記データ記憶装置の異なる1つの上に位置する複数のユーザ・データ ・セクタと、 前記複数のユーザ・データ・セクタのいずれのデータ記憶装置とも異なるデー タ記憶装置上のパリティ・セクタと、 前記複数のユーザ・データ・セクタおよび前記パリティ・セクタの各々は、複 数の妥当性検査フィールドを有し、 データが前記ユーザ・データ・セクタに書き込まれるとき、前記ユーザ・デー タ・セクタの1つの予め割り当てられた2つの妥当性検査フィールドの各々に妥 当性検査スタンプをセーブする手段であって、前記ユーザ・データ・セクタのい ずれに対する前記予め割り当てられた2つの妥当性検査フィールドも、前記ユー ザ・データ・セクタの他のいずれに対して予め割り当てられた前記2つの妥当性 検査フィールドとも一致しないようにセーブする手段と、 前記ユーザ・データ・セクタ内の対応する妥当性検査フィールドを組み合わせ 、前記パリティ・セクタ内の対応する妥当性検査フィールドに対するパリティ・ エントリを形成する手段と、 を備えることを特徴とするデータ妥当性検査システム。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/805,144 | 1997-02-24 | ||
| US08/805,144 US5889934A (en) | 1997-02-24 | 1997-02-24 | Data validation system for a group of data storage disks |
| 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 true JP2000510273A (ja) | 2000-08-08 |
| JP3283530B2 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) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010146625A (ja) * | 2008-12-17 | 2010-07-01 | Toshiba Storage Device Corp | 記憶装置および記憶装置制御方法 |
| JP2010198263A (ja) * | 2009-02-25 | 2010-09-09 | Fujitsu Ltd | データ診断装置、データ診断方法及びデータ診断プログラム |
Families Citing this family (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6233696B1 (en) * | 1997-12-31 | 2001-05-15 | Emc Corporation | Data verification and repair in redundant storage systems |
| 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 |
| 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 |
| US7133883B2 (en) * | 2002-12-23 | 2006-11-07 | Sun Microsystems, Inc. | General techniques for diagnosing data corruptions |
| US7103811B2 (en) * | 2002-12-23 | 2006-09-05 | Sun Microsystems, Inc | Mechanisms for detecting silent errors in streaming media devices |
| 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 |
| US8825970B1 (en) | 2007-04-26 | 2014-09-02 | Netapp, Inc. | System and method for mounting a storage volume utilizing a block reference list |
| US7945724B1 (en) | 2007-04-26 | 2011-05-17 | Netapp, Inc. | Non-volatile solid-state memory based adaptive playlist for storage system initialization operations |
| 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)アーキテクチャ、デバイス、および方法 |
| US8166257B1 (en) | 2008-01-24 | 2012-04-24 | Network Appliance, Inc. | Automated continuous provisioning of a data storage system |
| US8321867B1 (en) | 2008-01-24 | 2012-11-27 | Network Appliance, Inc. | Request processing for stateless conformance engine |
| 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 |
| 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 |
| 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 |
| US9658782B2 (en) | 2014-07-30 | 2017-05-23 | Excelero Storage Ltd. | Scalable data using RDMA and MMIO |
| US10979503B2 (en) | 2014-07-30 | 2021-04-13 | Excelero Storage Ltd. | System and method for improved storage access in multi core system |
| US10936200B2 (en) | 2014-07-30 | 2021-03-02 | Excelero Storage Ltd. | System and method for improved RDMA techniques for multi-host network interface controllers |
| 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 |
| CN110413439B (zh) * | 2018-04-28 | 2023-10-20 | 伊姆西Ip控股有限责任公司 | 用于检测数据的不完整写入的方法、设备和计算机可读介质 |
Family Cites Families (8)
| 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 |
-
1997
- 1997-02-24 US US08/805,144 patent/US5889934A/en not_active Expired - Lifetime
- 1997-10-08 JP JP53660698A patent/JP3283530B2/ja not_active Expired - Fee Related
- 1997-10-08 CA CA002275877A patent/CA2275877A1/en not_active Abandoned
- 1997-10-08 EP EP97910701A patent/EP1019820B1/en not_active Expired - Lifetime
- 1997-10-08 AU AU48002/97A patent/AU4800297A/en not_active Abandoned
- 1997-10-08 WO PCT/US1997/015747 patent/WO1998037491A1/en not_active Ceased
- 1997-10-08 DE DE69727083T patent/DE69727083T2/de not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010146625A (ja) * | 2008-12-17 | 2010-07-01 | Toshiba Storage Device Corp | 記憶装置および記憶装置制御方法 |
| JP2010198263A (ja) * | 2009-02-25 | 2010-09-09 | Fujitsu Ltd | データ診断装置、データ診断方法及びデータ診断プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1998037491A1 (en) | 1998-08-27 |
| EP1019820A1 (en) | 2000-07-19 |
| CA2275877A1 (en) | 1998-08-27 |
| DE69727083D1 (de) | 2004-02-05 |
| US5889934A (en) | 1999-03-30 |
| JP3283530B2 (ja) | 2002-05-20 |
| DE69727083T2 (de) | 2005-06-16 |
| EP1019820B1 (en) | 2004-01-02 |
| AU4800297A (en) | 1998-09-09 |
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 | |
| JP3177242B2 (ja) | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 | |
| US6480970B1 (en) | Method of verifying data consistency between local and remote mirrored data storage systems | |
| US5761705A (en) | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches | |
| CN1038710C (zh) | 恢复受奇偶校验保护数据的方法和装置 | |
| US7146461B1 (en) | Automated recovery from data corruption of data volumes in parity RAID storage systems | |
| JP3226370B2 (ja) | 高可用度ディスク配列に関する改善 | |
| US7464322B2 (en) | System and method for detecting write errors in a storage device | |
| US5404361A (en) | Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem | |
| US6535994B1 (en) | Method and apparatus for identifying and repairing mismatched data | |
| US5613059A (en) | On-line restoration of redundancy information in a redundant array system | |
| US8001104B2 (en) | Method, system and program for storing and using metadata in multiple storage locations | |
| JP3255751B2 (ja) | 安全性の高いディスクアレイの改良 | |
| US6233696B1 (en) | Data verification and repair in redundant storage systems | |
| US20020184556A1 (en) | Data storage array employing block verification information to invoke initialization procedures | |
| JPH06504863A (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
| US6389511B1 (en) | On-line data verification and repair in redundant storage system | |
| US7234024B1 (en) | Application-assisted recovery from data corruption in parity RAID storage using successive re-reads | |
| US7409499B1 (en) | Automated recovery from data corruption of data volumes in RAID storage | |
| US7577804B2 (en) | Detecting data integrity | |
| GB2343265A (en) | Data storage array rebuild | |
| JP3676793B2 (ja) | ディスクアレイ装置 | |
| EP0559488B1 (en) | Handling data in a system having a processor for controlling access to a plurality of data storage disks | |
| JP2000047832A (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 |