JPH0728608A - 安全性の高いディスクアレイの改良 - Google Patents

安全性の高いディスクアレイの改良

Info

Publication number
JPH0728608A
JPH0728608A JP5076189A JP7618993A JPH0728608A JP H0728608 A JPH0728608 A JP H0728608A JP 5076189 A JP5076189 A JP 5076189A JP 7618993 A JP7618993 A JP 7618993A JP H0728608 A JPH0728608 A JP H0728608A
Authority
JP
Japan
Prior art keywords
sector
data
parity
user data
disk
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
Application number
JP5076189A
Other languages
English (en)
Other versions
JP3255751B2 (ja
Inventor
Robert C Solomon
ロバート・シー・ソロモン
Stephen J Todd
ステイーブン・ジエイ・トツド
Samuel S Pendleton
サミユエル・シー・ペンドレトン
Mark C Lippitt
マーク・シー・リピツト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
Data General Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Data General Corp filed Critical Data General Corp
Publication of JPH0728608A publication Critical patent/JPH0728608A/ja
Application granted granted Critical
Publication of JP3255751B2 publication Critical patent/JP3255751B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】ユーザデータセクタと対応するパリティセクタ
を有する複数のデータ記憶ディスク中のデータを取り扱
うための方法を提供することにある。 【構成】本発明の方法は、そのようなディスクの操作を
制御するアレイ制御プロセッサ中で不揮発性RAMが使用
される、ディスクが非-低下または低下モードで操作さ
れる際に使用される。新データがアレイに書込まれなけ
ればならないとき、電源障害が発生するときに対応する
セクタのパリティ及びデータ入力が一致できるように、
不揮発性RAMは、アレイを識別する情報、データが書込
まれるべき開始セクタ及び新データを書込むために使用
されるセクタ数を記憶する。さらに新アレイを開設する
とき、対応するセクタ中のデータ及びパリティ入力は一
致且つ検査され得、このように一致させるための操作は
制御プロセッサにより実施される他の操作(即ち、その
「バックグラウンド」)間で実施される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムで
使用するための安全性(availability)の高いディスク
アレイ、特にシステム操作時に発生し得る種々の電源障
害状態を処理するための改良方法に関する。
【0002】
【従来の技術】近年、Redundant Array of Inexpensive
Disks(RAID)として呼称される安全性の高いディスク
を提供する特別のディスクアレイシステムが開発され
た。その特有のインプリメンテーションは、文献でその
インプリメンテーションが記載されているレベル5アレ
イ(即ち、RAID-5ディスクアレイ)と呼称される(“A
Case For Redundant Arrays of Inexpensive Disks;RA
ID”,David A.Pattersonら.,Dept.of Electrical Eng
ineering and Computer Sciences,University ofCalifo
rnia,Berkeley,California)。このようなシステム
は、ホストコンピュータの必要性に呼応してアレイの1
種以上のディスクモジュールをアクセスするためにイン
テリジェント入力/出力(I/O)プロセッサを使用し、ア
レイの各ディスクモジュールは、単一のディスクドライ
ブとしてホストコンピュータに効果的に表れるようにI/
O制御プロセッサを介して操作するディスクドライブ機
構により駆動される。ディスクモジュールは、例えば、
ディスク、ディスクドライバ機構及び電力/制御機構を
含む。あるいは、このようなシステムの幾つかのインプ
リメンテーションに於いては、I/Oプロセッサを使用す
る必要はなく、ホストコンピュータはアレイを形成する
ディスクモジュールと直接通信し得る。
【0003】例えば、5つのディスクモジュールのアレ
イを含む特定のRAID-5に於いては、各ディスクは、セク
タの「ストライプ」と通常呼称される5つの各ディスク
中のセクタに対応する、“N”個の複数のデータ記憶セ
クタを有する。任意のストライプに関しては、ストライ
プのセクタ領域の80%(即ち、実際には5つのディスク
アレイの5つのセクタのうちの4つ)はユーザデータ用
に使用され、その20%(実際には5つのセクタのうちの
1つ)は、冗長即ち、パリティデータ用に使用される。
ストライプ中のユーザデータセクタが故障した場合、こ
のような冗長部分を使用するとユーザデータを復元でき
る。
【0004】ユーザデータディスクモジュールが故障す
ると、ストライプのパリティセクタ及びストライプの故
障していないユーザデータセクタ中のデータ中で使用可
能な冗長、即ちパリティ入力は、故障ディスクのセクタ
のデータがアクセスされ得ないときでもこのように復元
されたデータを使用してシステムが操作可能であり得る
ように、実際に復元されるべき故障ディスクのセクタ中
にあったユーザデータを使用させ得る。従ってこれにア
クセスが必要なときには、故障ディスクセクタ中にデー
タを復元するのには余分の処理操作、即ち余分の時間が
必要なのでシステムは「低下」モードで操作される。
【0005】しかしながら、インコヒーレントまたは実
質的に使用不可能な状態でアレイが残っているような特
定の種類の故障[例えば、電源障害が起こった場合、即
ち、I/Oプロセッサ(IOP)への電源が故障したり若しく
は、ハードウエアの欠陥のためにI/Oプロセッサ自体が
故障したり、またはディスクドライブ自体への電源が故
障するなど]は、発生し得る。さらに、例えば、故障し
たIOPと新しいIOPを取り替えなければならない時に電源
障害が起き、新しいIOPを古いIOPと取り替えた後で、ア
レイのセクタへの書込操作の実施を識別する方法がない
場合、さらに問題が発生してしまう。
【0006】現在設計且つ使用されているようなRAID-5
システムにより処理できない、このような電源障害状態
を取り扱うための方法を創案するのが望ましい。
【0007】
【課題を解決するための手段】本発明は、付記図面を参
照として詳細を説明する。
【0008】図4は、本発明が具体化され得るシステム
のブロック図を示す。図示の如く、アレイI/O制御プロ
セッサ25は、ホストコンピュータ及び複数のディスク
モジュール27と交信する。I/O制御プロセッサ25
は、以下詳細に記載の如く、不揮発性ランダム-アクセ
ス-メモリ(RAM)を含む。制御プロセッサは、ディスク
モジュールの書込み/読取り操作並びに、以下詳細に記
載の如くシステム中で使用するため及びシステムの故障
ディスク中のデータを復元するためにディスクモジュー
ルのアレイを開設(opening)するための操作を制御す
る。システムは総ての多重アレイサブシステムを制御す
るための単一I/Oプロセッサを使用してもよく、また、
各ディスクアレイはこれに付随するそれ自身対応するプ
ロセッサを有してもよい。
【0009】本発明は、図1を参照して説明されるよう
に、冗長即ちパリティ操作の使用及びベーシックRAIDシ
ステムの概念を簡単に再調査することによりより理解さ
れよう。アレイのディスクに記憶されたデータを記載す
るために複雑なディジタルエンコーディングを使用する
よりもむしろこのような概念を簡単に理解するために、
以下の説明では整数だけでこのようなデータを表してお
り、このような整数は実際のディジタル的にコードした
ワードであると認識される。図1のアレイは、例えば、
ディスクユニットA、B、C、D及びEにより表されて
おり、各々が各ディスク(図1に図式的に特定的に示さ
れているセクタ1、2、3、…N)にデータを記憶する
ために使用する複数のディスク記憶セクタ11を有す
る、5つのディスクを含むアレイ10を表す。図1に示
されているように、5つのディスクの各ディスクのセク
タ1〜Nの対応するグループは、記載の5つのディスク
アレイのストライプ12を表す。図1に示されている型
の各ディスク上のセクタの他の対応するグループ(示さ
れていない)は、5つのディスクアレイの他のストライ
プを表すことができる。
【0010】図1に示されているディスクアレイは、他
のディスクアレイを含むずっと大きな多重アレイサブシ
ステム全体の一部であってもよい。例えば、典型的な多
重アレイサブシステムは、図1に示されているような5
つのディスクを有する型である6つのアレイを使用し得
るので、30-ディスク多重アレイサブシステムを提供
し、全サブシステムは、好適な多重母線(例えば、公知
の“Small Computer System Interface”即ち“SCSI”
母線)並びに当業界で公知の他の制御母線を介して多重
アレイの各ディスクにアクセスを提供するために、1つ
以上のI/Oプロセッサと好適に接続している。本発明を
より簡単に理解するために、図1に示されているように
単一アレイの単一ストライプのみを参照とする説明が為
されており、アレイの他の各ストライプに関する同一操
作も理解されよう。
【0011】
【実施例】図1のストライプ12に於いて、各ディスク
A、B、C、D及びEのセクタ1に関して、ディスク
A、B、C及びDのセクタ1中のユーザデータが各々整
数1、2、3及び4により表される場合、ディスクE
(ストライプ毎の“パリティ”ディスクとして使用され
る)の対応するセクタ1中の入力は、ユーザデータセク
タ中のデータの合計、即ち1+2+3+4=10であ
る。任意のセクタ(例えば、故障したディスクのセク
タ)中のデータは、パリティセクタのパリティ入力から
故障していないディスクの他の対応する故障していない
セクタ中のデータを引き算することにより復元し得る。
従って、ディスクCが故障したと仮定すると、故障ディ
スクCのセクタ1中にデータ“3”を復元するのが好ま
しい場合、このような引き算法(10−1−2−4=
3)により復元し得る。
【0012】新データが特定のディスクの特定のセクタ
中に書込まれた後であって、しかも新パリティ入力がパ
リティセクタ中に書込まれる前に上記記載の電源障害
(例えば、IOPに対する電源障害、IOP中のハードウエア
の電源障害またはディスクに対する電源障害)が起こっ
た場合、問題が発生し得る。例えば、図2に記載されて
いるように、新データ3がディスクAのセクタ1に書込
まれる場合、新しいパリティ入力は、ディスクEに入力
されるべきである(即ち、3+2+3+4=12)。こ
のような新パリティデータは通常以下の如く書込まれ
る。ディスクAのセクタ1の旧データ(例えば、
“1”)が読取られ、新データとディスクAのセクタ1
の旧データの間の差が計算される(即ち、3−1=
2)。新データ“3”はディスクAのセクタ1に書込ま
れる。ディスクEのセクタ1の旧パリティ10が読取ら
れ、上記計算の差のデータ“2”に足して、新パリティ
入力“12”が得られ、ディスクEのパリティセクタ1
に書込まれる。
【0013】あるいは、新データがユーザデータディス
クに書込まれる前にパリティが確認され、パリティディ
スクにまず入力されるか、あるいは、さらに新データ及
び新パリティが同様に実際に入力されてもよい。
【0014】しかしながら、新パリティ入力“12”が
ディスクEのセクタ1に書込まれる前であって、新デー
タ“3”がディスクAのセクタ1に書込まれた後に、上
述のような故障が起きる場合、ディスクのセクタ1中の
データは図3に示されているようになっており、旧パリ
ティ10はディスクEのセクタ1に残ったままであり、
新データ3はディスクAのセクタ1にある。このような
状態に於いては、ストライプの故障ディスクC中のデー
タを復元しようとする場合、復元されたデータは正しく
ない(即ち、復元されたデータ(10−3−2−4)は
正しいデータ“3”ではなく“1”となる)。
【0015】故障ディスクのデータが不正確に復元され
ないように、図4に示されている不揮発性RAM28はI/O
制御プロセッサで使用される。本発明により、各場合で
新データは、特定のディスクのセクタに書込まれ、I/O
プロセッサは、新データが書込まれる場所に関する以下
の情報を不揮発性RAM(NV-RAM)に記憶する。
【0016】1.新データが書込まれるべき多重アレイ
システムの特定のアレイ。
【0017】2.新データが書込まれるべきアレイ中の
特定の開始セクタ。例えばディスクAのセクタ1。
【0018】3.書込まれるセクタ数。例えば、データ
はたった1つのセクタに書込まれ得る。
【0019】多重I/Oプロセッサを使用する場合、各プ
ロセッサはディスクモジュールの種々のアレイに付随
し、各I/Oプロセッサは通常不揮発性RAMを使用して、そ
のアレイだけに関する情報を記憶する。
【0020】故障が発生し且つアレイが回復した後であ
って、図1に記載のアレイ中のデータを使用する前に、
アレイが通電した場合、IOPは、アレイの各ディスク
A、B、C及びDの対応するセクタ中のユーザデータと
ディスクEの対応するパリティセクタ中のパリティ入力
との間に食い違いがないようにしなければならない。つ
まり、システムは、パリティが他の対応するユーザデー
タセクタ中の現在のユーザデータと正しく一致するよう
に確認しなければならない。このように確認するため
に、I/Oプロセッサは、電源障害が起きたとき書込み操
作が進行中であることを確認するためにNV-RAM(例え
ば、IOPはアレイ)を走査し、書込み操作が進行中であ
る開始セクタおよびそのセクタ数を識別する。従って、
現在、書込みが進行中のデータに依存して、対応するパ
リティセクタが決定される。従って、ディスクAのセク
タ1で書込みが進行中で、ディスクAのセクタ1のユー
ザデータがまだ旧データ“1”である場合、パリティは
1+2+3+4=10として決定される。しかしなが
ら、ディスクAのセクタ1中のユーザデータが新データ
3に変わっていたら、パリティは3+2+3+4=12
として決定される。しかしながら、ディスクEのセクタ
1の実際のパリティがまだ“10”である場合、IOP
は、不一致が存在すると解っている。次いで、IOPは、
ディスクEのパリティセクタ1中のパリティ入力を変え
るので、ディスクA、B、C及びDのユーザデータセク
タ中の実際のユーザデータと一致する。
【0021】従って、書込みが進行中の位置が正しくNV
-RAMにより識別されるので、対応するセクタのパリティ
及びユーザデータは、故障ディスクのセクタ中に復元さ
れたデータが常に、他の故障していないィスクの対応す
るセクタ中に実際に存在するデータ及び対応するパリテ
ィセクタ中のパリティ入力と確実に調和するように調和
され得る。このような操作により、実際のユーザデータ
とストライプの対応するセクタ中のパリティの間が常に
一致するため、I/Oプロセッサは、このような一致がチ
ェックされる際、これがユーザセクタデータから復元さ
れており、故障していないディスクのパリティ入力が故
障したディスクを正しく表し得る。
【0022】新I/O制御プロセッサがシステム中に配置
される場合、つまり、旧I/O制御プロセッサに欠陥があ
るか、他の理由から、旧I/O制御プロセッサが取り替え
られた場合または多重I/Oプロセッサシステム中で故障
したプロセッサにより予め修理されたアレイを修理する
ために、もう一つのディスクアレイを修理(service)
するI/Oプロセッサの一つが必要な場合、新しい制御プ
ロセッサはそのNV-RAMに上記所望の情報をもはや持たな
い(このようなNV-RAMは全くブランクである)ので、故
障が起きた場合に新しい書込み操作が進行中であるかど
うかを突き止めることができず、データが変わってしま
ったアレイのセクタ全部のユーザデータとパリティを一
致させることもできない。このような状態に於いては、
本明細書中“バックグラウンド/ベリファイ”操作と参
照される本発明のもう一つの方法を使用する。
【0023】このようなバックグラウンド/ベリファイ
操作により、ホストコンピュータは、これが含まれる操
作は何でも実施を続行し、このような操作が必要ない場
合には、新しいI/O制御プロセッサは順にユーザデータ
及びアレイの各ディスクの各セクタ中の対応するパリテ
ィを読取る。このように実施すると、新しいI/O制御プ
ロセッサは各セクタ中の各パリティ入力をチェックし、
どんなユーザデータが実際に対応する各ユーザセクタに
存在しても各パリティセクタ中のパリティ入力を一致さ
せる。このようなパリティ検査方法を実施している間に
新しい制御プロセッサがパリティの不一致が存在するこ
とを発見した場合、制御プロセッサが何が不一致を起こ
したか(即ち、1つ以上のユーザセクタ中のユーザデー
タが不正確なのか、対応するパリティセクタ中のパリテ
ィ入力が不正確なのか)を確認できなくても、各対応す
るユーザデータセクタ中に実際に発見されたユーザデー
タを使用することによりパリティ入力を修正する。対応
するセクタ毎にこのようなユーザデータ/パリティ一致
操作を実施することにより得られた検査は、ホストコン
ピュータのコマンド下でのI/O制御プロセッサにより実
施されねばならない他の操作間(即ち、このような他の
操作に関する「バックグラウンド」)でも実施され、I/
O制御プロセッサによるこのような検査操作は、ホスト
コンピュータに対して実際には表に出ない。従って、検
査工程が完了したら、各セクタ中に記憶されたユーザデ
ータとこのようなユーザデータに付随する対応するパリ
ティセクタ中のパリティ入力の間に矛盾がないことを確
認する。
【0024】本発明の不揮発性RAM及び本発明のバック
グラウンド/ベリファイ操作を使用し得る読取り及び書
込み操作の特定の実施は、図5〜図9のフローチャート
を参照として説明される。特定のプログラムは、その中
に開示されているものを使用して当業者によりこのよう
なフローチャートからのIOPにより使用するために迅速
に作成され得る。このような特定のプログラムは、任意
の特別のI/Oプロセッサまたはホストコンピュータシス
テム中で使用するために創案され得、その作成は、図5
〜図9に開示されている知識から当業者には容易であ
る。
【0025】図5から参照されるように、例えば、アレ
イのセクタへの書込み操作は、書込みが非-低下(non-d
egraded)または低下モードでアレイの故障していない
ディスクに対して作成される第1の条件及び、書込みが
低下モードでアレイの故障ディスクに対して作成される
第2の条件下で発生し得る。
【0026】図5から参照されるように、第1の書込み
モード状態に於いて、IOPは重複書込み操作(即ち、同
一セクタ上で同時に実施されているが、まだ完了してい
ない他の書込み操作)が完了するのを待つ。このような
同時書込み操作が終了したら、IOPは、新データが書き
込まれるべきセクタ中の現在のデータ(「旧」データ)
を読取り、NV-RAM(即ち、このような書込操作に関する
情報識別)、アレイ、開始セクタ及び書込み操作が実施
されるべきセクタの総数に関して上記記載の所望の情報
を適当に記録する。
【0027】各セクタに関して、新データは所望のセク
タに込まれ、旧データ及び新データは否定排他的論理和
(XOR)にかけられて部分積を作る。旧パリティが読み
取られ、次いで部分積と否定排他的論理和されて新パリ
ティを作成する。次いで新パリティ入力はパリティセク
タに書込まれ、旧データに関するNV-RAM中の情報は消去
される。
【0028】故障ディスク(即ち、低下モード)に書込
みするとき、(故障ディスク毎に)故障していないディ
スク総てのデータが読取られ、新データと否定排他的論
理和される。否定排他的論理和したデータは、パリティ
セクタのパリティ入力として書込まれる。
【0029】図6に示されるように、データが読取られ
るときには、通常の非-低下モードまたは読取りしなく
てはならない故障ディスクのある低下モードの故障して
いないディスクが読取られる。通常モードに於いては、
IOPは所望のセクタから直接データを読取り、このデー
タをホストに移動する。
【0030】低下モードで故障ディスクから読取った
ら、ストライプのパリティセクタの入力が読取られ、他
の故障していないディスク中のデータが読取られる。パ
リティ入力はこのような他のデータに関して否定排他的
論理和されて、故障ディスク中のデータを再製作し、こ
のようなデータはホストに移動される。
【0031】図7は、システムにより予めアクセスされ
ていないディスクの新アレイがIOPによりアクセスされ
る際または、アレイが一時的にアクセスできなかった
が、アクセスできるようになる際に実施される、「開
設:opnening」アレイと呼称される操作を示している。
上記記載の如く、IOPはストライプ及びアレイに関する
セクタ識別情報を記録するために不揮発性RAMを使用す
る。各アレイは、IOPのNV-RAMに入力を有し、アレイを
開設する際、特定のアレイが開設されている際にIOPのN
V-RAMに既に入力があるかどうかをまず確認しなければ
ならない。
【0032】アレイが開設されている間に有効なNV-RAM
がIOPに現在ない場合、バックグラウンド/ベリファイ工
程(図8参照)はIOPにより初期化され、以下に記載の
如く、新アレイが低下モードにない場合は、アレイが開
設される。有効なNV-RAM入力がIOP中で既に利用可能な
場合、特定のアレイ毎にNV-RAM入力が得られ、且つ入力
用のユーザデータセクタ全体からデータが読取られる。
読取りが完了したら、読取りデータは一緒に否定排他的
論理和されてパリティ入力を形成する。パリティ入力は
パリティセクタに書込まれ、NV-RAM入力は消去される。
(1つある場合)次のセクタグループ毎にNV-RAM入力が
得られ、この工程は繰り返される。このアレイ毎に全部
のNV-RAM入力が消去されたら、アレイが開設される。
【0033】しかしながら、アレイが低下モード(セク
タがディスク上で直接読取られない)にあり、セクタグ
ループ中の読取りが完了できない場合、パリティ入力は
そのセクタグループに関して無効になり、そのNV-RAM入
力には何も起こり得ず、NV-RAMは消去される。従って本
方法は次のNV-RAM入力(1つある場合)に関して繰り返
される。
【0034】図7に記載のバックグラウンド/ベリファ
イ工程は図8に説明されている。IOPはまず、アレイが
低下モードにあるかどうかを確認する。もし低下モード
にある場合、バックグラウンド/ベリファイ操作は故障
し、アレイは開設され得ない(図7参照)。アレイが低
下モードにない場合、IOPはアレイの各ディスクの第1
のセクタに行き、その全ユーザデータセクタからのデー
タを読取る。読取りが完了したら、データは一緒に否定
排他的論理和されてパリティ入力を形成する。パリティ
は対応するパリティセクタ中のパリティ入力として書込
まれる。検査される対応するセクタがアレイの対応する
セクタの最終グループである場合、バックグラウンド/
ベリファイ工程が実施される。そうでない場合、IOPは
対応するセクタの次のグループに行き、アレイ用バック
グラウンド/ベリファイ工程が実施されるまで同一操作
を実施する。
【0035】対応するセクタのグループの処理時にユー
ザデータセクタ中のデータの読取りが完了できない場
合、対応するパリティはセクタグループを無効とし、IO
Pはセクタの次のグループに移動するか、それが最終セ
クタグループである場合、操作はアレイ毎に完了され
る。バックグラウンド/ベリファイ操作が実施される
と、アレイが開設される(図7参照)。
【0036】図9は、故障ディスク中のデータを復元ま
たは改造するための操作を説明している。IOPは故障デ
ィスクのセクタが復元されるべき第1のセクタグループ
に行く。そのセクタグループ中のパリティ入力が読取ら
れ、セクタグループの故障していないセクタ全体のデー
タが読取られ、次いでパリティ入力が否定排他的論理和
されて復元データを供給する。復元データは、改造され
るべき故障ディスクのセクタに書き込まれる。この工程
は、復元されるべき全データセクタに関して繰り返され
る。
【図面の簡単な説明】
【図1】種々の例示のデータ/パリティ状態毎のディス
クモジュールのグループ中のストライプのセクタの線図
を示す。
【図2】種々の例示のデータ/パリティ状態毎のディス
クモジュールのグループ中のストライプのセクタの線図
を示す。
【図3】種々の例示のデータ/パリティ状態毎のディス
クモジュールのグループ中のストライプのセクタの線図
を示す。
【図4】本発明のディスクモジュールシステムのブロッ
ク図を示す。
【図5】種々のデータ書込み状態のフローチャートを示
す。
【図6】種々のデータ読取り状態のフローチャートを示
す。
【図7】ディスクモジュールのアレイを開設するための
フローチャートを示す。
【図8】バックグラウンド/ベリファイ操作用のフロー
チャートを示す。
【図9】故障ディスク中のデータを復元するためのフロ
ーチャートを示す。
【符号の説明】
A,B,C,D,E ディスク 1,2,3,4,10 セクタ 1,2,3,11,N ユーザデータ 25 アレイI/O制御プロセッサ 26 ホストコンピュータ 27 ディスクモジュール 28 不揮発性RAM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ステイーブン・ジエイ・トツド アメリカ合衆国、マサチユーセツツ・ 01543、シユリユウズバリイ、ホールデ ン・ストリート・92 (72)発明者 サミユエル・シー・ペンドレトン アメリカ合衆国、コロラド・80301、ボウ ルダー、アンジエロリツク・コート・3812 (72)発明者 マーク・シー・リピツト アメリカ合衆国、コロラド・80301、ボウ ルダー、アンジエロリツク・コート・3812

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データ記憶ディスクのアレイへのアクセ
    スを制御するためのプロセッサを有するシステム中のデ
    ータを取り扱うための方法であって、前記ディスクの選
    択された数の記憶セクタはユーザデータを含み、前記デ
    ータの選択された1つの記憶セクタはこれに対応するセ
    クタ中のユーザデータ入力と一致する冗長パリティ入力
    を含み、前記ディスク中の対応するユーザデータとパリ
    ティセクタは識別可能なセクタグループを形成し、前記
    プロセッサは不揮発性ランダムアクセス-メモリ(RAM)
    を含み、前記方法は、前記データ記憶ディスクの1つ以
    上の選択されたセクタに新ユーザデータを書込み;前記
    ユーザデータを書込む際、新ユーザデータが書込まれる
    べきアレイを識別する前記不揮発性RAM情報に書込み、
    新ユーザデータが書込まれるべき前記アレイの開始セク
    タを識別し、次いで前記新ユーザデータが書込まれる前
    記1つ以上の選択されたセクタの数を識別する段階を含
    む該方法。
  2. 【請求項2】 電力障害が発生した場合、新ユーザデー
    タが書込まれたセクタを識別する不揮発性RAM中の情報
    を調査し;新データが書込まれたセクタグループの対応
    するパリティセクタ中のパリティ入力を確認し;次いで
    前記各対応するセクタグループの対応するユーザデータ
    セクタ中に記憶されたユーザデータと、対応する各セク
    タグループ中のパリティ入力を一致させる段階をさらに
    含む請求項1に記載の方法。
  3. 【請求項3】 前記不揮発性RAMが前記ディスクの任意
    のセクタ中に新ユーザデータの書込みに関して総ての情
    報を含むかどうかを確認し;次いで前記不揮発性RAMが
    全くそのような情報を含まない場合、各セクタグループ
    のパリティセクタ中のパリティ入力が、対応するセクタ
    グループの対応するユーザデータセクタ中のユーザデー
    タと一致するかどうかを検査する段階をさらに含む請求
    項1に記載の方法。
  4. 【請求項4】 セクタグループ中で不一致が起きる場
    合、前記セクタグループのパリティセクタ中のパリティ
    入力を修正し、前記セクタグループのユーザデータセク
    タ中のユーザデータと正しく一致するパリティ入力を提
    供する段階を含み、前記確認、検査及び修正段階は、プ
    ロセッサが他の制御操作を実施する際に実施されること
    を特徴とする請求項3に記載の方法。
  5. 【請求項5】 データがセクタグループのデータセクタ
    から読取れない場合、そのセクタグループ毎のパリティ
    入力の一部が無効入力として識別される請求項4に記載
    の方法。
JP07618993A 1992-03-10 1993-03-10 安全性の高いディスクアレイの改良 Expired - Fee Related JP3255751B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85128892A 1992-03-10 1992-03-10
US851288 1992-03-10

Publications (2)

Publication Number Publication Date
JPH0728608A true JPH0728608A (ja) 1995-01-31
JP3255751B2 JP3255751B2 (ja) 2002-02-12

Family

ID=25310418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07618993A Expired - Fee Related JP3255751B2 (ja) 1992-03-10 1993-03-10 安全性の高いディスクアレイの改良

Country Status (5)

Country Link
US (1) US5452444A (ja)
JP (1) JP3255751B2 (ja)
AU (1) AU653670B2 (ja)
CA (1) CA2089836C (ja)
IL (1) IL104744A (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
DE69434381T2 (de) * 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US6233704B1 (en) 1996-03-13 2001-05-15 Silicon Graphics, Inc. System and method for fault-tolerant transmission of data within a dual ring network
US5748900A (en) * 1996-03-13 1998-05-05 Cray Research, Inc. Adaptive congestion control mechanism for modular computer networks
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5734814A (en) * 1996-04-15 1998-03-31 Sun Microsystems, Inc. Host-based RAID-5 and NV-RAM integration
US5805788A (en) * 1996-05-20 1998-09-08 Cray Research, Inc. Raid-5 parity generation and data reconstruction
US5862313A (en) * 1996-05-20 1999-01-19 Cray Research, Inc. Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network
US5761534A (en) * 1996-05-20 1998-06-02 Cray Research, Inc. System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
JP2000019891A (ja) * 1998-04-27 2000-01-21 Canon Inc 画像形成装置及びその制御方法、記憶媒体
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
US6513097B1 (en) 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6502174B1 (en) 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
JP2005525668A (ja) * 2002-05-14 2005-08-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ハードディスクドライブシステム、このようなシステムを用いる方法及び装置
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7197599B2 (en) * 2003-12-29 2007-03-27 Intel Corporation Method, system, and program for managing data updates
US7779294B2 (en) * 2005-04-15 2010-08-17 Intel Corporation Power-safe disk storage apparatus, systems, and methods
US7441146B2 (en) * 2005-06-10 2008-10-21 Intel Corporation RAID write completion apparatus, systems, and methods
US7562188B2 (en) * 2005-06-17 2009-07-14 Intel Corporation RAID power safe apparatus, systems, and methods
EP3726339A1 (en) 2019-04-18 2020-10-21 Lockpoint IP GmbH Data handling device
CN114594900A (zh) * 2020-12-04 2022-06-07 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959774A (en) * 1984-07-06 1990-09-25 Ampex Corporation Shadow memory system for storing variable backup blocks in consecutive time periods
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5305326A (en) * 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays

Also Published As

Publication number Publication date
IL104744A0 (en) 1993-06-10
CA2089836C (en) 2000-02-08
CA2089836A1 (en) 1993-09-11
JP3255751B2 (ja) 2002-02-12
AU3303193A (en) 1993-09-16
AU653670B2 (en) 1994-10-06
US5452444A (en) 1995-09-19
IL104744A (en) 1995-07-31

Similar Documents

Publication Publication Date Title
JP3255751B2 (ja) 安全性の高いディスクアレイの改良
JP3226370B2 (ja) 高可用度ディスク配列に関する改善
US5826001A (en) Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US5522031A (en) Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications
US6397347B1 (en) Disk array apparatus capable of dealing with an abnormality occurring in one of disk units without delaying operation of the apparatus
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
US5822782A (en) Methods and structure to maintain raid configuration information on disks of the array
US6959413B2 (en) Method of handling unreadable blocks during rebuilding of a RAID device
US5790773A (en) Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US7562281B2 (en) Autonomic parity exchange
US7930697B2 (en) Apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
US20080126890A1 (en) Autonomic Parity Exchange
US6629273B1 (en) Detection of silent data corruption in a storage system
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
US7302603B2 (en) Host-initiated data reconstruction for improved RAID read operations
EP0768604A2 (en) Promoting device level error to RAIDset level error to restore redundancy in a RAID array data storage system
US7549112B2 (en) Unique response for puncture drive media error
US6859890B2 (en) Method for reducing data/parity inconsistencies due to a storage controller failure
US7174476B2 (en) Methods and structure for improved fault tolerance during initialization of a RAID logical unit
EP0559488B1 (en) Handling data in a system having a processor for controlling access to a plurality of data storage disks
JPH1185412A (ja) ディスクアレイ装置制御方法およびディスクアレイ装置
US20220129437A1 (en) Configuration metadata recovery
JP2002123372A (ja) キャッシュメモリ付きディスクアレイ装置及びそのエラー制御方法並びにその制御プログラムを記録した記録媒体
JP2000137581A (ja) 記憶装置制御方式
JP2006155320A (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: 20081130

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees