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