JPH06504863A - コピーバックキャッシュを有する記憶装置アレイ - Google Patents

コピーバックキャッシュを有する記憶装置アレイ

Info

Publication number
JPH06504863A
JPH06504863A JP50444892A JP50444892A JPH06504863A JP H06504863 A JPH06504863 A JP H06504863A JP 50444892 A JP50444892 A JP 50444892A JP 50444892 A JP50444892 A JP 50444892A JP H06504863 A JPH06504863 A JP H06504863A
Authority
JP
Japan
Prior art keywords
block
storage unit
error correction
data block
data
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
JP50444892A
Other languages
English (en)
Other versions
JP3129732B2 (ja
Inventor
ブラント ウィリアム エー
スタルモ デビッド シー
ウォーカ マーク
ルイ アルバート
Original Assignee
イーエムシー コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by イーエムシー コーポレーション filed Critical イーエムシー コーポレーション
Publication of JPH06504863A publication Critical patent/JPH06504863A/ja
Application granted granted Critical
Publication of JP3129732B2 publication Critical patent/JP3129732B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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 operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/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/2056Error 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 by mirroring
    • G06F11/2087Error 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 by mirroring with a common controller
    • 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/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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/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
    • 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/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1019Fast writes, i.e. signaling the host that a write is done before data is written to disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 流体転送装置及びその使用方法 背景技術 1、発明の分野 本発明は、コンピュータシステムのデータ記憶に関し、詳しくは、一時記憶用の コピーパックキャッシュ記憶ユニットを用いたフォールトトレラント(faul t−tOlerant)記憶装置アレイに関する。
2、関連技術の記載 通常の一般的なデータ処理システムは、単−又は複数の記憶ユニットを備えてい る。この記憶ユニットは、直接に、又は制御ユニット及びチャネルを介して、中 央処理ユニット(CPU)に接続される。記憶ユニットの機能は、CPUが特定 のデータ処理タスクを実行する際に用いるデータ及びプログラムを記憶すること である。
最近のデータ処理システムには種々の記憶ユニットが使用されている。典型的な システムは、大容量のテープユニットや、大容量の磁気、光、半導体ディスクド ライブ等を、1又はそれ以上の個数、備えている。これらは、それぞれ、制御ユ ニットを介してシステムに接続される。
しかしながら、ある大規模容量記憶ユニットにおいてフェイルが発生すると、シ ステムがこのユニット上の情報にはもはやアクセスできなくなるという問題が生 じる。一般的に、このようなフェイルは、コンピュータシステム全体をダウンさ せてしまう。
そこで、従来から、信頼性の高いデータ記憶を提供するという課題に関する技術 が提案されてきた。記録規模が比較的小さいシステムでは、ECCシンドローム ビットを発生させる誤り訂正符号を使用し、記憶ユニット内の各データ記録に付 加することも可能である。このような符号を用いると、誤って読み取られたデー タを少量ならば補正することができる。しかしながら、この種の符号は、長い記 録にエラーが生じた場合のその補正や再生には適さず、また、その記憶ユニット の全体がフェイルした場合には”もはや救済できない。それゆえ、個々の記憶ユ ニット上のデータに外部から信頼性を与える必要が生じていた。
この種の“外部”信頼性へのアプローチも従来から検討されてきた。カリフォル ニア大学バークレー校の研究グループは、’A Ca5e for Redun dant Arrays ofInexpensive Disks(RAID )’ 、Patterson et al、、Proc、ACM SICMOI DJune@19H と題する論文において、ディスクドライブを記憶ユニットとして使用した場合に このような信頼性を与えるための異なりたいくつかのアプローチを示している。
ここでは、ディスクドライブアレイによって特徴づけられた5M類のアーキテク チャが開示されている。これらのアーキテクチャRA I D (Redund ant Array ofInexpensive Dlsks :廉価ディス ク冗長アレイ)システムと呼ばれ、それぞれ以下に述べる構成を有している。
RAIDIアーキテクチャは、′ミラー”記憶ユニットと呼ばれる対をなす記憶 ユニット群を有している。各記憶ユニットには、対をなす記憶ユニット状の全て のデータがコピーされ保存されている。このような方法は、信頼性の問題を解決 する一方で、記憶のためのコストを二倍にする。RAIDIアーキテクチャは、 特にタンデム社によって多く装置化されている。
RAID2アーキテクチャでは、各ワードデータがビット毎に異なるディスクド ライブに記憶される。これは、“ビットストライビング1として知られている。
また、各ワードには誤り検出訂正(E D C)ビットが付加されており、これ もピットストライビングの対象となる。例えばFlora et al、の米国 特許第4.722゜085号は、比較的小容量で個別に操作可能な複数のディス クサブシステムを使用したディスクドライブメモリを開示している。このディス クドライブメモリは、非常に高いフォールトトレランスとデータ転送帯域幅を有 する大規模な高容量ディスクドライブとして機能する。データワーガナイザは、 各32ビツトのワードデータにEDC7ビツト(周知のハミング符号を使用する )を付加することにより、誤り検出訂正機能を与える。こうして得られる39ビ ツトのワードは、1個のディスクドライブ当たり1ビツト、合計39個のディス クドライブに書き込まれる。39個のディスクドライブのうち1個がフェイルし た場合には、個別に記憶された残りの38ビツトを使用することにより、各ワー ドデータをディスクドライブから読み取りながら、32ビツトのデータワードを ワードバイワードベースで再構成することができる。これによってフォールトト レランスが達成される。
この種のシステムの明らかな失点は、はとんどの大型コンピュータは32ビツト ワードを使用するため最小限システムにも多数のディスクドライブが必要とされ ること、EDCビットを記憶するために39個中7個というかなり多数のドライ ブが必要とされることである。さらに、RAID2型のディスクドライブメモリ システムには、各データブロックのビットを各ディスクドライブに分配すべく、 個別のディスクアクチュエータを一斉に動作させることにより各データブロック を書き込まねばならないという制限がある。このような構成は、各ディスクがそ れぞれデータブロックの一部分を転送するため広いデータ転送帯域幅を有してお り、単一のドライブによりブロックをアクセスする場合よりずっと速く、コンピ ュータシステムがブロック全体を利用できるようにになるという効果を奏する。
しかしながら、この構成は、記憶ユニット全体に単一のり−ド/ライトへラドア クチュエータを設けることによってのみ効果的になる。反面、“単一の1アクチ ユエータによって1回でアクセスできるのはデータファイル1個だけであるので 、データファイルが小さい場合におけ番ドライブアレイに対するランダムアクセ ス性が影響を受ける。このように、RAID2システムは、バンキング、金融、 予約システム等、複数の小データファイルへの多数のランダムアクセスによって 大量のデータ記憶転送操作が行われるような、オンライン業務処理(OLTP) 用に設計されたコンピュータシステムには一般に適さないと考えられる。
RAID3アーキテクチャは、各ディスクドライブ記憶ユニットにフェイルやデ ータ誤りを検出する内部手段を設けるという思想に基づくものである。それゆえ 、誤り位置を検出するための余分な情報を記憶する必要はなく、より単純な形態 のパリティベースの誤り訂正でよくなる。このアプローチでは、フェイルが起き たすべての記憶ユニットの内容を“XOR” (排他的論理和演算)することに よりパリティ情報が生成される。得られるパリティ情報は単一の冗長記憶ユニッ トに記憶される。従って、あるひとつの記憶ユニットがフェイルした場合には、 このフェイルしたユニット上のデータは、残りの記憶ユニットからのデータとパ リティ情報をXORすることによって、置き換え記憶ユニット上に再構成できる 。
このような構成は、ミラーディスクRAIDIアーキテクチャに比べ、N個の記 憶ユニット当たり1個の記憶ユニットを追加するだけで足りるという利点がある 。
RAID3アーキテクチャは、さらに、ディスクドライブをRAID2システム 同様に結合して動作させ、1個のディスクドライブをパリティユニットとして使 用するという設計も可能である。
RAID3アーキテクチャを装置化した例としては、マイクロポリス社のパラレ ルドライブアレイモデル1804SCS Iがある。このモデルは、4個の同期 化されたディスクドライブを並列的に使用しており、さらに冗長パリティドライ ブを1個使用している。4個のデータディスクドライブのうち1個がフェイルし たとしても、パリティディスクドライブに記憶されたパリティビットの使用によ って、これを回復できる。RAID3システムの別の例は、0uch1の米国特 許第4.092,732号に述べられている。
RAID3ディスクドライブメモリシステムは、RAID2システムよりはるか に低い冗長度ユニット/データユニット比を有する。しかし、やはりRAID2 システムと同様の限界を有する。すなわち、個々のディスクアクチュエータを結 合して一斉に動作させねばならない。′単一の”アクチュエータによって1回で アクセスできるのはデータファイル1個だけであるので、データファイルが小さ い場合におけるドライブアレイに対するランダムアクセス性が影響を受ける。
このように、この点で、RAID3システムは、OLTP用に設計されたコンピ ュータシステムには一般に適さないと考えられる。
RAID4アーキテクチャは、RAID3システムと同様のパリティ誤り訂正を 用いている。RAID4アーキテクチャでは、RAID3システムに比べ、小規 模ファイルに対するランダムアクセス性が改善されている。この改善は、個々の ディスクアクチュエータを結合せずに、より大きな最小量データ(例えばディス クセクタ)を読み出しこれを各ディスクに書き込むことによって実現されている 。この処理もブロックストライビングと呼ばれている。RAID4アーキテクチ ャは、1個の記憶ユニットをパリティユニットに割り当てた構成としても実現で きる。
RAID4システムの限界は、個別に動作するデータ記憶ユニットのうちあるユ ニットにデータブロックの書き込みを行う場合に、パリティユニットにも新たな パリティブロックを書き込まねばならない点にある。まず、データ記憶ユニット 上の古いデータから情報内容を除去するためには、パリティユニットに記憶され たパリティ情報を読み出し、当該古いデータとX0RLなければならない。さら に、データ記憶ユニット上に新たなデータブロックを書き込む際、このXORの 結果得られる総和を、当該新たなデータとXORL、新たなパリティ情報を生成 する必要がある。そして、得られた新たなデータ及び新たなパリティ記録を、そ れぞれ、ディスクドライブに書き込む。このプロセスは一般にリードモディファ イライトシーケンスと呼ばれる。
このように、パリティユニットのパリティ記録によってカバーされる任意のデー タ記憶ユニット上で記録が変更されるたびに、パリティユニットに対するリード /ライトが生じる。単位時間当たり記録変更回数はパリティユニットへのアクセ ス速度の関数であるので、パリティユニットがデータ書き込み操作のボトルネッ クとなり、複数のデータ記憶ユニットの並列動作によるより速いアクセス速度に 対立する。この限界のため、RAID4システムは0LTP用のコンピュータシ ステムに適切であるとは考えられない。実際、RAID4システムの商業的な使 用は行われていないようである。
RAIDSアーキテクチャは、RAID4アーキテクチャと同様のパリティ誤り 訂正並びに個別アクチュエータを用いている。RAIDSアーキテクチャでは、 しかし、データ及びパリティ情報を全てのアクセス可能なディスクドライブに分 散させることによって、RAID4システムの書込み性能が改良されている。一 般に、“N+l”個の記憶ユニットが組で、すなわちいわゆる冗長グループとし て使用され、これらの記憶ユニットによる記憶空間が、ブロックと称される複数 の同サイズのアドレス領域に分割される。各記憶ユニットは通常同数のブロック を含んでいる。ある冗長グループを構成する各記憶ユニットがらのブロックのう ち同じユニットアドレスを有するブロックは、“ストライブ2と呼ばれる。各ス トライブは、N個のデータブロックと、そのストライブの残りのブロックについ てのパリティを含むプラス1個のパリティブロックとを、1個の記憶ユニット上 に有している。その他のストライブUそれぞれパリティブロックを有しているか ら、パリティブロックは異なる記憶ユニット上に分散される。冗長グループ中の 各データ変更と関連するパリティ更新アクティビティは、従って、異なる記憶ユ ニット上に分散される。1個のユニットに全てのパリティ更新アクティビティが かけられるということは、全くない。
例えば5個のディスクドライブを有するRAID5システムでは、第1ブロツク ストライプのパリティ情報は第5ドライブに、第2ブロツクストライプのパリテ ィ情報は第4ドライブに、第3ブロツクストライプのパリティ情報は第3ドライ ブに、というように、連続するストライブのパリティブロックは一般にヘリカル パターンでディスクドライブ回りに書き込まれる。もちろん別のパターンが使用 されてもよい。
このように、パリティ情報を記憶するために1個のディスクドライブだけが使用 されることは全くな(、RAID4アーキテクチャのボトルネックが解消される 。RAID5システムの例は、C1ark et at、による米国特許第4, 761.785号に述べられている。
RAID4システムと同様、RAIDSシステムの限界は、データブロックを変 更する際、2度のリード操作と2度のライト操作からなるリードモディファイラ イトシーケンスを必要とすることである。すなわち、古いパリティブロックと古 いデータブロックのリード及びXORを実行する必要があり、さらに、XOHに より得られた総和を新たなデータとXOKする必要がある。新たなデータ及びパ リティブロックは、ディスクドライブに再び書き込まねばならない。2度のリー ド操作は、2度のライト操作と同様、平行して行われるものの、RAID4又は RAID5システムでのデータブロックの変更は、従来のディスクの同じ操作よ りさらに時間がかかる。従来のディスクでは最初のリード操作が不要であるから 、従って、ライト操作を行うべくディスクドライブが元の位置まで回転して戻る のを待たねばならない。回転待ち時間だけでも、通常のデータ変更処理に要する 時間の約50%に達する。また、各データ変更操作の遅れに2個のディスク記憶 ユニットが巻き込まれ、全体と′してシステムのスルーブツトが制限される。
このようなライト性能ペナルティにもか・かわ石−ず11、高・いデータ信頼性 、冗長性のための低いオーバヘッドコスト、優れたリード性能、相当の書き込み 性能によって、RAIDS型システムシステムポピユラー化している。しかしな がら、パリティ更新操作に要する回転遅れ時間に起因した書込み性能ペナルティ なしに、RAID5システムを有効に利用することが望まれる。
本発明はそのようなシステムを提供する。
発明の概要 本発明は、記憶ユニットに対するアクセスが間欠することを認識することにより 、RAID5アーキテクチャにおける誤り訂正ブロックのボトルネックを解決す るものである。すなわち、CPUからのアクセス要求によってRAIDSシステ ム中の1又は複数の記憶ユニットがアイドル状態となる特性を利用すると共に、 標準的なRAIDシステムにさらにコピーパックキャッシュ記憶ユニットを付加 する。本発明は、このようなシステムを動作させるための2種類の方法を提供す る。
いずれの方法においても、、RAIDシステム中でライトが生じると、データは 即座にコピーパックキャッシュ記憶ユニット内の第1の記憶可能領域に書き込ま れる。コピーパックキャッシュ記憶ユニットへの書き込みが完了すると、この書 き込みの成功が即座にホストCPUに報知される。その後、書き込まれたデータ の誤り訂正ブロックの更新を待たずに、CPUによる次の記憶ユニットアクセス が継続して行われる。
本発明の第1の方法では、記憶システム中の関連する記憶ユニットのアイドル期 間中に、コピーパックキャッシュ記憶ユニット内の各ベンディングデータブロッ ク、につ(いて誤り訂正ブクック(例えばXORパリティ)が計算され、データ ブロックとこれに対応する誤り訂正ブロックは、RAIDシステム内のそれぞれ の適正な記憶領域にコピーサれる。また、多くのデータブロックが同一のストラ イブに書き込まれるような場合は、そのストライブ中のすべてのデータブロック から誤り訂正ブロックが一度に算出され、時間の節約ができる。この方法では、 実際には、コピーパックキャッシュ記憶ユニットはピークロードライトデータを 記憶し、その後CPUによるI10アクセスの比較的な静的な期間にRAIDシ ステムへの実際の書き込み操作が完了される。
本発明の第2の方法では、ライトデータがコピーパックキャッシュ記憶ユニット にログされた後に、CPUのその他のI10アクセスと重複しながら、コントロ ーラのバッファメモリ内のライトデータを使用して、RAIDシステムコントロ ーラによる通常のリードモディファイライト操作が継続される。ここに、コピー パックキャッシュ記憶ユニットへの単純なライトが完了すると即座にCPUが演 算を継続できるので、その性能が強化され、従って通常のリードモディファイラ イトRAIDシステムで生じる遅延が解消される。この方法では、コピーパック キャッシュ記憶ユニットはさらにライトデータのランニングログとしての機能も 果たす。ライトデータはコピーパックキャッシュ記憶ユニットにセーブされるの で、データの一体性が保たれ、従ってRAIDシステムに対するリードモディフ ァイライト操作が完了されない場合でさえ、アクセス可能となる。
コピーパックキャッシュ記憶ユニットは、電源が落ちてもデータが失われないよ うに、不揮発性であるのが好ましい。コピーパックキャッシュ記憶ユニットがデ ィスクドライブである場合は、障害復旧用のミラー記憶ユニットと対であるのが 望ましい。また、コピーパックキャッシュ記憶ユニットは、ディスクドライブよ りも速い書込み時間及び誤り訂正ブロック更新時間を達成できる固体記憶ユニッ トであってもよい。
本発明の好適な実施例の詳細は以下の説明と図面によって示される。発明の詳細 の開示に従って、当業者にとって多様な改良例および変化が明白なものとなるは ずである。
図1は、本発明によるコピーパックキャッシュ記憶RAIDシステムのブロック 図である。
図2は、本発明の第1実施例によるリード/ライト操作のフローチャートである 。
図3は、本発明の第2実施例によるリード/ライト操作のフローチャートである 。
図面中、同一の符号は同じ構成要素を示す。
発明の詳細な説明 本記述を通して示される良好な実施例は一つの例として考えられ、本発明を限定 するものではない。
図1は、本発明によるコピーパックキャッシュRAIDシステムのブロック図で ある。図示されるように、CPUIはバス2を介してアレイコントローラ3に接 続される。このアレイコントローラ3は、実施例では、フォールトトレラントコ ントローラである。アレイコントローラ3は、I10バス(例えばSC8Iバス )によって、複数の記憶ユニット5l−55(5個という数字は単なる例示であ る)それぞれに接続される。記憶ユニット5l−85はフェイルから独立であり 、すなわち、あるユニットでフェイルが起きてもその他のユニットの物理的操作 に影響を及ぼさない。アレイコントローラ3は、好ましくは、個別プログラム可 能のプロセッサ(例えば、カリフォルニア州すニーヴアルのMIPS社のM!P S R3000RISCプロセッサ)を含む。この種のプロセッサは、CPU1 と独立して記憶ユニットを制御できる。
コントローラ3には、また、コピーパックキャッシュ記憶ユニットCCも接続さ れている。この実施例では、コピーパック記憶ユニットCCは、コモンI10バ ス(例えばSCS Iバス)に接続されており、コピーパック記憶ユニットCC と記憶ユニット5l−35との間でデータが転送される。コピーパックキャッシ ュ記憶ユニットCCは不揮発性であり、電源が落ちてもデータは失われない。コ ピーパックキャッシュ記憶ユニットCCがディスクドライブである場合は、フォ ールトトレランスのためミラー記憶ユニットCC′と対にするのが好ましい。ミ ラー記憶ユニットCC゛は、コントローラ3に接続され、コピーパックキャッシ ュ記憶ユニットCCに書き込まれたすべてのデータが基本的に同時にミラー記憶 ユニットCC′に周知の方法で書き込まれる。コピーパックキャッシュ記憶ユニ ットCCは固体の記憶ユニットであってもよく、固体の場合は書込み時間及び誤 り訂正ブロック更新時間がディスクドライブよりも速くなる。そのような場合は 、固体記憶ユニットは誤り検出及び訂正回路を有し、不揮発性であるか、あるい は電源供給にバッテリのバックアップを有する。
記憶ユニット5l−55は、1又は複数の冗長グループにグループ分けされる。
以下で述べられる図例では、説明の簡略化のために、すべての記憶ユニット5l −85が1個の冗長グループに含まれるとしている。
本発明は、コントローラ3によって実行されるコンピュータプログラムとして実 現される。図2は、本発明の第1実施例におけるリード/ライトステップを示す ハイレベルフローチャートである。図3は、本発明の第2実施例におけるリード /ライトステップを示すハイレベルフローチャートである。以下、図2及び3に 示されるステップを説明する。
ピークロード実施例 コントローラ3は、基本的に、CPU1からの人力/出力要求を連続ベースでモ ニタする(ステップ20)。書込み要求がベンディング中であれば(ステップ2 1)、そのデータブロックは即座にコピーバックキャッシュ記憶ユニットCC内 の第1記憶可能領域に書き込まれる(ステップ22)。このデータブロックは、 ミラー記憶ユニットCC′があればそこにも記憶される。書込みはまず、コピー パックキャッシュ記憶ユニットCC上の第1論理ブロツクで行われ、連続して最 終論理ブロックまで継続される。その後(アレイ中に記憶されていないブロック に重ね書きがない限り)、再び第1ブロツクでの書き込みが開始される。実施例 によると、コピーパックキャッシュ記憶ユニットCCでの5EEK操作(システ ム評価と知識交換)、すなわち記憶ユニット内のり−ド/ライトヘッドの物理的 な移動の時間消費を最小限とすることができる。
コピーパックキャッシュ記憶ユニットCCに記憶される各データブロックは、そ のデータブロックが最終的に記憶されることになるアレイのロケーション(位置 )にフラッグされ、ポインタはそのデータブロックがコピーパックキャッシュ記 憶ユニットCCにあることを示すようにセットされる(ステップ23)。このロ ケーション情報及びポインタ情報は、メモリ内の個別のテーブルあるいはコピー パックキャッシュ記憶ユニットCCに保持される。前記テーブルは、各データブ ロックのサイズ、属性、状態に関する標準情報を含むエントリーを有するディレ クトリテーブルからなる。さらに、各エントリーは、そのデータブロックがコピ ーパックキャッシュ記憶ユニットCCに記憶されているかアレイ(Sl−35) に記憶されているかを示す1又は複数のフィールドと、そのデータブロックにと ってのアレイ中の“正常”ロケーションとを有する。このようなディレクトリテ ーブルの生成は当業者にとっては周知である。
アレイ中の同じロケーションに記憶されるはずのデータブロックがまだ“ベンデ ィングブロック(コピーパックキャッシュ記憶ユニットCCに書き込まれたもの の5l−55のアレイへまだ転送されていないデータブロック)”である時に、 別のデータブロックがコピーパックキャッシュ記憶ユニットCCに書き込まれた 場合は、そのデータブロックのディレクトリロケーションポインタは“旧”バー ジジンではなく “新”バージョンを指すように変更される。旧バージョンはそ れ以後無視されるが、引き続いての操作中に書き直されてもよい。
この方式で書き込み要求が処理されたなら、コントローラ3は即座にCPUIに 通報を送り、書込み処理の成功を示す(ステップ24)。そして、モニタリング プロセスが繰り返される(ステップ25)。CPUIによる記憶ユニットのアク セスは、書き込まれたばかりのデータの誤り訂正ブロックの更新を待たずに継続 する。このように、コピーパックキャッシュ記憶ユニットCCへのライトデータ の記憶は、CPUIの操作面に関し−では、標準RAIDシステムのリードモデ ィファイライトシーケンスを必要としないので、アレイの書き込みのスルーブツ ト時間は非冗長システムと同じであるように見える。
ライト要求がベンディング中でない場合は(ステップ21)、コントローラ3は 読出し要求がベンディングであるかどうかをテストする(ステップ26)。読出 し要求がベンディング中であれば、コントローラ3はディレクトリを読み取って 、要求された各データブロックのロケーションを検出する(ステップ27)。
要求されたデータブロックがアレイ中にない場合は(ステップ28)、コントロ ーラ3はコピーパックキャッシュ記憶ユニットCCからブロックを読み出し、そ れをCPUIへ転送する(ステップ29)。その後モニタリングプロセスが繰り 返される(ステップ30)。要求されたデータブロックがアレイ中にあれば(ス テップ28)、コントローラ3はアレイ(Sl−85)から通常の方式でブロッ クを読み出し、それをCPU1へ送る(ステップ31)。その後モニタリングプ ロセスが繰り返される(ステップ32)。
本発明のいくつかの実施例では、コントローラ3内にディスクキャッシュメモリ を含む。もちろんそのようなキャッシュでも明らかに読み出し要求は満たされる 。
アレイ中の特定の記憶ユニットについてベンディングされているライト/ソー− ドが全くない場合は、これらの記憶ユニットがCPUIのI10アクセスに関し て“アイドル”状態であることを示し、コントローラ3は、そのアイドル記憶ユ ニット上のロケーションにフラッグされた“ベンディングブロック0があるかど うかをチェックする。ベンディングブロックが全くなければ(ステップ33)、 コントローラ3はモニタリングの周期を再開する(ステップ34)。
ベンディングブロックが存在すれば(ステップ33)、コントローラ3はコピー パックキャッシュ記憶ユニットCCからベンディングブロックを読み取る(ステ ップ35)。コントローラ3はそのベンディングブロックをアレイの適正なロケ ーションに書き込み、このベンディングブロックに基づいて計算される新たな誤 り訂正ブロックをめ記憶する。
本発明の良好な実施形態では、誤り訂正ブロックはパリティ情報を含む。このよ うに、ディレクトリに記憶されたベンディングブロックの位置情報で示されるア レイ位置に対応する古いデータブロックと古い誤り訂正ブロックとを読み取るこ とによって、そのベンディングブロックにおける誤り訂正ブロックの更新が達成 される(ステップ36)。コントローラ3はその後、旧データブロックと、ベン ディングデータブロックと、旧誤り訂正ブロックとをXORして、新規の誤り訂 正ブロックを生成する(ステップ37)。この新誤り訂正ブロックとベンディン グブロックはアレイ5l−S5の適正なロケーションに書き込まれる(ステップ 38)。
多数のベンディングブロックが同一のストライブに書き込まれるような場合は、 そのストライブ中の更新されていない全てのデータブロックを読み出し、これら のデータブロックをベンディングブロックとXORして新たな誤り訂正ブロック を生成し、ベンディングブロックと新誤り訂正ブロックとをアレイに書き込むこ とによって、そのストライブ中のすべてのデータブロックに関する誤り訂正が一 度に算出される。これによって時間の節約が実現される。
ベンディングブロックがコピーパックキャッシュ記憶ユニットCCからアレイに 送られたなら、そのブロックのためのディレクトリエントリーは修正され、その データブロックがコピーパックキャッシュ記憶ユニットCCにではなく、アレイ 中にあることを示す(ステップ39)。その後、コントローラ3はモニタリング の周期を再開する(ステップ40)。
本発明は連鎖的な分岐プロセスを条件として述べられているが、個別のタスクが 同時に行われるようなマルチタスクシステムにおいて実施されることも可能であ る。そのような場合、上述のり−ド/ライトプロセス、及びベンディングブロッ クの転送は、同時に行われる個別のタスクとして実行される。従って、図2のス テップ21.26.33で示されるテストは、データブロックを読み取り、書き 込み、ベンディングブロックを転送するために、関連タスクの要求中に暗黙のう ちに行われる。例えば、コピーパックキャッシュ記憶ユニットCCからアレイ中 の記憶ユニットへのベンディングブロックの転送は、アレイ中の別の記憶ユニッ トへの読取り操作と同時に行われてもよい。また、コントローラ3がアレイ中の 各記憶ユニットにおける多数のI10要求を“スタック“できるタイプのアレイ であれば(多くのSC5IベースのRAIDシステムがそうであるように)、上 述の処理操作は同じ記憶ユニットへのアクセスに関しては“同時に°行うこと上 述の実施例におけるように、コントローラ3は基本的に連続ベースでCPU1か らの入出力要求をモニタする(ステップ50)。この実施例では、コントローラ 3には比較的大きな(例えば1メガバイト)のデータバッファが設けられ、アレ イに書き込まれるはずのデータを一時的に格納する。書込み要求がベンディング 中であれば(ステップ51)、そのデータブロックはコントローラ3によって、 即座にコピーパックキャッシュ記憶ユニットCCの第1記憶可能位置に書き込ま れる(ステップ52)。このデータブロックはミラー記憶ユニットCCがある場 合はそこにも記憶される。書込みは、コピーパックキャッシュ記憶ユニットCC 上の第1論理ブロツクから始められ、それに続いて最終論理ブロックまで継続し て行われる。その後、(アレイ中に記憶されなかったブロックが重ね書きされな い限り)書き込みは再び第1ブロツクから開始される。この良好な方法ではコピ ーパックキャッシュ記憶ユニットCCでの5EEK操作を最小限にする。
第1実施例では、5EEK操作はアイドルタイムにベンディングブロックを引き 出してアレイへ転送することが必要とされたが、この実施例では、コピーパック キャッシュ貯蔵記憶ユニットCCは書き込みデータのランニングログとしての役 割を果たす。第1実施例とは対称的に、5EEK操作は、現行の領域がふさがっ ている場合に次のデータ書込み領域(例えばディスクドライブ中の次のシリンダ )への変更のために、あるいは記憶ユニットの最終論理位置に達した後に開始論 理位置にライト/リードヘッドをリセットするために、もしくは機能不全の後に データブロックを5EEKするためだけに必要とされる。
コピーパックキャッシュ記憶ユニットCC上に記憶された各データブロックは、 そのデータブロックが最終的に記憶されることになるアレイ中のロケーションと 、コピーパックキャッシュ記憶ユニットCC内でのロケーションとを用いてフラ ッグされ、ポインタは、そのデータブロックがコントローラバッファの中にある ことを示すようにセットされる(ステップ53)。先と同様に、このようなロケ ーションとポインタ情報はディレクトリテーブルに保持される。
コントローラ3のバッファによって、第2の実施例の「ベンディングブロック」 の定義は第1実施例での定義といくぶん異なってくる。「ベンディングブロック 」とは、コピーパックキャッシュ記憶ユニットCCに書き込まれはしたものの、 コントローラバッファからアレイ5l−85に転送されていないデータブロック のことである。
アレイ中の同じロケーションに記憶されるはずのデータブロックがまだコントロ ーラバッファ内の“ベンディングブロック1である間に別のデータブロックがコ ピーパックキャッシュ記憶ユニットCCに書き込まれた場合は、そのデータブロ ックのためのディレクトリロケーションポインタは、コピーパックキャッシュ記 憶ユニットCCとバッファの双方で旧バージョンから新バージョンを示すように 変更される。この旧バージョンはそれ以後無視されるが、その後の操作で書き直 されることも可能である。
書込み要求がこの方式で処理されたならば、コントローラ3は書込み操作が成功 した旨をCPUIに報知する(ステップ54)。そしてモニタリングプロセスが 繰り返される(ステップ55)。書き込まれたばかりのデータブロックの誤り訂 正ブロックの更新を待たずに、CPU1による次の記憶ユニットアクセスが継続 される。このように、コピーパックキャッシュ記憶ユニットCCへの書込みデー タの記憶は、CPU1の操作に関して標準RAIDシステムのリードモディファ イライトシーケンスを必要としないので、アレイの書込み応答時間は、非冗長シ ステムと同じように見える。
書込み要求がベンディングでない場合は(ステップ51)、コントローラ3は読 取り要求がベンディングであるかどうかをテストする(ステップ56)。読出し 要求がベンディングであれば、コントローラ3はディレクトリテーブルを読み取 って要求された各データブロックのロケーションを検出する(ステップ57)。
要求されたデータブロックがアレイ中にあれば(ステップ58)、コントローラ 3は通常の方法でアレイ(Sl−S5)からそのブロックを読み出して、それを CPU1に送る(ステップ59)。そしてモニタリングプロセスが繰り返される (ステップ60)。
要求されたデータブロックがアレイ中にないとしたら(ステップ58)、そのブ ロックはコントローラ3のバッファ内にあるはずである。コントローラ3はバッ ファからCPUIへとそのデータブロックを転送する(ステップ61)。バッフ ァは機械的な冗長期間なしに電子の速度で操作するので、この操作は第1の実施 例と比べて非常に速い。そして、モニタリングプロセスが繰り返される(ステッ プ62)。
アレイ中の特定の記憶ユニットにおいてベンディング中の書込みあるいは読出し 操作がない場合は、これらの記憶ユニットはCPUIのI10アクセスに関して “アイドル1であることを示し、コントローラ3は、バッファ中にアイドル記憶 ユニットのロケーションにフラッグされた1ベンデイングブロツク1があるかど うかをチェックする。ベンディングブロックがまったくなければ(ステップ63 )、コントローラ3はモニタリングの周期を再開する(ステップ64)。
ベンディングブロックが存在すれば(ステップ63)、コントローラ3はそのベ ンディングブロックにアクセスしくステップ65)、このベンディングプロ・ツ クに基づいて新規の誤り訂正ブロックを算出して記憶する。前述と同様に、本発 明の実施例では、誤り訂正ブロックはパリティ情報を含む。このように、このベ ンディングブロックにおける誤り訂正ブロックの更新は、ディレクトリに記憶さ れたベンディングブロックの位置情報によって示されるアレイ位置に対応する旧 データブロックと旧誤り訂正ブロックとを読み出すことによって達成される(ス テップ66)。コントローラ3はこの旧データプロ・yりとベンディングデータ ブロックと旧誤り訂正ブロックとをXORして、新規の誤り訂正プロ・ツクを生 成する(ステップ67)。この新規の誤り訂正ブロックとベンディングブロック はアレイ5l−55に書き込まれる(ステップ68)。
また、多くのベンディングブロックが同じストライブに書き込まれる場合は、そ のストライブ中の更新されない全てのデータブロックを読み取り、これらのデー タブロックをベンディングブロックとXORして新規の誤り訂正ブロックを生成 し、ベンディングブロックと新規の誤り訂正ブロックとをアレイに書き込むこと によって、そのストライプ中のすべてのデータブロックに関して誤り訂正が一度 に計算され得る。こうして時間の節約が実現される。
ベンディングブロックがコントローラ3のバッファからアレイに転送されたなら ば、ディレクトリが変更され、そのベンディングブロックはもはやコビーノく・ ツクキャッシュ記憶ユニットCCもしくはバッファ内で有効でないことを示す( ステップ69)。古いベンディングブロックはそれ以後無視されるが、その後の 操作で書き直されてもよい。そしてコントローラ3はモニタリングサイクルを再 開する(ステップ70)。
すべてのデータブロックがバッファからアレイに書き込まれる前にシステムの不 全が起きた場合は、コントローラ3はコピーパックキャッシュ記憶ユニットCC からアレイに書き込まれな力じたベンディングブロックを読み取り、選択された ベンディングブロックをアレイに書き込む。
本発明は連鎖的な分岐プロセスの下に述べられてきたが、別個のタスクを同時に 行うマルチタスクシステムで本発明が実践実行されてもよい。図3のステップ5 L 56.63で示されるテストは、データブロックの書き込み、読み取り、ベ ンディングブロックの転送のために、関連タスクの要求中に暗黙のうちに実行さ れる。
このように、本発明は、CPUIによるI10アクセスに関する無装荷状態がな い限り、標準的なエラー訂正改訂操作に生じる循環的な冗長時間に起因する書き 込み実行のペナルティなしに、RAIDシステムの利点を提供するものである。
どのアレイ記憶ユニットにおけるアイドルタイムも生産的に活用され、CPUI による比較的非活動的な瞬間に、コピーパックキャッシュ記憶ユニットCCに記 憶されるデータが(キャッシュ自体から、あるいはコントローラーのバッファか ら)アレイに書き込まれることとなる。
本発明の実施例の数々が述べられてきたが、本発明の神髄と範囲から離脱するこ となく多様な変形が可能であることを理解されたい。例えば、本発明はRAID 3、RAID4あるいはRAIDSのシステムと共に用いられてもよい。また、 必要な冗長情報のために、XOR生成されたパリティとともに、あるいはこのパ リティの代わりに他の誤り訂正方法が用いられてもよい。リード−ソロモンコー ドを使用したこのような方法のひとつは、「アレイディスクドライブシステムお よび方法」と題された同一出願人による1988年11月14日出願の米国特許 出願節270.713号に開示されている。
多くのRAIDシステムに見られる別の例としては、即座に支障が起きたアクテ ィブ記憶ユニットの代用となる“ホットスペア2記憶ユニツトが挙げられる。
本発明はそのような“ホットスペア1をコピーパックキャッシュ記憶ユニットC Cとして用いることによってことによって実践されてもよく、コピーパックキャ ッシュ機能専用の記憶ユニットの必要性を解消する。′ホットスペア”が本来の 目的のために必要とされる場合は、RAIDシステムは代用ディスクが与えられ るまでノンコピーパックキャッシュモードになる。
また別の例では、コピーパックキャッシュ記憶ユニットCCは、実施例での共通 の!10バス(例えばSC8Iバス)ではなく専用バスを介してコントローラ3 に取り付けられてもよい。
このように、本発明は図示される特定の実施例に限定されるものではなく、添付 クレームの範囲によってのみ限定されるものである。
FIG、 1 国際調査報告 フロントページの続き (72)発明者 ウォーカ マーク アメリカ合衆国 カリフォルニア州 ロスガトス ギスト ロード 20000 (72)発明者 ルイ アルバート アメリカ合衆国 カリフォルニア州−サンホセ へりテーツ バレー ドライブ

Claims (1)

  1. 【特許請求の範囲】 1.以下を備えるフォールトトレラント記憶装置アレイ。 a.少なくともデータブロック及びこれに対応する誤り訂正ブロックを含む一般 に複数のブロックにより構成されたストライプの形式で、情報を記憶する障害か ら独立した複数個の記憶ユニット b.データブブックを一時記憶する少なくとも1個のコピーバックキャッシュ記 憶ユニット c.上記複数個の記憶ユニット及び上記少なくとも1個のコピーバックキャッシ ュ記憶ユニットに接続され、機能(1)〜(3)を有する制御手段を含む記憶ユ ニットコントローラ (1)受信したデータブロックを上記少なくとも1個のコピーバックキャッシュ 記憶ユニット上にペンディングデータブロックとして初期的に書き込む機能 (2)上記複数個の記憶ユニットのうち少なくともいずれかの記憶ユニットのア イドルタイムにおいて処理(a)〜(c)を実行する機能(a)少なくとも1個 のベンディングデータブロックを、少なくとも1個のコピーバックキャッシュ記 憶ユニットから読み出す処理(b)各ペンディングデータブロックに対応する誤 り訂正ブロックを生成する処理 (c)読み出されたペンディングデータブロック及びこれに対応する誤り訂正ブ ロックを、アイドル状態にある記憶ユニット上の対応するストライプに書き込む 処理 (3)要求されたデータブロックが上記複数の記憶ユニット上に書き込まれてい ないときに、当該要求されたデータブロックを、少なくとも1個のコピーバック キャッシュ記憶ユニットから読み出し、それ以外の場合には上記複数の記憶ユニ ットから読み出す機能2.請求項1記載の記憶装置アレイにおいて、上記少なく とも1個のコピーバックキャッシュ記憶ユニットに対する受信記録の書き込みが 終了したことを、制御手段が実質的に瞬時に確認する記憶装置アレイ。 3.請求項1記載の記憶装置アレイにおいて、制御手段により実行される処理の うち、各ペンディングデータブロックに対応する誤り訂正ブロックを生成する処 理が、さらに、新たな誤り訂正ブロックを、上記少なくとも1個のペンディング ブロック並びに上記アイドル状態にある記憶ユニットの対応するストライプから 読み出された対応する古い誤り訂正ブロック及び対応する古いデータブロックの 関数として生成する処理を実行する記憶装置アレイ。 4.請求項3記載の記憶装置アレイにおいて、上記新たな誤り訂正ブロックを生 成する処理が、さらに以下の処理を含む記憶装置アレイ。 a.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 い誤り訂正ブロックを読み出す処理 c.上記古いデータブロック、上記古い誤り訂正ブロック及び上記ペンディング データブロックの排他的論理和を演算することにより、上記新たな誤り訂正ブロ ックを生成する処理 5.フェイルと独立な複数個の記憶ユニットを備え、当該複数個の記憶ユニット が少なくともデータブロック及びこれに対応する誤り訂正ブロックを含む一般に 複数のブロックにより構成されたストライプの形式で情報を記憶するフォールト トレラント記憶装置アレイに、以下のステップによりデータを記憶する方法。 a.データブロックを一時記憶する少なくとも1個のコピーバックキャッシュ記 憶ユニットを設けるステップ b.受信したデータブロックを上記少なくとも1個のコピーバックキャッシュ記 憶ユニット上にペンディングデータブロックとして初期的に書き込むステップc .上記複数個の記憶ユニットのうち少なくともいずれかの記憶ユニットのアイド ルタイムにおいて処理(1)〜(3)を実行するステップ(1)少なくとも1個 のペンディングデータブロックを、少なくとも1個のコピーバックキャッシュ記 憶ユニットから読み出す処理(2)各ペンディングデータブロックに対応する誤 り訂正ブロックを生成する処理 (3)読み出されたペンディングデータブロック及びこれに対応する誤り訂正ブ ロックを、アイドル状態にある記憶ユニット上の対応するストライプに書き込む 処理 d.要求されたデータブロックが上記複数の記憶ユニット上に書き込まれていな いときに、当該要求されたデータブロックを、少なくとも1個のコピーバックキ ャッシュ記憶ユニットから読み出し、それ以外の場合には上記複数の記憶ユニッ トから読み出すステップ 6.請求項5記載の方法において、上記少なくとも1個のコピーバックキャッシ ュ記憶ユニットに対する受信記録の書き込みが終了したことを実質的に瞬時に確 認するステップを含む方法。 7.請求項5記載の方法において、各ペンディングデータブロックに対応する誤 り訂正ブロックを生成する処理が、さらに、以下の処理を含む方法。 a.上記新たな誤り訂正ブロックを、上記少なくとも1個のペンディングブロッ ク並びに上記アイドル状態にある記憶ユニットの対応するストライプから読み出 された対応する古い誤り訂正ブロック及び対応する古いデータブロックの関数と して生成する処理 8.請求項7記載の方法において、上記新たな誤り訂正ブロックを生成する処理 が、さらに以下の処理を含む方法。 a.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 い誤り訂正ブロックを読み出す処理 c.上記古いデータブロック、上記古い誤り訂正ブロック及び上記ベンディング データブロックの排他的論理和を演算することにより、上記新たな誤り訂正ブロ ックを生成する処理 9.以下を備えるフォールトトレラント記憶装置アレイ。 a.少なくともデータブロック及びこれに対応する誤り訂正ブロックを含む一般 に複数のブロックにより構成されたストライプの形式で、情報を記憶する障害か ら独立した複数個の記憶ユニット b.データブロックを一時記憶する少なくとも1個のコピーバックキャッシュ記 憶ユニット c.上記複数個の記憶ユニット及び上記少なくとも1個のコピーバックキャッシ ュ記憶ユニットに接続され、バッファメモリ及び機能(1)〜(4)を有する制 御手段を含む記憶ユニットコントローラ(1)受信したデータブロックを上記少 なくとも1個のコピーバックキャッシュ記憶ユニット上に初期的に書き込む機能 (2)受信したデータブロックをバッファメモリにペンディングデータブロック として記憶する機能 (3)上記複数個の記憶ユニットのうち少なくともいずれかの記憶ユニットのア イドルタイムにおいて処理(a)〜(c)を実行する機能(a)バッファメモリ 上の少なくとも1個のペンディングデータブロックにアクセスする処理 (b)各ベンディングデータブロックに対応する誤り訂正ブロックを生成する処 理 (c)アクセスされたペンディングデータブロック及びこれに対応する誤り訂正 ブロックを、アイドル状態にある記憶ユニット上の対応するストライプに書き込 む処理 (4)要求されたデータブロックが上記複数の記憶ユニット上に書き込まれてい ないときに、当該要求されたデータブロックを、バッファメモリから読み出し、 それ以外の場合には上記複数の記憶ユニットから読み出す機能10.請求項9記 載の記憶装置アレイにおいて、上記少なくとも1個のコピーバックキャッシュ記 憶ユニットに対する受信記録の書き込みが終了したことを、制御手段が実質的に 瞬時に確認する記憶装置アレイ。 11.請求項9記載の記憶装置アレイにおいて、制御手段により実行される処理 のうち、各ペンディングデータブロックに対応する誤り訂正ブロックを生成する 処理が、さらに、新たな誤り訂正ブロックを、上記少なくとも1個のペンディン グブロック並びに上記アイドル状態にある記憶ユニットの対応するストライプか ら読み出された対応する古い誤り訂正ブロック及び対応する古いデータブロック の関数として生成する処理を実行する記憶装置アレイ。 12.請求項11記載の記憶装置アレイにおいて、上記新たな誤り訂正ブロック を生成する処理が、さらに以下の処理を含む記憶装置アレイ。 a.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 い誤り訂正ブロックを読み出す処理 c.上記古いデータブロック、上記古い誤り訂正ブロック及び上記ペンディング データブロックの排他的論理和を演算することにより、上記新たな誤り訂正ブロ ックを生成する処理 13.請求項9記載の記憶装置アレイにおいて、バッファメモリから上記複数個 の記憶ユニットヘの全ての対応するデータブロックの書き込みに際して記憶ユニ ットコントローラにフェイルが発生したときに、上記少なくとも1個のコピーバ ックキャッシュ記憶ユニットから選択されたデータブロックを読み出し、この選 択されたデータブロックを上記複数個の記憶ユニットに書き込む手段を含む記憶 装置アレイ。 14.障害から独立した複数個の記憶ユニットを備え、当該複数個の記憶ユニッ トが少なくともデータブロック及びこれに対応する誤り訂正ブロックを含む一般 に複数のブロックにより構成されたストライプの形式で情報を記憶するフォール トトレラント記憶装置アレイに、以下のステップによりデータを記憶する方法。 a.バッファメモリ及びデータブロックを一時記憶する少なくとも1個のコピー バックキャッシュ記憶ユニットを設けるステップb.受信したデータブロックを 上記少なくとも1個のコピーバックキャッシュ記憶ユニット上に初期的に書き込 むステップc.受信したデータブロックをバッファメモリにペンディングデータ ブロックとして一時記憶させるステップ d.上記複数個の記憶ユニットのうち少なくともいずれかの記憶ユニットのアイ ドルタイムにおいて処理(1)〜(3)を実行するステップ(1)バッファメモ リ上の少なくとも1個のペンディングデータブロックにアクセスする処理 (2)各ベンディングデータブロックに対応する誤り訂正ブロックを生成する処 理 (3)アクセスされたベンディングデータブロック及びこれに対応する誤り訂正 ブロックを、アイドル状態にある記憶ユニット上の対応するストライプに書き込 む処理 e.要求されたデータブロックが上記複数の記憶ユニット上に書き込まれていな いときに、当該要求されたデータブロックをバッファメモリから読み出し、それ 以外の場合には上記複数の記憶ユニットから読み出すステップ15.請求項14 記載の方法において、上記少なくとも1個のコピーバックキャッシュ記憶ユニッ トに対する受信記録の書き込みが終了したことを、制御手段が実質的に瞬時に確 認するステップを含む方法。 16.請求項14記載の方法において、各ベンディングデータブロックに対応す る誤り訂正ブロックを生成する処理が、以下の処理を含む方法。 a.新たな誤り訂正ブロックを、上記少なくとも1個のペンディングブロック並 びに上記アイドル状態にある記憶ユニットの対応するストライプから読み出され た対応する古い誤り訂正ブロック及び対応する古いデータブロックの関数として 生成する処理 17.請求項16記載の方法において、上記新たな誤り訂正ブロックを生成する 処理が、さらに以下の処理を含む方法。 a.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するストライプから対応する古 い誤り訂正ブロックを読み出す処理 c.上記古いデータブロック、上記古い誤り訂正ブロック及び上記ペンディング データブロックの排他的論理和を演算することにより、上記新たな誤り訂正ブロ ックを生成する処理 18.請求項14記載の方法において、バッファメモリから上記複数個の記憶ユ ニットヘの全ての対応するデータブロックの書き込みに際して記憶ユニットコン トローラにフェイルが発生したときに、上記少なくとも1個のコピーバックキャ ッシュ記憶ユニットから選択されたデータブロックを読み出し、この選択された データブロックを上記複数個の記憶ユニットに書き込む手段を含む記憶装置アレ イ。
JP04504448A 1991-01-04 1992-01-03 コピーバックキャッシュを有する記憶装置アレイ Expired - Lifetime JP3129732B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US638,167 1991-01-04
US07/638,167 US5274799A (en) 1991-01-04 1991-01-04 Storage device array architecture with copyback cache
PCT/US1992/000059 WO1992012482A1 (en) 1991-01-04 1992-01-03 Fluid transfer device and method of use

Publications (2)

Publication Number Publication Date
JPH06504863A true JPH06504863A (ja) 1994-06-02
JP3129732B2 JP3129732B2 (ja) 2001-01-31

Family

ID=24558917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04504448A Expired - Lifetime JP3129732B2 (ja) 1991-01-04 1992-01-03 コピーバックキャッシュを有する記憶装置アレイ

Country Status (7)

Country Link
US (4) US5274799A (ja)
EP (1) EP0493984B1 (ja)
JP (1) JP3129732B2 (ja)
AU (1) AU1001492A (ja)
CA (1) CA2058734C (ja)
DE (1) DE69126416T2 (ja)
WO (1) WO1992012482A1 (ja)

Families Citing this family (331)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0679293B2 (ja) * 1990-10-15 1994-10-05 富士通株式会社 計算機システム
JP2641819B2 (ja) * 1990-11-05 1997-08-20 三菱電機株式会社 キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式
US5829030A (en) * 1990-11-05 1998-10-27 Mitsubishi Denki Kabushiki Kaisha System for performing cache flush transactions from interconnected processor modules to paired memory modules
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
JP3192664B2 (ja) * 1991-01-22 2001-07-30 株式会社日立製作所 キャッシュメモリシステムおよびキャッシュメモリコントローラ
JP3409859B2 (ja) 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
JP2923702B2 (ja) * 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
JP3126225B2 (ja) * 1991-07-12 2001-01-22 富士通株式会社 データベース・システム
JP2913917B2 (ja) * 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5499337A (en) 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
GB2264798A (en) * 1992-03-04 1993-09-08 Hitachi Ltd High speed access control
AU653670B2 (en) * 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
JPH05341918A (ja) * 1992-05-12 1993-12-24 Internatl Business Mach Corp <Ibm> 二重化デイスク記憶装置システムを構成するための接続装置
DE4392143C1 (de) * 1992-05-21 1996-11-21 Fujitsu Ltd Platten-Array-Vorrichtung
WO1993023803A1 (fr) * 1992-05-21 1993-11-25 Fujitsu Limited Appareil de commande pour pile de disques
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
GB2273798A (en) * 1992-12-22 1994-06-29 Ibm Cache system for disk array.
US5579474A (en) 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
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
JPH06332623A (ja) * 1993-05-24 1994-12-02 Mitsubishi Electric Corp アレイ型記録装置及び記録装置
WO1994029796A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation A 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
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
WO1994029807A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
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
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
US5550998A (en) * 1993-06-14 1996-08-27 Storage Technology Corporation Pre-seeking process for enhancing reading and writing performance in a mass storage system having multiple individual disk drives
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5548711A (en) * 1993-08-26 1996-08-20 Emc Corporation Method and apparatus for fault tolerant fast writes through buffer dumping
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
JPH07175728A (ja) * 1993-12-20 1995-07-14 Hokkaido Nippon Denki Software Kk ディスクキャッシュデータ保全方式
US5396620A (en) * 1993-12-21 1995-03-07 Storage Technology Corporation Method for writing specific values last into data storage groups containing redundancy
US5911150A (en) * 1994-01-25 1999-06-08 Data General Corporation Data storage tape back-up for data processing systems using a single driver interface unit
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
US5537588A (en) * 1994-05-11 1996-07-16 International Business Machines Corporation Partitioned log-structured file system and methods for operating the same
US5634109A (en) * 1994-06-20 1997-05-27 International Business Machines Corporation Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
US5412668A (en) * 1994-09-22 1995-05-02 International Business Machines Corporation Parity striping feature for optical disks
GB2293912A (en) * 1994-10-05 1996-04-10 Ibm Disk storage device for disk array
EP0707267A3 (en) * 1994-10-12 1996-07-03 Ibm Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring
US5826046A (en) * 1994-12-30 1998-10-20 International Business Machines Corporation Method and apparatus for polling and selecting any paired device in any drawer
US5794242A (en) * 1995-02-07 1998-08-11 Digital Equipment Corporation Temporally and spatially organized database
US5666512A (en) * 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
JP3732869B2 (ja) * 1995-06-07 2006-01-11 株式会社日立製作所 外部記憶装置
WO1997001139A1 (en) * 1995-06-23 1997-01-09 Elonex Plc Disk array controller with enhanced synchronous write
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5799200A (en) * 1995-09-28 1998-08-25 Emc Corporation Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller
US5708771A (en) * 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
US6334195B1 (en) * 1995-12-29 2001-12-25 Lsi Logic Corporation Use of hot spare drives to boost performance during nominal raid operation
US5838892A (en) * 1995-12-29 1998-11-17 Emc Corporation Method and apparatus for calculating an error detecting code block in a disk drive controller
US5787242A (en) * 1995-12-29 1998-07-28 Symbios Logic Inc. Method and apparatus for treatment of deferred write data for a dead raid device
US5805787A (en) * 1995-12-29 1998-09-08 Emc Corporation Disk based disk cache interfacing system and method
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US5720025A (en) 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
DE19607101A1 (de) * 1996-02-24 1997-08-28 Hella Kg Hueck & Co Elektronisches Gerät und Einrichtung zur Datenübertragung zwischen zwei gleichartig aufgebauten elektronischen Geräten
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
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
US5724501A (en) * 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
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
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US6108812A (en) * 1996-06-20 2000-08-22 Lsi Logic Corporation Target device XOR engine
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US5974506A (en) * 1996-06-28 1999-10-26 Digital Equipment Corporation Enabling mirror, nonmirror and partial mirror cache modes in a dual cache system
US5802561A (en) * 1996-06-28 1998-09-01 Digital Equipment Corporation Simultaneous, mirror write cache
US5917998A (en) * 1996-07-26 1999-06-29 International Business Machines Corporation Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging
US5812754A (en) * 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
US5991852A (en) * 1996-10-28 1999-11-23 Mti Technology Corporation Cache ram using a secondary controller and switching circuit and improved chassis arrangement
US6038680A (en) * 1996-12-11 2000-03-14 Compaq Computer Corporation Failover memory for a computer system
US5990879A (en) * 1996-12-20 1999-11-23 Qorvis Media Group, Inc. Method and apparatus for dynamically arranging information in a presentation sequence to minimize information loss
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
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
US6023584A (en) * 1997-01-03 2000-02-08 Ncr Corporation Installation of computer programs using disk mirroring
JP3204143B2 (ja) * 1997-01-06 2001-09-04 日本電気株式会社 ディスクキャッシュの制御方法
US6678462B1 (en) * 1997-03-25 2004-01-13 Sony Corporation Electronic device, method and apparatus for controlling an electronic device, and electronic device control system
US6154853A (en) * 1997-03-26 2000-11-28 Emc Corporation Method and apparatus for dynamic sparing in a RAID storage system
US5944838A (en) * 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6134668A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6253334B1 (en) * 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) * 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6553404B2 (en) 1997-08-08 2003-04-22 Prn Corporation Digital system
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
CA2311920C (en) 1997-08-08 2005-05-03 Qorvis Media Group, Inc. A reconfigurable audiovisual previewing system and method of operation
US6381674B2 (en) * 1997-09-30 2002-04-30 Lsi Logic Corporation Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
US5975738A (en) * 1997-09-30 1999-11-02 Lsi Logic Corporation Method for detecting failure in redundant controllers using a private LUN
US6065096A (en) * 1997-09-30 2000-05-16 Lsi Logic Corporation Integrated single chip dual mode raid controller
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6154835A (en) 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
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
JPH11203056A (ja) 1998-01-19 1999-07-30 Fujitsu Ltd 入出力制御装置及びアレイディスク装置
US6061750A (en) * 1998-02-20 2000-05-09 International Business Machines Corporation Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6112311A (en) * 1998-02-20 2000-08-29 International Business Machines Corporation Bridge failover system
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
US6421746B1 (en) 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
DE19819531C1 (de) * 1998-04-30 1999-12-02 Siemens Ag RISC-Prozessor mit einer Debug-Schnittstelleneinheit
US6865642B2 (en) * 1998-06-24 2005-03-08 International Business Machines Corporation Method and apparatus for disk caching for an intermediary controller
US6243827B1 (en) 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
US6505305B1 (en) * 1998-07-16 2003-01-07 Compaq Information Technologies Group, L.P. Fail-over of multiple memory blocks in multiple memory modules in computer system
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6343343B1 (en) 1998-07-31 2002-01-29 International Business Machines Corporation Disk arrays using non-standard sector sizes
US6128762A (en) * 1998-08-04 2000-10-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system with request forwarding
US6446237B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6272662B1 (en) 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
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
JP3511576B2 (ja) * 1998-10-02 2004-03-29 松下電器産業株式会社 ディスク記録再生方法および装置
US6330687B1 (en) 1998-11-13 2001-12-11 Digi-Data Corporation System and method to maintain performance among N single raid systems during non-fault conditions while sharing multiple storage devices during conditions of a faulty host computer or faulty storage array controller
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6769088B1 (en) * 1999-06-30 2004-07-27 Maxtor Corporation Sector-coding technique for reduced read-after-write operations
US6629199B1 (en) * 1999-08-20 2003-09-30 Emc Corporation Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6467048B1 (en) * 1999-10-07 2002-10-15 Compaq Information Technologies Group, L.P. Apparatus, method and system for using cache memory as fail-over memory
US6553458B1 (en) * 1999-12-14 2003-04-22 Ncr Corporation Integrated redundant storage device
US6542960B1 (en) * 1999-12-16 2003-04-01 Adaptec, Inc. System and method for parity caching based on stripe locking in raid data storage
EP1128267A1 (en) * 2000-02-25 2001-08-29 Hewlett-Packard Company, A Delaware Corporation Disk storage system having redundant solid state data storage devices
US6701449B1 (en) 2000-04-20 2004-03-02 Ciprico, Inc. Method and apparatus for monitoring and analyzing network appliance status information
WO2001082078A2 (en) * 2000-04-20 2001-11-01 Ciprico, Inc. Method and apparatus for maintaining the integrity of configuration data in redundant, fault tolerant network appliances
US6330642B1 (en) * 2000-06-29 2001-12-11 Bull Hn Informatin Systems Inc. Three interconnected raid disk controller data processing system architecture
US6802039B1 (en) * 2000-06-30 2004-10-05 Intel Corporation Using hardware or firmware for cache tag and data ECC soft error correction
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6446160B1 (en) 2000-09-28 2002-09-03 International Business Machines Corporation Multi-drive data storage system with analysis and selected demounting of idle data storage media
US6434682B1 (en) 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
US6604160B1 (en) 2000-09-28 2003-08-05 International Business Machines Corporation Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
ATE309603T1 (de) * 2000-12-20 2005-11-15 Koninkl Philips Electronics Nv Stromausfallrueckstelleinrichtung fuer aufzeichnungs-/ wiedergabegeraet
US6785767B2 (en) 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6799284B1 (en) 2001-02-28 2004-09-28 Network Appliance, Inc. Reparity bitmap RAID failure recovery
US6865717B2 (en) * 2001-05-30 2005-03-08 International Business Machines Corporation Method, system, and program for generating a progress indicator
US6996668B2 (en) * 2001-08-06 2006-02-07 Seagate Technology Llc Synchronized mirrored data in a data storage device
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
TW595012B (en) * 2001-09-03 2004-06-21 Matsushita Electric Ind Co Ltd Semiconductor light-emitting device, light-emitting apparatus and manufacturing method of semiconductor light-emitting device
US20030074524A1 (en) * 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US6973537B1 (en) * 2001-10-23 2005-12-06 Emc Corporation Disk cache interfacing system and method
US7502886B1 (en) 2001-10-23 2009-03-10 Emc Corporation Data storage device with two-tier raid control circuitry
US7174422B1 (en) * 2001-10-23 2007-02-06 Emc Corporation Data storage device with two-tier raid control circuitry
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US8402346B2 (en) 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
US7028154B2 (en) 2002-06-18 2006-04-11 Hewlett-Packard Development Company, L.P. Procedure to reduce copy time for data backup from short-term to long-term memory
US6952758B2 (en) * 2002-07-31 2005-10-04 International Business Machines Corporation Method and system for providing consistent data modification information to clients in a storage system
US7454529B2 (en) * 2002-08-02 2008-11-18 Netapp, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US7069466B2 (en) * 2002-08-14 2006-06-27 Alacritus, Inc. Method and system for copying backup data
US6922752B2 (en) * 2002-08-23 2005-07-26 Hewlett-Packard Development Company, L.P. Storage system using fast storage devices for storing redundant data
US7437387B2 (en) * 2002-08-30 2008-10-14 Netapp, Inc. Method and system for providing a file system overlay
US7882081B2 (en) * 2002-08-30 2011-02-01 Netapp, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US6928515B2 (en) * 2002-11-09 2005-08-09 International Business Machines Corporation Integrated sector format-error correction code system and method for efficient writing in a disk array system
US7567993B2 (en) * 2002-12-09 2009-07-28 Netapp, Inc. Method and system for creating and using removable disk based copies of backup data
US8024172B2 (en) * 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
US7437053B2 (en) * 2003-01-15 2008-10-14 Matsushita Electric Industrial Co., Ltd. Digital video recorder, method of driving the video recorder and program
JP3811127B2 (ja) * 2003-01-30 2006-08-16 株式会社東芝 情報記録装置及び情報記録方法
US6973369B2 (en) * 2003-03-12 2005-12-06 Alacritus, Inc. System and method for virtual vaulting
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7111147B1 (en) 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7210061B2 (en) * 2003-04-17 2007-04-24 Hewlett-Packard Development, L.P. Data redundancy for writes using remote storage system cache memory
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7392347B2 (en) * 2003-05-10 2008-06-24 Hewlett-Packard Development Company, L.P. Systems and methods for buffering data between a coherency cache controller and memory
US7437492B2 (en) * 2003-05-14 2008-10-14 Netapp, Inc Method and system for data compression and compression estimation in a virtual tape library environment
US7380059B2 (en) 2003-05-16 2008-05-27 Pillar Data Systems, Inc. Methods and systems of cache memory management and snapshot operations
US7047379B2 (en) 2003-07-11 2006-05-16 International Business Machines Corporation Autonomic link optimization through elimination of unnecessary transfers
US7546418B2 (en) * 2003-08-20 2009-06-09 Dell Products L.P. System and method for managing power consumption and data integrity in a computer system
JP2005122453A (ja) * 2003-10-16 2005-05-12 Hitachi Ltd ストレージ装置のディスクコントローラ制御方式およびストレージ装置
US7475186B2 (en) * 2003-10-31 2009-01-06 Superspeed Software System and method for persistent RAM disk
US7328305B2 (en) * 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7263629B2 (en) * 2003-11-24 2007-08-28 Network Appliance, Inc. Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
US7366837B2 (en) * 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7197599B2 (en) * 2003-12-29 2007-03-27 Intel Corporation Method, system, and program for managing data updates
US7783606B2 (en) * 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
US7904679B2 (en) * 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US7406488B2 (en) * 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7720817B2 (en) * 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7426617B2 (en) 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US7490103B2 (en) * 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
US7559088B2 (en) * 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
US20050182910A1 (en) * 2004-02-04 2005-08-18 Alacritus, Inc. Method and system for adding redundancy to a continuous data protection system
US7325159B2 (en) * 2004-02-04 2008-01-29 Network Appliance, Inc. Method and system for data recovery in a continuous data protection system
US7165141B2 (en) * 2004-02-27 2007-01-16 Hewlett-Packard Development Company, L.P. Daisy-chained device-mirroring architecture
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US7321905B2 (en) * 2004-09-30 2008-01-22 International Business Machines Corporation System and method for efficient data recovery in a storage array utilizing multiple parity slopes
US7318119B2 (en) * 2004-10-29 2008-01-08 International Business Machines Corporation System and method for fault tolerant controller for network RAID
US7290199B2 (en) * 2004-11-19 2007-10-30 International Business Machines Corporation Method and system for improved buffer utilization for disk array parity updates
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
US7392428B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for recovering from abnormal interruption of a parity update operation in a disk array system
US20060123312A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US8205058B2 (en) 2004-12-10 2012-06-19 International Business Machines Corporation Resource management for data storage services
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7581118B2 (en) * 2004-12-14 2009-08-25 Netapp, Inc. Disk sanitization using encryption
US7526620B1 (en) 2004-12-14 2009-04-28 Netapp, Inc. Disk sanitization in an active file system
US7774610B2 (en) * 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US7730257B2 (en) * 2004-12-16 2010-06-01 Broadcom Corporation Method and computer program product to increase I/O write performance in a redundant array
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
US7441081B2 (en) * 2004-12-29 2008-10-21 Lsi Corporation Write-back caching for disk drives
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
US7398460B1 (en) 2005-01-31 2008-07-08 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US8296162B1 (en) 2005-02-01 2012-10-23 Webmd Llc. Systems, devices, and methods for providing healthcare information
US7360112B2 (en) 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
US7779294B2 (en) * 2005-04-15 2010-08-17 Intel Corporation Power-safe disk storage apparatus, systems, and methods
GB0507912D0 (en) 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
EP1877903B1 (en) 2005-04-29 2008-09-03 Network Appliance, Inc. System and method for generating consistent images of a set of data objects
US7437490B2 (en) * 2005-05-27 2008-10-14 International Business Machines Corporation Channel communication array queues in hardware system area
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
JP4817783B2 (ja) * 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
US7401198B2 (en) * 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
CN101312794B (zh) * 2005-11-23 2012-07-04 Fsi国际公司 从基材上除去材料的方法
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US20080070688A1 (en) * 2006-09-20 2008-03-20 John Loehrer Real-time gaming system having scalable database
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US8510608B2 (en) * 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8239706B1 (en) 2007-01-03 2012-08-07 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Data retrieval system and method that provides retrieval of data to any point in time
US7730347B1 (en) 2007-01-03 2010-06-01 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Data recovery system and method including a disk array architecture that provides recovery of data to any point of time
US7870356B1 (en) 2007-02-22 2011-01-11 Emc Corporation Creation of snapshot copies using a sparse file for keeping a record of changed blocks
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US7653612B1 (en) 2007-03-28 2010-01-26 Emc Corporation Data protection services offload using shallow files
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7840837B2 (en) 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US8898536B2 (en) 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
JP4963088B2 (ja) * 2007-07-13 2012-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データをキャッシュする技術
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US20090049050A1 (en) * 2007-08-15 2009-02-19 Jeff Whitehead File-based horizontal storage system
TWI362044B (en) * 2007-11-09 2012-04-11 Transcend Information Inc Storage apparatus and method for accessing data and for managing memory block
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8127182B2 (en) * 2008-09-16 2012-02-28 Lsi Corporation Storage utilization to improve reliability using impending failure triggers
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8413132B2 (en) * 2010-09-13 2013-04-02 Samsung Electronics Co., Ltd. Techniques for resolving read-after-write (RAW) conflicts using backup area
US8775731B2 (en) 2011-03-25 2014-07-08 Dell Products, L.P. Write spike performance enhancement in hybrid storage systems
EP2511835A1 (en) * 2011-04-12 2012-10-17 Amadeus S.A.S. Cache memory structure and method
US8688635B2 (en) 2011-07-01 2014-04-01 International Business Machines Corporation Data set connection manager having a plurality of data sets to represent one data set
WO2013123097A1 (en) 2012-02-13 2013-08-22 SkyKick, Inc. Migration project automation, e.g., automated selling, planning, migration and configuration of email systems
WO2014041638A1 (ja) * 2012-09-12 2014-03-20 株式会社 東芝 アレイにおける誤り訂正符号ブロック配置位置を管理するストレージ装置、ストレージコントローラ及び方法
US10643668B1 (en) 2013-08-27 2020-05-05 Seagate Technology Llc Power loss data block marking
US9323630B2 (en) 2013-09-16 2016-04-26 HGST Netherlands B.V. Enhanced data recovery from data storage devices
US9798620B2 (en) 2014-02-06 2017-10-24 Sandisk Technologies Llc Systems and methods for non-blocking solid-state memory
US10176039B2 (en) * 2014-09-19 2019-01-08 Micron Technology, Inc. Self-accumulating exclusive OR program
WO2016053189A1 (en) * 2014-10-03 2016-04-07 Agency For Science, Technology And Research Method for optimizing reconstruction of data for a hybrid object storage device
US9766977B2 (en) 2014-11-10 2017-09-19 Dell Products, Lp System and method for improving read performance of a distributed parity RAID solution
US9672106B2 (en) 2014-12-30 2017-06-06 Nutanix, Inc. Architecture for implementing erasure coding
JP5982025B1 (ja) * 2015-02-27 2016-08-31 京セラドキュメントソリューションズ株式会社 情報処理装置およびメモリー管理プログラム
US9779023B1 (en) * 2015-06-30 2017-10-03 EMC IP Holding Company LLC Storing inline-compressed data in segments of contiguous physical blocks
CN105205017A (zh) * 2015-08-31 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于pcie ssd的存储控制器
CN108701005B (zh) 2016-02-18 2021-02-23 华为技术有限公司 数据更新技术
US10567009B2 (en) 2016-12-06 2020-02-18 Nutanix, Inc. Dynamic erasure coding

Family Cites Families (34)

* 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
US4430701A (en) * 1981-08-03 1984-02-07 International Business Machines Corporation Method and apparatus for a hierarchical paging storage system
US4562576A (en) * 1982-08-14 1985-12-31 International Computers Limited Data storage apparatus
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
US4604750A (en) * 1983-11-07 1986-08-05 Digital Equipment Corporation Pipeline error correction
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 半導体記憶装置
JPS62110902A (ja) * 1985-11-09 1987-05-22 マルチ技研株式会社 カツプ部を有する女性肌着の製造方法
JPS62132270A (ja) * 1985-12-05 1987-06-15 Toshiba Corp 磁気デイスク装置
US4958351A (en) * 1986-02-03 1990-09-18 Unisys Corp. High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass
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
US4791642A (en) * 1986-10-17 1988-12-13 Amdahl Corporation Buffer error retry
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
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
US4920539A (en) * 1988-06-20 1990-04-24 Prime Computer, Inc. Memory error correction system
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
US4995041A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Write back buffer with error correcting capabilities
JP3057498B2 (ja) * 1989-08-02 2000-06-26 富士通株式会社 アレイディスク装置およびそのデータ読み出し方法
US5058116A (en) * 1989-09-19 1991-10-15 International Business Machines Corporation Pipelined error checking and correction for cache memories
US5402428A (en) * 1989-12-25 1995-03-28 Hitachi, Ltd. Array disk subsystem
US5185876A (en) * 1990-03-14 1993-02-09 Micro Technology, Inc. Buffering system for dynamically providing data to multiple storage elements
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
US5548711A (en) * 1993-08-26 1996-08-20 Emc Corporation Method and apparatus for fault tolerant fast writes through buffer dumping

Also Published As

Publication number Publication date
AU1001492A (en) 1992-07-09
DE69126416T2 (de) 1998-02-05
EP0493984B1 (en) 1997-06-04
US5274799A (en) 1993-12-28
DE69126416D1 (de) 1997-07-10
CA2058734A1 (en) 1992-07-05
US5617530A (en) 1997-04-01
EP0493984A2 (en) 1992-07-08
EP0493984A3 (en) 1993-05-12
US5526482A (en) 1996-06-11
CA2058734C (en) 2002-06-25
WO1992012482A1 (en) 1992-07-23
US5911779A (en) 1999-06-15
JP3129732B2 (ja) 2001-01-31

Similar Documents

Publication Publication Date Title
JPH06504863A (ja) コピーバックキャッシュを有する記憶装置アレイ
US5390187A (en) On-line reconstruction of a failed redundant array system
JP3071017B2 (ja) 冗長アレイ・システムにおける冗長情報の復元方法および制御システム
US6289471B1 (en) Storage device array architecture with solid-state redundancy unit
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
CN102346694B (zh) 一种在存储系统中计算奇偶校验的方法
JP3177242B2 (ja) データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶
JP3164499B2 (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
US7464322B2 (en) System and method for detecting write errors in a storage device
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
JP3283530B2 (ja) ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
US5504858A (en) Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
WO1993018455A1 (en) Improved storage unit generation of redundancy information in a redundant storage array system
WO2002071230A1 (en) Utilizing parity caching and parity logging while closing the raid 5 write hole
JPH05197498A (ja) 構成可能な冗長アレイ記憶装置
JPH1049308A (ja) ホスト・ベースraid−5及びnv−ram統合システム
US20050193273A1 (en) Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
US7240237B2 (en) Method and system for high bandwidth fault tolerance in a storage subsystem
JP2857288B2 (ja) ディスクアレイ装置
GB2402803A (en) Arrangement and method for detection of write errors in a storage system
JPH09330303A (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: 20081117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12