JPH05346866A - 冗長アレーデータ記憶システムにおける書込データ保全を確立するためのシステム及び方法 - Google Patents

冗長アレーデータ記憶システムにおける書込データ保全を確立するためのシステム及び方法

Info

Publication number
JPH05346866A
JPH05346866A JP4314684A JP31468492A JPH05346866A JP H05346866 A JPH05346866 A JP H05346866A JP 4314684 A JP4314684 A JP 4314684A JP 31468492 A JP31468492 A JP 31468492A JP H05346866 A JPH05346866 A JP H05346866A
Authority
JP
Japan
Prior art keywords
array
data
data modification
modification operation
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4314684A
Other languages
English (en)
Inventor
Albert Lui
ルイ アルバート
Mark S Walker
エス ウォーカー マーク
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH05346866A publication Critical patent/JPH05346866A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/911Nonmedical diagnostics
    • Y10S706/916Electronic or computer, internal or network, circuit

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)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 冗長アレーデータ記憶システムに対するデー
タ変更オペレーションの完了及び保全を確立し、及びシ
ステムにおける冗長度の保全を確立する。 【構成】 オペレーションにチェックポイントを付与す
る。主及び第2CPU1a,1bによって形成される信
頼性ホストプロセッシングが備えたバッファ完了後のホ
ストCPU1a,1bの故障がデータ変更オペレーショ
ンの完了を妨害しないように、アレーコントローラ3
a,3bへのデータ伝送前においてホストCPUアダプ
タ2a,2bにおける書込データをブロックバッファ1
1する。主及び第2アレーコントローラ3a,3bによ
って信頼性アレープロセッシングを形成する。アレーコ
ントローラ3a,3b及び記憶アレーを備えた記憶装置
4を電源バッテリバックアップする。後の再試行に使用
するために、記憶装置4に十分に書き込まれなかったデ
ータ記録に対して、アレーコントローラの不揮発性メモ
リにより、全てのデータ変更オペレーションコマンド情
報を記憶する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
のデータ記憶装置、特に冗長アレーデータ記憶システム
に対するデータ変更オペレーションの完了及び保全を確
立し、そしてかかるシステムにおける冗長度の保全を確
立するためのシステム及び方法に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】代表的
なデータ処理システムは、中央処理装置(CPU)に直
接にもしくは制御装置及びチャネルを介して接続された
1つもしくはそれ以上の記憶装置を備えている。
【0003】現行のデータ処理システムにおいて、各種
の記憶装置が使用されており、典型的なシステムでは、
データを記憶するためのそれぞれの制御装置を介してそ
のシステムに接続された大容量のテープユニット及び/
又はディスクドライブ(磁気,光学もしくは半導体)を
有している。
【0004】しかしながら、かかる大容量の記憶装置の
1つが故障した場合、そのシステムに含まれる情報がも
はやシステムにとって有効に作用しなくなるという問題
がある。一般にそのような故障が起こると、全コンピュ
ータシステムは閉塞してしまう。
【0005】従来、信頼性あるデータ記憶装置を提供す
るという課題を解決すべく様々な技術が提案されてい
る。記録量が比較的小さいシステムでは、記憶装置内の
データ記録に付加されるECCシンドロームビットを生
成する誤り訂正符号を用いることができる。この誤り訂
正符号により、誤って読み出され得る少量データを訂正
することは可能である。ところが上記符号は、誤ってい
る長い記録を、訂正し又は再生成するのには一般に適し
ておらず、そして全記憶装置が故障したならば、全く修
正し得ない。このため個々の記憶装置の外部にデータ信
頼性を確保する必要がある。
【0006】このような問題の1つの解決方法としてデ
ィスクアレーシステムがある。このディスクアレーシス
テムには種々のタイプがあり、バークレイのカリフォル
ニア大学の研究グループは、「安価なディスクの冗長ア
レーのためのケース(RAID)」と題される研究論文
(パターソン等、ACM SIGMOD会報,1988
年7月)の中で、(安価なディスクの冗長アレーを示
す。)頭文字「RAID」の名で5つのアーキテクチャ
を確立することにより、複数の異なるタイプをカタログ
に載せている。
【0007】アーキテクチャRAID1は、一対の「ミ
ラー」記憶装置セットを設け、各記憶装置のすべてのデ
ータの複製を保持するようにしている。この解決方法は
信頼性問題を解決するが、記憶装置のコストが倍増す
る。なお、幾多のアーキテクチャRAID1が、特にタ
ンデムコーポレーションによって実現されている。
【0008】アーキテクチャRAID2は、別体の複数
のディスクドライブ上で、データの各ワードの各ビッ
ト、各ワードに対するパルス誤り検出訂正(EDC)ビ
ットを記憶する。例えば、フローラ等の米国特許第4,
722,085号には、多数の比較的小さく独立的に演
算するディスクサブシクテムを用いたディスクドライブ
メモリが開示されており、このサブシクテムは、極めて
高い故障許容性と極めて大きいデータ伝送バンド幅を有
する極大容量ディスクドライブとして機能する。データ
オーガナイザは、誤り検出及び誤り訂正能力を確保する
ために、各32ビットデータワードに対して(周知のハ
ミング符号を使用して決定される)7EDCビットを付
加する。そして結果的な39ビットワードがディスクド
ライブ毎に1ビットで39ディスクドライブに書き込ま
れる。仮に39ディスクドライブのうちの1つが故障し
たならば、各データワードがそのディスクドライブから
読み出されるので、記憶された各39ビットワードの残
りの38ビットが、ワード単位のベース上の各32ビッ
トデータワードを再構成するために用いられ、これによ
り故障許容性を確保することができる。
【0009】アーキテクチャRAID3の基本概念は、
各ディスクドライブ記憶装置が、故障もしくはデータエ
ラーを検出するための内部手段を有しているということ
である。従って、誤り位置を検出するための余分な情報
を記憶する必要がなく、このためパリティを用いた誤り
訂正の簡素なフォームが使用可能である。このような仕
方においては、故障を前提とする全ての記憶装置の内容
はパリティ情報を生成するために「排他的論理和化」
(XOR)される。結果的に生じるパリティ情報は単一
の冗長記憶装置に記憶される。もしも1つの記憶装置が
故障したならば、その記憶装置のデータは、パリティ情
報を有する残りの記憶装置からのデータを排他的論理和
化することにより、置換記憶装置上で再構成され得る。
かかる構成によれば、単一の付加的記憶装置が「N個
の」記憶装置に対して要求されるミラー化されたディス
クのアーキテクチャRAID1以上に利点を有してい
る。アーキテクチャRAID3の更なる特徴は、ディス
クドライブがアーキテクチャRAID2の場合と同様に
一対の態様で作用され、単一のディスクドライブがパリ
ティ装置として設計されているという点である。このア
ーキテクチャRAID3は、マイクロポリスコーポレー
ションの並列ドライブアレー,1804SCSIモデル
として実現されており、このモデルは4つの並列同期デ
ィスクドライブと1つの冗長パリティドライブを用いて
いる。4つのデータディスクドライブのうちの1つの故
障は、パリティディスクドライブに記憶されたパリティ
ビットを使用することにより修正される。またアーキテ
クチャRAID3の他の例は、オーウチの米国特許第
4,092,732号に記述されている。
【0010】アーキテクチャRAID4は、アーキテク
チャRAID3のパリティ誤り訂正の概念を用いるが、
個々のディスクドライブアクチュエータのオペレーショ
ンを非連成にし、各ディスク(これはブロックストライ
プとして知られている)に対して、より大きな最小デー
タ量(典型的にはディスクセクター)を読み出し及び書
き込むことにより、小ファイルのランダム書込に関して
アーキテクチャRAID3の性能を改良する。アーキテ
クチャRAID4の更なる形態は、単一記憶装置がパリ
ティユニットとして設計されているということである。
【0011】アーキテクチャRAID5は、アーキテク
チャRAID4と同様なパリティ誤り訂正の概念と独立
したアクチュエータを用いるが、全ての利用可能なディ
スクドライブを通るデータ及びパリティ情報を分配する
ことにより、アーキテクチャRAID4システムの書込
性能を改良している。典型的には、1組の「N+1個
の」記憶装置(冗長グループとして知られている)は、
ブロックと言われる複数の同サイズのアドレス領域に分
割される。各記憶装置は通常、同数のブロックを備えて
いる。同一の装置アドレス範囲を有する冗長グループ内
の各記憶装置からのブロックは、ストライプと言われる
ている。各ストライプは、そのリマインダのためのパリ
ティを備えた1つの記憶装置に、データのNブロックと
付加的な1つのパリティを有している。更にストライプ
の各々はパリティブロックを有し、これらのパリティブ
ロックは異なる記憶装置へ分配される。冗長グループの
データ変更毎に連合するパリティ更新動作は、上記異な
る記憶装置に亘って分配される。単一記憶装置には、全
てのパリティ更新動作の負荷はかからない。例えば、5
つのディスクドライブを有するアーキテクチャRAID
5では、第1ブロックストリップのパリティ情報は第5
ドライブに書き込まれ、又第2ブロックストライプのパ
リティ情報は第4ドライブに書き込まれ、そして第3ブ
ロックストライプのパリティ情報は第3ドライブに書き
込まれる。ストライプに後行するためのパリティブロッ
クは、(他のパターンも用い得るが)ヘリカルパターン
で、ディスクドライブのまわりを先行する。このためア
ーキテクチャRAID4の場合のようには、パリティ情
報を記憶するために単一ディスクドライブは用いられな
い。アーキテクチャRAID5の例がクラーク等の米国
特許第4,761,785号に開示されている。
【0012】RAID3,4及び5のディスク記憶アレ
ーの形態は、RAID1及び2の形態に比較してより安
価な選択を提供する。しかしながら、性能が最適化され
たRAID3,4及び5システムは、構成要素の故障の
ために、書込オペレーションがその完了前に失したなら
ば、データ及び/又はパリティ情報の壊乱に極めて影響
され易い。かかるシステムでは、時間的に間に合うため
に、データ更新とは順次によりも寧ろ同時に生じるパリ
ティ情報の更新を有することが望ましい。このため、書
込オペレーション中に記憶装置に(電力損失や制御装置
の故障等の)一時的な「故障」が生じたならば、データ
もしくは対応するパリティ情報が正確に書き込まれ、有
効であるという保証はないのである。2つのI/Oオペ
レーションが更新及びその連合するパリティに対して行
われるので、システムの終了前にいずれのI/Oオペレ
ーションが完了したかを決定することは困難である。従
って、書き込まれたデータは壊乱されるであろう。
【0013】「アトミックライト」という語が、データ
記憶装置への書込オペレーションを画定するために用い
られるが、このデータ記憶装置において、そのオペレー
ションは一旦開始すると、そのオペレーション中に構成
要素又はサブシステムの故障にかかわらず、データが失
われないように、(1)データ記憶装置に確実に書き込
まれるデータを一定に完成し、又は(2)データが書き
込まれなかったことを積極的に表示してそのオペレーシ
ョンから完全に回復させる。
【0014】タンデムコンピュータインコーポレイテッ
ドは度々、フォールトトレランスなコンピュータのライ
ンに、RAID1型のミラー化された記憶装置に対して
アトミックライトを提供した。しかしながら、RAID
3,4及び5のディスク記憶アレーシステムにおけるデ
ータ保全及び冗長度の保全を確立するための試みがなさ
れているが、この技術分野において未だ十分に解決され
ていない。特に、RAID3,4及び5のディスク記憶
アレーでアトミックライトを確立するコンピュータシス
テムは、この技術分野において未だ開示されていない。
【0015】従って、書込オペレーションを完成させ、
且つ構成要素の故障が起こった場合でさえ、有効な冗長
情報がRAID3,4及び5において生成されることを
確立するシステムアーキテクチャに対する要望がある。
また、著しく壊乱された冗長情報の記憶が、通常処理オ
ペレーションに対して最小衝撃で伝えられ得るRAID
システムも待望されている。
【0016】本発明は、これらの目的を達成するための
システム及び方法を提供する。
【0017】
【課題を解決するための手段及び作用】本発明は、デー
タ変更オペレーションを完了させ、且つ構成要素の故障
が起こった場合でさえ、有効な冗長情報がRAID3,
4及び5において生成されることを確立するためのシス
テム及び方法を提供する。本発明はまた、著しく壊乱さ
れた冗長情報の記憶が、通常処理オペレーションに対し
て最小衝撃で伝えられ得るシステムを提供する。
【0018】本発明システムは、アトミックライトを実
現するために4つの構成要素を結合する、即ち、 (1)主CPUが故障したならば、第2CPUがデータ
変更オペレーションの開始を完了させるように、オペレ
ーションのチェックポイントを備えた主及び第2CPU
によって形成される信頼性ホストプロセッシング、 (2)バッファ完了後のホストCPUの故障がデータ変
更オペレーションの完了を妨害しないように、RAID
アレーコントローラへのデータ伝送前でのホストCPU
アダプタにおける書込データのブロックバッファ、 (3)第1アレーコントローラが故障したならば第2ア
レーコントローラがデータ変更オペレーションの開始を
完了させるように、オペレーションのチェックポイント
を備えた主及び第2アレーコントローラによって形成さ
れる信頼性アレープロセッシング、 (4)(a)アレーコントローラ及び記憶アレーを備え
た記憶装置への電源に対するバッテリバックアップ、も
しくは(b)選択的であるが、後の再試行に使用するた
めに、記憶装置に十分に書き込まれなかったデータ記録
に対して、全てのデータ変更オペレーション・コマンド
情報(例えば、データアドレス情報やレコード長)を記
憶するのに十分なアレーコントローラにおける不揮発性
メモリ。
【0019】本発明の好適な実施例の詳細が添付図面及
び以下の記述において示される。本発明の詳細が一旦理
解されれば、多くの付加的な改新や変更が当業者におい
て明白になるであろう。
【0020】
【実施例】この記述を通して、開示される好適な実施例
は、本発明のシステム及び方法の限定としてよりも、寧
ろ一例として理解されるであろう。
【0021】図1は、一般的な従来のRAIDデータ記
憶システムのブロック図である。ホストI/Oアダプタ
2を介して、アレーコントローラ3に結合されたホスト
CPU1が図示されている。アレーコントローラ3は、
I/Oバス(例えばSCSIバス)によって複数の記憶
装置4の各々と結合する。このアレーコントローラ3
は、記憶装置4を制御するためにホストCPU1と独立
して作動する。かかるシステムの更なる記述は、クラー
ク等の米国特許第4,761,785号に開示されてい
る。
【0022】データ変更もしくは書込オペレーション
は、ホストI/Oアダプタ2及びアレーコントローラ3
を介して、ホストCPU1のメモリからアドレス情報に
沿って、データ記録を移動させることと、上記アドレス
情報に従って1つ又はそれ以上の記憶装置4のデータ記
録を記録することとを含んでいる。RAID3,4及び
5データ記憶システムに対して、対応する冗長記録(通
常、パリティ情報を含んでいる)は、この冗長記録によ
って保護されるデータに対して冗長度を維持するため
に、アレーコントローラ3によって更新される。そのと
きにのみ書込オペレーションは、完了する。
【0023】かかるアーキテクチャによってもたらされ
る問題は、それが故障のワンポイント性の多様化、つま
り冗長もしくはフォールトトレランスを備えていない複
数の構成要素を有しているということである。書込オペ
レーション中のいずれか1つの構成要素の故障は、最も
よくみてもそのオペレーションを完了し損ね、そして最
悪の場合にはデータ及び/又は冗長情報の壊乱を生じさ
せる結果となるであろう。最近のRAIDシステムで
は、幾つかの書込オペレーションがスタックされ得(即
ち、同時にペンディングとなり)、幾つかのデータ記録
及び冗長記録は、その書込オペレーションが割り込まれ
たときに壊乱されるであろう。
【0024】ホストCPU1,ホストI/Oアダプタ
2,アレーコントローラ3又は記憶装置4のいずれか1
つの書込オペレーションの故障後に、冗長記録と同様に
データ記録が有効且つ整然となるようにすることが解決
すべき課題である。(理論上、複数の同時的な故障が発
生するが、そのような事故の可能性は少ない。しかしな
がら、最高位のフォールトトレランスが要求される適用
例の場合には、全ての構成要素の付加的な冗長レベル
が、周知の仕方で与えられるであろう。)図2は、本発
明に従うRAIDシステムを備えたフォールトトレラン
スコンピュータシステムの好適な実施例のブロック図で
ある。主CPU1a及び第2CPU1bは、インタプロ
セッサバス10によって結合される。両方のCPU1
a,1bは、それぞれがアレーコントローラ3a,3b
に結合された一対のホストアダプタ2a,2bに結合さ
れる。各アレーコントローラ3a,3bは、各データ記
憶装置4が両方のアレーコントローラ3a,3bに結合
されるように、複数のI/Oバスによって複数のデータ
記憶装置4に結合される。選択的態様において、ホスト
アダプタ2a,2bの機能は、対応するアレーコントロ
ーラ3a,3bに物理的に結合される。両方の構成要素
の機能が要求されるので、発明原理が不変のまま維持さ
れる。
【0025】本発明システムは、アトミックライトを実
現するために4つの構成要素を結合する、即ち、 (1)信頼性ホストプロセッシング。主CPU1aが故
障したならば第2CPU1bがデータ変更オペレーショ
ンの開始を完了させるように、オペレーションのチェッ
クポイントを備えた第1及び第2CPUによって、信頼
性ホストプロセッシングが設けられる。かかるオペレー
ションのチェックポイントは、幾多の周知の方法によっ
て行われ得るが、基本的には比較のためにCPU1a,
1b間で周期的に通信されるステータス情報により、両
方のCPU1a,1bでの同一プロセスを実行すること
を含んでいる。特に、このチェックポイント情報は、各
書込オペレーションの前及び各書込オペレーションの後
で通信され、各CPUが現在のオペレーション状態の記
録を有するようにさせる。
【0026】仮に主CPU1aが故障したならば、第2
CPU1bは、ペンディング中の書込オペレーションの
最後の状態を決定するチェックポイント情報を使って、
オペレーションを続行し、それらの書込オペレーション
を完了させる。書込オペレーションが主CPU1aによ
って開始されたならば、そのオペレーションに関するチ
ェックポイント情報は第2CPU1bへ伝送される。チ
ェックポイント情報は、主要なデータ記録(「書込イメ
ージ」)及びアドレス情報,データ記録及びアドレス情
報へのポインタ情報(例えば、共通なフォールトトレラ
ンスメモリ)、或いはまた第2CPU1bのデータ記録
のどの部分が主CPU1aのデータ記録に従うために変
化する必要があるかを表す変化記録を備えている。
【0027】書込オペレーションが完了すれば、その有
効なチェックポイント情報は、主CPU1aによって第
2CPU1bへ伝送される。主CPU1aが書込オペレ
ーションの完了前に故障したならば、第2CPU1b
は、完了を確認するために、ホストI/Oアダプタ2
a,2bをモニタし、或いはまた最初から書込オペレー
ションを再開始するためにチェックポイント情報を使用
する。
【0028】(2)書込データのブロックバッファ。デ
ータ記録に対する「前」,「後」の書込イメージパルス
間に変化記録が、主CPU1a及び第2CPU1b間で
通信されれば、第2CPU1bは、主CPU1aが故障
している場合には、完了していない書込オペレーション
を速やかに回復させ得る。しかしながら、完了書込イメ
ージを通信することは、各CPU1a,1bに演算的な
負荷を課し、このためシステムの有効処理能力を低下さ
せる。従って、通常のオペレーションに対しては、CP
U1a,1b間の変化記録だけを通信することで十分で
ある。これは、部分的ブロックチェックポイントと言わ
れ、フォールトトレランスコンピュータシステムの処理
的な負荷を減少させる有効な方法である。
【0029】部分的ブロックチェックポイントでは、ホ
ストアダプタ2a,2bへ書き込まれるべき変更された
データ記録の伝送の最中に主CPU1aが故障し、その
変更されたデータ記録の記憶装置4への書込が開始され
た場合、アトミックライトを確立するための問題が提示
される。変更されたデータ記録の情報を有する記憶装置
4において部分的にのみオリジナルデータ記録が更新さ
れたならば、第2CPU1bは、変更されたデータ記録
を生成するために、オリジナルデータ記録に対してチェ
ックポイント変化を適用することができない。これは、
第2CPU1bが、それに作用すべき壊乱されていない
オリジナルデータ記録を有していないからである。
【0030】本発明はこの問題を解決するが、その一方
で、所望の数の書込データ記録を緩衝するのに十分なサ
イズの各ホストI/Oアダプタ2a,2bにおけるデー
タバッファ11を設けることにより、部分的ブロックチ
ェックポイントの有効性を維持し、またホストI/Oア
ダプタ2a,2bがアレーコントローラ3a,3bへデ
ータ記録を伝送する前に、完了データ記録及びそれに対
応するアドレス情報がホストI/Oアダプタ2a,2b
において緩衝されることが必要になる。データブロック
が完全にホストI/Oアダプタ2a,2bへ伝送される
前に、主CPU1aが故障したならば、新たなデータ記
録が記憶装置4へ書き込まれず、そして該記憶装置4上
のデータは壊乱されずに保持される。第2CPU1b
は、記憶装置4から読み戻されたオリジナルの壊乱され
ていないデータに対して、適切なチェックポイント変化
記録を適用することができ、その記憶装置4に再生成さ
れたデータ記録を書き込むことができる。データ記録が
完全にホストI/Oアダプタ2a,2bへ伝送された後
に主CPU1aが故障したならば、ホストI/Oアダプ
タ2a,2b及びアレーコントローラ3a,3bは、主
CPU1aの更なる介入なしに、書込オペレーションを
完了するために必要な全ての情報を有する。
【0031】(3)信頼性アレープロセッシング。信頼
性アレープロセッシングは、主アレーコントローラ3a
が故障したならば、第2アレーコントローラ3bが書込
オペレーションを完了させるように、オペレーションの
チェックポイントを備えた主及び第2アレーコントロー
ラ3a,3bによって形成される。オペレーションのチ
ェックポイントは、CPU1a,1bのチェックポイン
トの場合のように、多くの周知の方法によって行われる
が、基本的には、比較のためにアレーコントローラ3
a,3b間で通信されるステータス情報により、両方の
アレーコントローラ3a,3bでの同一プロセスを実行
することを含んでいる。特に、このチェックポイント情
報は、各書込オペレーションの前及び各書込オペレーシ
ョンの後で通信され、各アレーコントローラ3a,3b
が現在のオペレーション状態の記録を有するようにさせ
る。
【0032】アレーコントローラ3a,3bの場合、ホ
ストCPU1a,1bからの完了書込イメージは、アレ
ーコントローラ3a,3bが並行してI/Oバス通信に
「聞く」ことができるので、このI/Oバスを介してア
レーコントローラ3a,3bと有効に通信され得る。主
アレーコントローラ3aによって書込オペレーションの
状態を折り返すチェックポイント変化記録は、主アレー
コントローラ3aによって、第2アレーコントローラ3
bへ伝送される。主アレーコントローラ3aが故障した
ならば、第2アレーコントローラ3bは、ペンディング
中の書込オペレーションの最後の状態を決定するチェッ
クポイント情報を使って、オペレーションを続行し、そ
れらの書込オペレーションを完了させる。
【0033】選択的態様において、各アレーコントロー
ラ3a,3bは、コモンバスを介して記憶装置4の各々
と結合され、第2アレーコントローラ3bは、主アレー
コントローラ3aによって保証されたオペレーションの
状態を決定するためにバスをモニタすることができる。
このようなモニタにより、第2アレーコントローラ3b
は、どの書込オペレーションが開始され、又いずれの書
込オペレーションが完了されたかを演繹することができ
る。主アレーコントローラ3aが故障したならば、第2
アレーコントローラ3bは、記憶装置4のオペレーショ
ンを簡単に継承し、全てのペンディング中の書込オペレ
ーションを完了する。
【0034】(4a)記憶装置システム電源に対するバ
ッテリバックアップ。書込オペレーションが完了する前
に、両方のアレーコントローラ3a,3b及び記憶装置
4が故障したならば、記憶装置4に記憶された冗長デー
タは、電源が故障した場合には、書き込まれるデータ記
録の冗長グループのために必要な冗長情報を正確に折り
返さないであろう。完全状態では、記憶装置4への全て
のデータ及び冗長記録の書込は、電源が故障する前に完
了する。ところが、恐らく次のような事態のいずれかが
生じるであろう。即ち、(1)データ記録及び/又は冗
長記録が部分的に書き込まれ、一部えり抜かれた情報を
有する、(2)データ記録は完全に書き込まれるが、冗
長記録は書き込まれない、又は(3)冗長記録は完全に
書き込まれるが、データ記録は書き込まれない。
【0035】さらに、電源が回復した場合、ホストCP
U1a,1bは、アレーコントローラ3a,3bが電源
故障前にそこに作用していた適正なアドレス位置におけ
る情報を正常に持たない。(1)のケースは、内部の誤
り訂正符号(ECC)又はサイクリックリダンダンシー
チェック(CRC)符号を用いることにより、記憶装置
4によって検出され、そして再試行及び誤り回復オペレ
ーションを介してホストCPUによって訂正され得る
が、一般にホストCPUは、そのようなオペレーション
を介しては(2)及び(3)のケースを訂正することが
できない。
【0036】冗長情報を検査し、そして訂正する1つの
方法は、システムのパワーアップ毎に、(例えば、記憶
装置4における全ての冗長グループに対する冗長記録を
再演算することにより)冗長記録の整合性に対する記憶
装置4の全てをチェックすることである。不整合性の検
出により、正確に書き込まれなかったデータ記録のアド
レスが表示される。CPU1a,1bはそのとき、その
ようなデータ記録に対して先行する書込オペレーション
を再実行することができる。しかし、このことは、RA
IDシステムに共通しているように、大容量の記憶装置
が使用される場合には、極めて時間的浪費である。さら
に、記憶アレーは、CPU1a,1bがブート符号を記
憶するために記憶装置4に従属するならば、システムブ
ート時間を遅延させるパワーアップ毎にシステムに対し
て有効的でなくなるであろう。
【0037】本発明により提供される、アレーコントロ
ーラ3a,3b及び記憶装置4に対する電源故障の問題
の1つの解決方法は、記憶サブシステムへの電力供給に
対するバッテリバックアップ12を使用することであ
る。バッテリバックアップ12は、記憶サブシステムに
おけるペンディング中の書込オペレーションを完了させ
得る「静かな」電源故障の閉塞周期を形成する。
【0038】好適な実施例では、バッテリバックアップ
12は、記憶サブシステムに一定の電力を供給する連続
電力供給(UPS)システムであり、外部電源から充電
されている。選択的には、外部主電源をモニタし、この
外部主電源が故障したならば、自動的に電源回路に切り
替える切替電源(SPS)を用いることができる。UP
S及びSPS双方とも周知の技術である。
【0039】(4b)書込オペレーションに対する不揮
発性メモリ。バッテリバックアップ12を使用すること
の1つの欠点は、支援される記憶装置4の数と共に、該
バッテリバックアップ12の費用及びサイズが増大する
ことである。本発明により提供される選択的な解決方法
は、後の再試行に使用するために、記憶装置4に十分に
書き込まれなかったデータ記録に対して、全ての書込コ
マンド情報(例えば、データアドレス情報やレコード
長)を記憶するのに十分なアレーコントローラ3a,3
bにおける不揮発性メモリを用いることである。
【0040】図3は、本発明に従うRAIDデータ記憶
サブシステムのブロック図である。各アレーコントロー
ラ3a,3bは、それぞれホストアダプタインタフェイ
ス13a,13b、マイクロコントローラ14a,14
b、両方のアレーコントローラ3a,3bに対する未決
定書込コマンドのための不揮発性書込コマンドバッファ
15a,15b及びドライブインタフェイス16a,1
6bを備えている。各ドライブインタフェイス16a,
16bは、標準的バス(例えばSCSIバス)により多
数の記憶装置4と結合されている。
【0041】書込コマンドバッファ15a,15bは、
例えば16キロバイトの不揮発性のスタティック等速呼
出記憶装置(SRAM)から形成される。SRAMとし
ては、ダラスセミコンダクタ製の品番DS1220Yが
適合し得る。
【0042】通常オペレーションは次の通りである。マ
イクロコントローラ14a,14bが、対応するホスト
アダプタインタフェイス13a,13bを介して、ホス
トCPU1aから書込オペレーションを受信すると、マ
イクロコントローラ14a,14bは、対応する書込コ
マンドバッファ15a,15bにおいて、変更されたデ
ータ記録の位置及び長さを含んでいる書込コマンドのイ
メージを記憶する。各書込オペレーションが完了するの
で(即ち、データ記録及び対応する冗長記録とも記憶装
置4に書き込まれる)、各マイクロコントローラ14
a,14bは、書込データ記録に対応する書込コマンド
イメージを有効に除去するために、対応する不揮発性書
込コマンドバッファ15a,15bを更新する。各不揮
発性書込コマンドバッファ15a,15bは、順序立て
て多数の書込コマンドの待行列を形成する。全てのペン
ディング中の書込コマンドが完了すれば、不揮発性書込
コマンドバッファ15a,15bは効果的に空になるで
あろう。
【0043】仮に両方のアレーコントローラ3a,3b
又は記憶装置4で電源故障が生じたならば、その回復プ
ロセスは次の通りである。主マイクロコントローラ14
aは、いずれかの書込コマンドが電源故障の前にペンデ
ィング中であるか否かを決定するために、その不揮発性
書込コマンドバッファ15aを読み出す。そうでなけれ
ば、通常処理が再開される。またペンディング中であれ
ば、マイクロコントローラ14aは、不揮発性書込コマ
ンドバッファ15aの書込コマンド情報によって表示さ
れる記憶装置4におけるそれらの位置に対して、冗長整
合性チェックを実行する。冗長整合性チェックは、ペン
ディング中の書込コマンドによって表示される冗長グル
ープストライプの全ての対応するデータ記録を読み出す
ことにより遂行され、(例えば、全てのデータ記録の排
他的論理和化によって)データ記録読出に基づく新たな
冗長記録を計算し、そしてその冗長グループのための記
憶装置に新たな冗長記録を書き込む。この手続は、記憶
装置4の冗長情報を有効ならしめる。
【0044】電源故障が生じたときに、データ記録が部
分的にのみ書き込まれたならば、そのデータ記録は、読
出の際の適正なCRC符号を生成しないであろう。主マ
イクロコントローラ14aは、誤り標識を有するこれら
のデータ記録の各々を(直接的又は間接的に)表記し、
データ記録に周知パターンを書き込み(例えば、無効C
RC符号で、全て1)、この周知パターンに基づく対応
する冗長グループストライプのための正確な冗長情報を
生成し、そしてデータ記録が誤りであることをCPU1
a,1bに表示する。
【0045】冗長記録が有効にされた後に、CPU1
a,1bは、前に終了していない書込オペレーションを
全て再開始し得るが、このオペレーションは、誤りとし
て表記された全てのデータ記録を訂正し、そのデータ記
録を記憶装置4に伝送して更新するであろう。
【0046】終了していない書込オペレーションの数
は、通常、記憶装置4に記憶されたデータ量よりも少な
いので、冗長記録を有効化し及び全ての割り込まれた書
込コマンドに対して書込オペレーションを再試行するこ
とは、全記憶システムの全ての冗長記録を有効にするこ
とよりも極めて迅速である。かくして、不揮発性書込コ
マンドバッファ15aにより、従来技術に比較して著し
い速度的な利点が得られる。
【0047】主マイクロコントローラ14aが故障した
ならば、第2マイクロコントローラ14bが記憶装置4
のオペレーションを引き継ぎ、終了していない書込コマ
ンドの状態を決定するために、対応する書込コマンドバ
ッファ15bの情報を使用する。そして上述したように
回復処理が進行するであろう。
【0048】本発明の幾多の実施例が記述された。しか
しながら、本発明の意図及び範囲を逸脱することなく、
多くの変更がなされ得ると理解されるであろう。例え
ば、本発明は、RAID3,4又は5システムで使用可
能である。さらに、XOR生成パリティに付加的な又は
その代わりの誤り検出方法が、必要な冗長情報のために
使用され得る。リードソロモン符号を用いるそのような
方法の1つは、「アレー化されたディスクドライブシス
テム及び方法」の名称で、1988年11月14日に出
願された米国特許第270,713号に開示されてお
り、その特許は本発明の譲受人に譲渡されている。従っ
て、本発明は特別に例証された実施例によって限定され
るものでなく、添付の特許請求の範囲によってのみ画定
されると理解されるべきである。
【0049】
【発明の効果】以上説明したように、本発明によれば、
RAID3,4及び5に有効に適用可能で、書込オペレ
ーションを完成させ、且つ構成要素の故障が起こった場
合でさえ、有効な冗長情報を生成し得るシステムアーキ
テクチャを実現する。また、著しく壊乱された冗長情報
の記憶が、通常処理オペレーションに対して最小衝撃で
伝送され得る等の利点を有している。
【図面の簡単な説明】
【図1】一般的な従来のRAIDデータ記憶システムの
ブロック図である。
【図2】本発明に従うRAIDシステムを備えたフォー
ルトトレランスコンピュータシステムの好適な実施例の
ブロック図である。
【図3】本発明に従う書込コマンドのための不揮発性メ
モリを備えた、RAIDデータ記憶サブシステムのブロ
ック図である。
【符号の説明】
1a 主CPU 1b 第2CPU 2a ホストアダプタ 2b ホストアダプタ 3a アレーコントローラ 3b アレーコントローラ 4 記憶装置 10 インタプロセッサバス 11 データバッファ 13a ホストアダプタインタフェイス 13b ホストアダプタインタフェイス 14a マイクロコントローラ 14b マイクロコントローラ 15a 書込コマンドバッファ 15b 書込コマンドバッファ 16a ドライブインタフェイス 16b ドライブインタフェイス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク エス ウォーカー アメリカ合衆国 カリフォルニア州 95030 ロス ガトス ギスト ロード 20000

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 冗長データ記憶アレーサブシステムに対
    するデータ変更オペレーションの完了及び保全を確立す
    るためのシステムであって、 a.データ記録に対するデータ変更オペレーションを開
    始し、このデータ変更オペレーションについてのホスト
    チェックポイント情報を生成する第1のホストプロセッ
    サ手段と、 b.上記第1のホストプロセッサ手段に結合され、上記
    ホストチェックポイント情報を受信し、上記第1のホス
    トプロセッサ手段が故障した場合にデータ変更オペレー
    ションの制御を行う第2のホストプロセッサ手段と、 c.上記第1及び第2のホストプロセッサ手段に結合さ
    れ、上記第1もしくは第2のホストプロセッサ手段か
    ら、生成されたデータ変更オペレーション全体を受信す
    ることにより、他のホストプロセッサ手段が故障したと
    きに受信されたデータ変更オペレーションへの悪影響を
    防ぐ第1及び第2のバッファ手段と、 d.上記データ変更オペレーションによって示されたデ
    ータ記録を記憶するためのデータ記憶手段の冗長アレー
    と、 e.上記第1のバッファ手段及び上記データ記憶手段の
    冗長アレーに結合されていて、上記第1のバッファ手段
    からデータ変更オペレーションを受信すると共に、上記
    データ記憶手段の冗長アレーへに対するデータ変更オペ
    レーションの完了を制御し、そして上記データ変更オペ
    レーションについてのアレーホストチェックポイント情
    報を生成する第1のアレープロセッサ手段と、 f.上記第2のバッファ手段、上記データ記憶手段の冗
    長アレー及び上記第1のアレープロセッサ手段に結合さ
    れ、上記第2のバッファ手段からデータ変更オペレーシ
    ョンを受信すると共に、上記アレーホストチェックポイ
    ント情報を受信し、上記第1のアレープロセッサ手段が
    故障した場合に上記データ変更オペレーションの制御を
    行うための第2のアレープロセッサ手段と、 を備えるシステム。
  2. 【請求項2】 各アレープロセッサ手段が、データ変更
    オペレーションが完了するまで各データ変更オペレーシ
    ョンについての選択された情報を記憶する不揮発性記憶
    手段を有することを特徴とする請求項1記載のシステ
    ム。
  3. 【請求項3】 上記記憶された情報が、データ記憶手段
    の冗長アレーに対する電力損失の後、完了していないデ
    ータ変更オペレーションについて、データ記憶手段の冗
    長アレーの冗長記録を有効にするために用いられること
    を特徴とする請求項2記載のシステム。
  4. 【請求項4】 上記記憶された情報が、上記ホストプロ
    セッサ手段のいずれかに通信され、これを受信するホス
    トプロセッサ手段が、完了していないデータ変更オペレ
    ーションを再開始させる手段を有することを特徴とする
    請求項3記載のシステム。
  5. 【請求項5】 上記第1及び第2のアレープロセッサ手
    段及び上記データ記憶手段の冗長アレーに結合され、主
    電源が故障した場合に、上記第1及び第2のアレープロ
    セッサ手段及び上記データ記憶手段の冗長アレーに電力
    を供給するバッテリバックアップ手段を有することを特
    徴とする請求項1に記載のシステム。
  6. 【請求項6】 冗長データ記憶アレーサブシステムに対
    するデータ変更オペレーションの完了及び保全を確立す
    るための方法であって、 a.データ記録に対するデータ変更オペレーションを開
    始し、このデータ変更オペレーションについてのホスト
    チェックポイント情報を生成する第1のホストプロセッ
    サ手段を設け、 b.上記第1のホストプロセッサ手段に結合され、上記
    ホストチェックポイント情報を受信し、上記第1のホス
    トプロセッサ手段が故障した場合に、データ変更オペレ
    ーションの制御を行う第2のホストプロセッサ手段を設
    け、 c.上記第1及び第2のホストプロセッサ手段に結合さ
    れ、上記第1もしくは第2のホストプロセッサ手段か
    ら、生成されたデータ変更オペレーション全体を受信す
    ることにより、他のホストプロセッサ手段が故障したと
    きに受信されたデータ変更オペレーションへの悪影響を
    防ぐ、第1及び第2のバッファ手段を設け、 d.上記データ変更オペレーションによって示されたデ
    ータ記録を記憶するデータ記憶手段の冗長アレーを設
    け、 e.上記第1のバッファ手段及び上記データ記憶手段の
    冗長アレーに結合され、上記第1のバッファ手段からデ
    ータ変更オペレーションを受信すると共に、上記データ
    記憶手段の冗長アレーに対するデータ変更オペレーショ
    ンの完了を制御し、上記データ変更オペレーションにつ
    いてのアレーホストチェックポイント情報を生成する第
    1のアレープロセッサ手段を設け、 f.上記第2のバッファ手段、上記データ記憶手段の冗
    長アレー及び上記第1のアレープロセッサ手段に結合さ
    れ、上記第2のバッファ手段からデータ変更オペレーシ
    ョンを受信すると共に、上記アレーホストチェックポイ
    ント情報を受信し、上記第1のアレープロセッサ手段が
    故障した場合に、上記データ変更オペレーションの制御
    を行うための第2のアレープロセッサ手段を設けるステ
    ップを備える方法。
  7. 【請求項7】 データ変更オペレーションが完了するま
    で、不揮発性記憶装置に各データ変更オペレーションに
    ついての選択された情報を記憶するステップを有するこ
    とを特徴とする請求項6記載の方法。
  8. 【請求項8】 上記データ記憶手段の冗長アレーに対す
    る電力損失の後、完了していないデータ変更オペレーシ
    ョンについて、上記データ記憶手段の冗長アレーの冗長
    記録を有効にするために上記記憶情報を使用するステッ
    プを有することを特徴とする請求項7記載の方法。
  9. 【請求項9】 上記ホストプロセッサ手段のいずれかと
    上記記憶情報を通信し、完了していないデータ変更オペ
    レーションを再開始するためこのホストプロセッサに記
    憶された情報を使用するステップを有することを特徴と
    する請求項8記載の方法。
  10. 【請求項10】 上記第1及び第2のアレープロセッサ
    手段及び上記データ記憶手段の冗長アレーに結合され、
    主電源が故障した場合に、上記第1及び第2のアレープ
    ロセッサ手段及び上記データ記憶手段の冗長アレーに電
    力を供給するためのバッテリバックアップ手段を設ける
    ステップを備えることを特徴とする請求項6記載の方
    法。
  11. 【請求項11】 冗長データ記憶アレーサブシステムに
    対するデータ変更オペレーションの完了及び保全を確立
    するための方法であって、 a.第1のホストプロセッサにおけるデータ記録に対す
    るデータ変更オペレーションを開始し、このデータ変更
    オペレーションについてのホストチェックポイント情報
    を生成し、 b.第2のホストプロセッサのホストチェックポイント
    情報を受信し、上記第1のホストプロセッサが故障した
    場合、開始されたデータ変更オペレーションの上記第2
    のホストプロセッサによる制御を行い、 c.他のホストプロセッサの次の故障が受信されたデー
    タ変更オペレーションに悪影響を与えることがないよ
    う、第1及び第2のバッファにおける生成された全ての
    データ変更オペレーションを受信し、 d.第1のアレープロセッサにおける上記第1のバッフ
    ァからデータ変更オペレーションを受信し、この第1の
    アレープロセッサは、データ記憶手段の冗長アレーに対
    するデータ変更オペレーションの完了及び上記データ変
    更オペレーションについてのアレーチェックポイント情
    報を生成を制御し、 e.上記第2のバッファからのデータ変更オペレーショ
    ン及び第2のアレープロセッサにおける第1のアレープ
    ロセッサからのアレーチェックポイント情報を受信し、
    上記第1のアレープロセッサが故障した場合、上記第2
    のアレープロセッサがデータ変更オペレーションの完了
    を制御するステップを備えている上記方法。
  12. 【請求項12】 データ変更オペレーションが完了する
    まで、不揮発性記憶装置の各データ変更オペレーション
    についての選択された情報を記憶するステップを有する
    ことを特徴とする請求項11記載の方法。
  13. 【請求項13】 上記データ記憶手段の冗長アレーに対
    する電力損失の後、完了していないデータ変更オペレー
    ションについて、上記データ記憶手段の冗長アレーの冗
    長記録を有効にするために上記記憶情報を使用するステ
    ップを有することを特徴とする請求項12に記載の方
    法。
  14. 【請求項14】 上記記憶情報によって示される完了し
    ていないデータ変更オペレーションを再開始するステッ
    プを有することを特徴とする請求項13記載の方法。
  15. 【請求項15】 主電源が故障した場合に、上記第1及
    び第2のアレープロセッサ手段及び上記データ記憶手段
    の冗長アレーに電力を供給するステップを更に有するこ
    とを特徴とする請求項11に記載の方法。
JP4314684A 1991-11-25 1992-11-25 冗長アレーデータ記憶システムにおける書込データ保全を確立するためのシステム及び方法 Pending JPH05346866A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US797470 1991-11-25
US07/797,470 US5379417A (en) 1991-11-25 1991-11-25 System and method for ensuring write data integrity in a redundant array data storage system

Publications (1)

Publication Number Publication Date
JPH05346866A true JPH05346866A (ja) 1993-12-27

Family

ID=25170922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4314684A Pending JPH05346866A (ja) 1991-11-25 1992-11-25 冗長アレーデータ記憶システムにおける書込データ保全を確立するためのシステム及び方法

Country Status (3)

Country Link
US (1) US5379417A (ja)
EP (1) EP0551718A3 (ja)
JP (1) JPH05346866A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004798A (ja) * 2005-06-22 2007-01-11 Seagate Technology Llc 分散記憶システムにおけるアトミック・キャッシュ・トランザクション
JP2008052752A (ja) * 2007-10-26 2008-03-06 Hitachi Ltd 記憶装置システム
JP2011018187A (ja) * 2009-07-09 2011-01-27 Fujitsu Ltd 試験方法、試験プログラム、試験装置、及び試験システム
US7925830B2 (en) 2003-02-17 2011-04-12 Hitachi, Ltd. Storage system for holding a remaining available lifetime of a logical storage region

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
JPH05225159A (ja) * 1992-02-10 1993-09-03 Fujitsu Ltd 制御情報のバックアップ方式
JPH05224822A (ja) * 1992-02-12 1993-09-03 Hitachi Ltd 集合型記憶装置
JP2888401B2 (ja) * 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
JPH0778766B2 (ja) * 1992-09-25 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5557770A (en) * 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
GB2278228B (en) * 1993-05-21 1997-01-29 Mitsubishi Electric Corp An arrayed recording apparatus
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
JP3751018B2 (ja) * 1993-06-03 2006-03-01 ネットワーク・アプライアンス・インコーポレイテッド ライトエニウエアファイルシステムレイアウト
EP0701716B1 (en) * 1993-06-03 2002-08-14 Network Appliance, Inc. Method and file system for allocating blocks of files to storage space in a RAID disk system
EP0701715A4 (en) * 1993-06-04 1999-11-17 Network Appliance Corp METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY
US5548711A (en) * 1993-08-26 1996-08-20 Emc Corporation Method and apparatus for fault tolerant fast writes through buffer dumping
CA2134016A1 (en) * 1994-01-07 1995-07-08 Peter B. Bandy Data storage device and method of operation
US5596708A (en) * 1994-04-04 1997-01-21 At&T Global Information Solutions Company Method and apparatus for the protection of write data in a disk array
US5590381A (en) * 1994-06-30 1996-12-31 Lucent Technologies Inc. Method and apparatus for buffered video playback of video content distributed on a plurality of disks
US5537533A (en) * 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
US5412668A (en) * 1994-09-22 1995-05-02 International Business Machines Corporation Parity striping feature for optical disks
US5623595A (en) * 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
US5682471A (en) * 1994-10-06 1997-10-28 Billings; Thomas Neal System for transparently storing inputs to non-volatile storage and automatically re-entering them to reconstruct work if volatile memory is lost
EP0709962B1 (en) * 1994-10-31 2002-10-02 Hewlett-Packard Company, A Delaware Corporation System for suppressing power transients when connecting a disk drive in an operating RAID system
EP0717358B1 (en) * 1994-12-15 2001-10-10 Hewlett-Packard Company, A Delaware Corporation Failure detection system for a mirrored memory dual controller disk storage system
US5533190A (en) * 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array
US5553230A (en) * 1995-01-18 1996-09-03 Hewlett-Packard Company Identifying controller pairs in a dual controller disk array
JP3375245B2 (ja) * 1995-04-26 2003-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 耐障害性マルチメディア・プログラム配布のための装置
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US5684944A (en) * 1995-08-14 1997-11-04 Lubbers; Clark E. Atomic update of EDC protected data
JP3445435B2 (ja) * 1995-09-11 2003-09-08 株式会社東芝 連続データサーバ装置の制御装置及び制御方法
US5740397A (en) * 1995-10-11 1998-04-14 Arco Computer Products, Inc. IDE disk drive adapter for computer backup and fault tolerance
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
US5708771A (en) * 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
EP0788051B1 (en) * 1996-01-31 2002-05-15 Kabushiki Kaisha Toshiba I/O control method having recovery function
US5724501A (en) * 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US6055577A (en) * 1996-05-06 2000-04-25 Oracle Corporation System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
US5812754A (en) * 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
US6108684A (en) * 1996-12-23 2000-08-22 Lsi Logic Corporation Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US5889933A (en) * 1997-01-30 1999-03-30 Aiwa Co., Ltd. Adaptive power failure recovery
US5944838A (en) * 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
FR2762695B1 (fr) * 1997-04-29 1999-05-28 Bull Sa Procede et dispositif de connexion de l'unite centrale d'un systeme de traitement de donnees a un sous-systeme de stockage de donnees a redondance
US5986880A (en) * 1997-06-16 1999-11-16 Compaq Computer Corporation Electronic apparatus having I/O board with cable-free redundant adapter cards thereon
US5953352A (en) * 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
US6061822A (en) * 1997-06-23 2000-05-09 Micron Electronics, Inc. System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
US5975738A (en) * 1997-09-30 1999-11-02 Lsi Logic Corporation Method for detecting failure in redundant controllers using a private LUN
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US6035347A (en) * 1997-12-19 2000-03-07 International Business Machines Corporation Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer
US6170044B1 (en) * 1997-12-19 2001-01-02 Honeywell Inc. Systems and methods for synchronizing redundant controllers with minimal control disruption
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6311169B2 (en) 1998-06-11 2001-10-30 Consumer Credit Associates, Inc. On-line consumer credit data reporting system
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6457098B1 (en) * 1998-12-23 2002-09-24 Lsi Logic Corporation Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6732289B1 (en) * 2000-08-31 2004-05-04 Sun Microsystems, Inc. Fault tolerant data storage system
US6751757B2 (en) 2000-12-07 2004-06-15 3Ware Disk drive data protection using clusters containing error detection sectors
US6799284B1 (en) 2001-02-28 2004-09-28 Network Appliance, Inc. Reparity bitmap RAID failure recovery
US7308512B1 (en) 2001-05-16 2007-12-11 Network Appliance, Inc. Fiber channel adaptor for serial or parallel ATA disks
US20030204755A1 (en) * 2001-09-25 2003-10-30 Alan Morris Method and system for long-term digital data storage
JP4012420B2 (ja) 2002-03-12 2007-11-21 株式会社日立製作所 磁気ディスク装置及びディスク制御装置
KR100740225B1 (ko) * 2002-04-30 2007-07-18 삼성전자주식회사 전원의 재공급에 따른 동작상태를 복구할 수 있는 콤보시스템 및 방법
EP1361516A3 (en) * 2002-04-30 2011-05-18 Hitachi, Ltd. Method and system for backing up power supply of disk array device
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
US6810347B2 (en) * 2003-01-09 2004-10-26 Micrel, Inc. Robust power-on meter and method
US7146461B1 (en) 2003-07-01 2006-12-05 Veritas Operating Corporation Automated recovery from data corruption of data volumes in parity RAID storage systems
US7254754B2 (en) * 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
GB0318384D0 (en) * 2003-08-06 2003-09-10 Ibm A storage controller and a method for recording diagnostic information
US7194640B2 (en) * 2003-12-08 2007-03-20 Lsi Logic Corporation Alternate non-volatile memory for robust I/O
US8122201B1 (en) * 2004-09-21 2012-02-21 Emc Corporation Backup work request processing by accessing a work request of a data record stored in global memory
US7529724B1 (en) 2004-09-21 2009-05-05 Emc Corporation Servicing work requests between units of a storage device
CN100373318C (zh) * 2004-12-30 2008-03-05 英业达股份有限公司 资料存储单元失效状况响应处理方法及系统
US7360112B2 (en) * 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
GB0507912D0 (en) * 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
JP4953753B2 (ja) * 2006-10-17 2012-06-13 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US9037750B2 (en) * 2007-07-10 2015-05-19 Qualcomm Incorporated Methods and apparatus for data exchange in peer to peer communications
US7941406B2 (en) * 2007-08-20 2011-05-10 Novell, Inc. Techniques for snapshotting
US8972547B2 (en) * 2007-10-18 2015-03-03 International Business Machines Corporation Method and apparatus for dynamically configuring virtual internet protocol addresses
US8868957B2 (en) * 2009-09-24 2014-10-21 Xyratex Technology Limited Auxiliary power supply, a method of providing power to a data storage system and a back-up power supply charging circuit
US8656251B2 (en) * 2011-09-02 2014-02-18 Apple Inc. Simultaneous data transfer and error control to reduce latency and improve throughput to a host
CN103049352A (zh) * 2012-12-20 2013-04-17 创新科软件技术(深圳)有限公司 一种磁盘阵列的操作系统恢复方法
KR102127284B1 (ko) * 2013-07-01 2020-06-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 관리 방법
US9304937B2 (en) 2013-10-23 2016-04-05 Netapp Inc. Atomic write operations for storage devices
US9824114B1 (en) * 2015-03-30 2017-11-21 EMC IP Holding Company LLC Multiple concurrent cursors for file repair
US10706031B2 (en) * 2016-12-14 2020-07-07 Ocient, Inc. Database management systems for managing data with data confidence
TWI696951B (zh) * 2018-08-31 2020-06-21 威剛科技股份有限公司 儲存裝置異常斷電的處理系統和方法
US11256696B2 (en) * 2018-10-15 2022-02-22 Ocient Holdings LLC Data set compression within a database system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893178A (en) * 1973-12-19 1975-07-01 Information Storage Systems Synchronization of multiple disc drives
US4092732A (en) * 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4562576A (en) * 1982-08-14 1985-12-31 International Computers Limited Data storage apparatus
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
US4667326A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives
US4754397A (en) * 1985-02-15 1988-06-28 Tandem Computers Incorporated Fault tolerant modular subsystems for computers
JPS61264599A (ja) * 1985-05-16 1986-11-22 Fujitsu Ltd 半導体記憶装置
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
US5193154A (en) * 1987-07-10 1993-03-09 Hitachi, Ltd. Buffered peripheral system and method for backing up and retrieving data to and from backup memory device
JPS6458013A (en) * 1987-08-20 1989-03-06 Ibm Method and data processing system for guaranteeing large area identification and management of data memory
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5130992A (en) * 1990-04-16 1992-07-14 International Business Machines Corporaiton File-based redundant parity protection in a parallel computing system
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925830B2 (en) 2003-02-17 2011-04-12 Hitachi, Ltd. Storage system for holding a remaining available lifetime of a logical storage region
JP2007004798A (ja) * 2005-06-22 2007-01-11 Seagate Technology Llc 分散記憶システムにおけるアトミック・キャッシュ・トランザクション
JP2008052752A (ja) * 2007-10-26 2008-03-06 Hitachi Ltd 記憶装置システム
JP2011018187A (ja) * 2009-07-09 2011-01-27 Fujitsu Ltd 試験方法、試験プログラム、試験装置、及び試験システム

Also Published As

Publication number Publication date
EP0551718A2 (en) 1993-07-21
EP0551718A3 (en) 1993-09-22
US5379417A (en) 1995-01-03

Similar Documents

Publication Publication Date Title
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
EP0492808B1 (en) On-line restoration of redundancy information in a redundant array system
EP0608344B1 (en) System for backing-up data for rollback
EP0482819B1 (en) On-line reconstruction of a failed redundant array system
US6990611B2 (en) Recovering data from arrays of storage devices after certain failures
US5475697A (en) Non-volatile memory storage of write operation indentifier in data storage device
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
JP3283530B2 (ja) ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
US5469453A (en) Data corrections applicable to redundant arrays of independent disks
JP3164499B2 (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
US7464322B2 (en) System and method for detecting write errors in a storage device
EP0889409A1 (en) Mirrored write-back cache module warmswap
JPH0744326A (ja) 記憶装置システム
US7076686B2 (en) Hot swapping memory method and system
US20040250028A1 (en) Method and apparatus for data version checking
KR20150058315A (ko) 기록 재생 장치, 오류 정정 방법 및 제어 장치
JP2857288B2 (ja) ディスクアレイ装置
GB2343265A (en) Data storage array rebuild
JP3788822B2 (ja) コンピュータシステムおよびそのシステムにおける障害回復方法
WO1996041249A2 (en) Intelligent disk-cache memory