JP3177242B2 - データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 - Google Patents
データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶Info
- Publication number
- JP3177242B2 JP3177242B2 JP50603591A JP50603591A JP3177242B2 JP 3177242 B2 JP3177242 B2 JP 3177242B2 JP 50603591 A JP50603591 A JP 50603591A JP 50603591 A JP50603591 A JP 50603591A JP 3177242 B2 JP3177242 B2 JP 3177242B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- write operation
- information
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000013500 data storage Methods 0.000 title description 8
- 230000005055 memory storage Effects 0.000 title description 3
- 230000015654 memory Effects 0.000 claims description 117
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 8
- 239000004065 semiconductor Substances 0.000 claims 6
- 230000000977 initiatory effect Effects 0.000 claims 2
- 239000000872 buffer Substances 0.000 description 19
- 238000012937 correction Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit or communication errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/835—Timestamp
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の詳細な説明】 発明の背景 本発明は、集合的に1あるいはそれ以上の論理大容量
記憶装置として作動する物理的大容量記憶装置のセット
に関し、特に、電源故障が起こった際に、このようなセ
ットの物理的大容量記憶装置においてデータ保全を維持
するための方法および装置に関する。
記憶装置として作動する物理的大容量記憶装置のセット
に関し、特に、電源故障が起こった際に、このようなセ
ットの物理的大容量記憶装置においてデータ保全を維持
するための方法および装置に関する。
ディスクメモリは不揮発性であり、メモリサイズの要
求がメインメモリの実際的な量を越え続けるので、コン
ピュータにおいてディスクメモリの使用は、重要である
続ける。この時、ディスクはメインメモリより遅い速度
となり、システムの性能が、しばしばディスクアクセス
速度に制限される。したがって、システム全体の性能に
とって、ディスクドライブユニットのメモリサイズとデ
ータアクセス速度の両方が改善されることは重要であ
る。これについては、ミッチェルY.KIMの“同期された
ディスクインターリービング”、コンピュータにおける
IEEE処理、Vol.C−35,No.1,1986年11月、を参照のこ
と。
求がメインメモリの実際的な量を越え続けるので、コン
ピュータにおいてディスクメモリの使用は、重要である
続ける。この時、ディスクはメインメモリより遅い速度
となり、システムの性能が、しばしばディスクアクセス
速度に制限される。したがって、システム全体の性能に
とって、ディスクドライブユニットのメモリサイズとデ
ータアクセス速度の両方が改善されることは重要であ
る。これについては、ミッチェルY.KIMの“同期された
ディスクインターリービング”、コンピュータにおける
IEEE処理、Vol.C−35,No.1,1986年11月、を参照のこ
と。
ディスクメモリサイズはディスク数の増加および/も
しくはディスクの直径の増加により、増加させることが
できる。しかし、これはデータアクセス速度を増加する
ことにはならない。メモリサイズおよびデータ転送速度
は、データ記憶の密度を増すことにより、両方とも増加
させることができる。しかしながら、技術的な制約によ
りデータ密度が制限され、ディスクを高密度にすること
は、エラーになりやすい。
しくはディスクの直径の増加により、増加させることが
できる。しかし、これはデータアクセス速度を増加する
ことにはならない。メモリサイズおよびデータ転送速度
は、データ記憶の密度を増すことにより、両方とも増加
させることができる。しかしながら、技術的な制約によ
りデータ密度が制限され、ディスクを高密度にすること
は、エラーになりやすい。
種々の技術が、データアクセス速度を改善するために
用いられてきた。全体トラックデータを保持することが
できるディスクキャッシュメモリは、単一トラックにお
けるデータへの継続的なアクセスのためのシーク待ち時
間や回転待ち時間をなくすために用いられる。多重読取
り/書込みヘッドは、単一ディスクにおける1組のディ
スクあるいは、1組のトラックのブロックをインターリ
ーブするために使用される。共通のデータブロックサイ
ズは、バイトサイズ、ワードサイズおよびセクタサイズ
である。ディスクインターリービングは、性能を増加す
るための既知のスーパーコンピュータ技術であり、例え
ば、それは上述した参考文献において述べられる。デー
タアクセス性能は多くのパラメータにより測定される
が、関連応用に依存している。トランザクション処理
(バンキングのような)において、データ転送は一般に
小さく、要求率は高く、任意である。一方、スーパーコ
ンピュータを用いると、大きいデータブロックの転送が
一般的である。
用いられてきた。全体トラックデータを保持することが
できるディスクキャッシュメモリは、単一トラックにお
けるデータへの継続的なアクセスのためのシーク待ち時
間や回転待ち時間をなくすために用いられる。多重読取
り/書込みヘッドは、単一ディスクにおける1組のディ
スクあるいは、1組のトラックのブロックをインターリ
ーブするために使用される。共通のデータブロックサイ
ズは、バイトサイズ、ワードサイズおよびセクタサイズ
である。ディスクインターリービングは、性能を増加す
るための既知のスーパーコンピュータ技術であり、例え
ば、それは上述した参考文献において述べられる。デー
タアクセス性能は多くのパラメータにより測定される
が、関連応用に依存している。トランザクション処理
(バンキングのような)において、データ転送は一般に
小さく、要求率は高く、任意である。一方、スーパーコ
ンピュータを用いると、大きいデータブロックの転送が
一般的である。
最近開発されたディスクメモリ構成は、安価なディス
クの冗長アレイ(RAID)であり、その性能が改善され、
比較的低いコストになった。(例えば、デビッド、エ
ー.パターソンらの“レポートNo.UCB/CSD 87/39,1987
年12月、コンピュータ科学デビジョン(EECS)、カリフ
ォルニア大学、バークレイ、カリフォルニア94720を参
照のこと。)パターソンらの参考文献に記載されるよう
に、パーソナルコンピュータの市場が大きいことが、IB
M3380のような単一大型高価ディスク(SLED)システム
より良好なコスト対性能比を持つディスクドライブを有
し、安価なディスクドライブを開発する手助けとなって
いる。安価なディスクにおける読取り/書込みヘッド当
たり1秒ごとにI/Oの数は大きいディスクの2倍以内で
ある。したがって、RAIDアーキテクチャにおけるいくつ
かの安価なディスクからの並列転送が、ここにおいて
は、1組の安価なディスクが単一論理ディスクドライブ
として機能しており、低コストでSLEDより大きな性能を
生み出す。
クの冗長アレイ(RAID)であり、その性能が改善され、
比較的低いコストになった。(例えば、デビッド、エ
ー.パターソンらの“レポートNo.UCB/CSD 87/39,1987
年12月、コンピュータ科学デビジョン(EECS)、カリフ
ォルニア大学、バークレイ、カリフォルニア94720を参
照のこと。)パターソンらの参考文献に記載されるよう
に、パーソナルコンピュータの市場が大きいことが、IB
M3380のような単一大型高価ディスク(SLED)システム
より良好なコスト対性能比を持つディスクドライブを有
し、安価なディスクドライブを開発する手助けとなって
いる。安価なディスクにおける読取り/書込みヘッド当
たり1秒ごとにI/Oの数は大きいディスクの2倍以内で
ある。したがって、RAIDアーキテクチャにおけるいくつ
かの安価なディスクからの並列転送が、ここにおいて
は、1組の安価なディスクが単一論理ディスクドライブ
として機能しており、低コストでSLEDより大きな性能を
生み出す。
残念なことに、データが1以上のディスクに記憶され
る場合、故障までの平均時間は、アレイにおけるディス
ク数と反比例する。システムの故障までの減少した平均
時間を訂正するために、エラーの認識および訂正が、RA
IDシステムの中に構築される。パターソンらの参照文献
によれば、それぞれが異なるエラー認識および訂正手段
を有する5つのRAIDの実施例について述べられている。
これらのRAIDの実施例はRAIDレベル1−5とされてい
る。
る場合、故障までの平均時間は、アレイにおけるディス
ク数と反比例する。システムの故障までの減少した平均
時間を訂正するために、エラーの認識および訂正が、RA
IDシステムの中に構築される。パターソンらの参照文献
によれば、それぞれが異なるエラー認識および訂正手段
を有する5つのRAIDの実施例について述べられている。
これらのRAIDの実施例はRAIDレベル1−5とされてい
る。
RAIDレベル1では、データの完全な複写が利用され、
ディスク比当たりでは相対的に小さい性能を有する。RA
IDレベル2では、エラー訂正とディスク故障の修復とを
行うように意図されているエキストラディスク数を削減
できるようにするエラー訂正コードを利用することによ
り、ディスク比当たりの容量と性能が改善される。また
RAIDレベル2において、単一エラーを検出し、訂正する
ために、データはGデータディスクのグループにインタ
ーリーブされ、そしてエラーコードが生成され、チェッ
クリストとしてのCディスクの追加セットに記憶され
る。このエラーコードにより、データにおける任意の単
一ビットエラーが検出され、訂正がされる。また、Gデ
ータの1つがクラッシュした場合に、このエラーコード
により、データの修復ができる。C+Gディスクのうち
Gのみがユーザーデータを保持するので、ディスク当た
りの性能はG/(G+C)に比例する。G/Cは一般に、1
よりかなり大きく、RAIDレベル2は、RAIDレベル1以上
のディスク当たりの性能の改善を示す。1あるいはそれ
以上のスペアディスクが、システム内に含まれ、その結
果、ディスクドライブの1つが故障した場合、故障した
ディスクドライブを置換するために、スペアディスクが
電気的にRAIDに交換される。
ディスク比当たりでは相対的に小さい性能を有する。RA
IDレベル2では、エラー訂正とディスク故障の修復とを
行うように意図されているエキストラディスク数を削減
できるようにするエラー訂正コードを利用することによ
り、ディスク比当たりの容量と性能が改善される。また
RAIDレベル2において、単一エラーを検出し、訂正する
ために、データはGデータディスクのグループにインタ
ーリーブされ、そしてエラーコードが生成され、チェッ
クリストとしてのCディスクの追加セットに記憶され
る。このエラーコードにより、データにおける任意の単
一ビットエラーが検出され、訂正がされる。また、Gデ
ータの1つがクラッシュした場合に、このエラーコード
により、データの修復ができる。C+Gディスクのうち
Gのみがユーザーデータを保持するので、ディスク当た
りの性能はG/(G+C)に比例する。G/Cは一般に、1
よりかなり大きく、RAIDレベル2は、RAIDレベル1以上
のディスク当たりの性能の改善を示す。1あるいはそれ
以上のスペアディスクが、システム内に含まれ、その結
果、ディスクドライブの1つが故障した場合、故障した
ディスクドライブを置換するために、スペアディスクが
電気的にRAIDに交換される。
RAIDレベル3は、RAIDレベル2の変形であり、ここに
おいて、最も安価なディスクドライブにより設けられる
エラー検出容量が用いられ、チェックディスク数を1つ
に削減できる。これにより、RAIDレベル2より、ディス
ク当たりの相対的な性能を向上することができる。
おいて、最も安価なディスクドライブにより設けられる
エラー検出容量が用いられ、チェックディスク数を1つ
に削減できる。これにより、RAIDレベル2より、ディス
ク当たりの相対的な性能を向上することができる。
トランザクション処理においては一般的であるような
小さいデータ転送の性能基準は、データが、ビットサイ
ズのブロックで、ディスク中でインターリーブされるの
で、RAIDレベル1−3に対し劣っていることは知られて
いる。というのは、1セクタのデータ以下のデータアク
セスに対してさえ、全ディスクがアクセスされねばなら
ないからである。この性能パラメータを改善するため
に、RAIDレベル4、つまりRAIDレベル3の変形におい
て、レベル1−3のようなビットインターリーブモード
のかわりに、セクタインターリーブモードでディスクに
データがインターリーブされる。この利点は、小さいデ
ータアクセス(例えば、データのG+Cセクタより小さ
いアクセス)に対し、全ディスクがアクセスされる必要
はない、ということであり、つまり、データのkおよび
k+1セクタ間でのデータアクセスサイズに対し、k+
1データディスクのみがアクセスされる必要があるとい
うことである。これにより、同時に同じデータディスク
をアクセスする別々のデータアクセス要求における競合
の量を減ずることができる。
小さいデータ転送の性能基準は、データが、ビットサイ
ズのブロックで、ディスク中でインターリーブされるの
で、RAIDレベル1−3に対し劣っていることは知られて
いる。というのは、1セクタのデータ以下のデータアク
セスに対してさえ、全ディスクがアクセスされねばなら
ないからである。この性能パラメータを改善するため
に、RAIDレベル4、つまりRAIDレベル3の変形におい
て、レベル1−3のようなビットインターリーブモード
のかわりに、セクタインターリーブモードでディスクに
データがインターリーブされる。この利点は、小さいデ
ータアクセス(例えば、データのG+Cセクタより小さ
いアクセス)に対し、全ディスクがアクセスされる必要
はない、ということであり、つまり、データのkおよび
k+1セクタ間でのデータアクセスサイズに対し、k+
1データディスクのみがアクセスされる必要があるとい
うことである。これにより、同時に同じデータディスク
をアクセスする別々のデータアクセス要求における競合
の量を減ずることができる。
しかし、RAIDレベル4の性能は、書込みオペレーショ
ン中のチェックディスクのアクセスコンテンションのた
めに制限されたままである。全書込みオペレーションに
対し、現在のパリティデータを、データが書込まれるデ
ータの各ストライプ(例えば、セクタの行)のためのチ
ェックディスクに記憶するために、チェックデータは、
アクセスされねばならない。従って、書込みオペレーシ
ョンは、小さいデータアクセスに対しても、互いに妨害
をする。RAIDレベル5、つまり、RAIDレベル4の変形
は、パリティチェックデータとユーザーデータを全ディ
スク上に分散することにより、書込みオペレーションに
おけるこの競合問題を避ける。
ン中のチェックディスクのアクセスコンテンションのた
めに制限されたままである。全書込みオペレーションに
対し、現在のパリティデータを、データが書込まれるデ
ータの各ストライプ(例えば、セクタの行)のためのチ
ェックディスクに記憶するために、チェックデータは、
アクセスされねばならない。従って、書込みオペレーシ
ョンは、小さいデータアクセスに対しても、互いに妨害
をする。RAIDレベル5、つまり、RAIDレベル4の変形
は、パリティチェックデータとユーザーデータを全ディ
スク上に分散することにより、書込みオペレーションに
おけるこの競合問題を避ける。
電源故障により、独自の問題がRAIDアーキテクチャに
示される。その問題とは、従来のエラー認識および訂正
技術が、信頼性よく操作できないということである。従
来のSLED記憶システムにおいて、書込み要求が、単一デ
ィスクにおける書込みオペレーションに翻訳される。も
し、電源故障がこのような書込み要求中に発生すると、
ディスクが電源を失う前に、オペレーションが完了する
可能性は高い。しかしながら、RAIDアーキテクチャにお
いて、書込み要求が、多重ディスクにおける書込みオペ
レーションに翻訳される。RAID書込みオペレーションに
とって、もし、電源故障が書込み要求中に発生すると、
書込み要求に含まれたディスクのいくつかだけが、書込
みオペレーションを完了し、それ以外のものは、書込み
オペレーションを開始しない。これにより、書込み要求
の1部分だけが書込みオペレーションを完了することに
なるけれども、書込みオペレーションを完了していない
ディスクがなんのデータも書込んでいない場合には、書
込みオペレーションが完了できなかったということは検
出されない。さらに、変えられたデータストライプ上の
チェックディスクにおけるデータは無効となり、(例え
ば、データディスクの訂正チェック情報と等しくな
く、)これにより、書込み要求に含まれていない他のセ
クタもまた、つづいて再生成されることができなくな
る。
示される。その問題とは、従来のエラー認識および訂正
技術が、信頼性よく操作できないということである。従
来のSLED記憶システムにおいて、書込み要求が、単一デ
ィスクにおける書込みオペレーションに翻訳される。も
し、電源故障がこのような書込み要求中に発生すると、
ディスクが電源を失う前に、オペレーションが完了する
可能性は高い。しかしながら、RAIDアーキテクチャにお
いて、書込み要求が、多重ディスクにおける書込みオペ
レーションに翻訳される。RAID書込みオペレーションに
とって、もし、電源故障が書込み要求中に発生すると、
書込み要求に含まれたディスクのいくつかだけが、書込
みオペレーションを完了し、それ以外のものは、書込み
オペレーションを開始しない。これにより、書込み要求
の1部分だけが書込みオペレーションを完了することに
なるけれども、書込みオペレーションを完了していない
ディスクがなんのデータも書込んでいない場合には、書
込みオペレーションが完了できなかったということは検
出されない。さらに、変えられたデータストライプ上の
チェックディスクにおけるデータは無効となり、(例え
ば、データディスクの訂正チェック情報と等しくな
く、)これにより、書込み要求に含まれていない他のセ
クタもまた、つづいて再生成されることができなくな
る。
上記の観点から、電源がなくなった時、書込みオペレ
ーションが中断されるかどうかが、電源がなくった後、
多重装置大容量記憶システムに電源が戻る時点で、決定
される方法および、電源がなくなることが原因で記憶さ
れたデータと一致しないデータを再構築する方法が提供
されることが望ましい。
ーションが中断されるかどうかが、電源がなくった後、
多重装置大容量記憶システムに電源が戻る時点で、決定
される方法および、電源がなくなることが原因で記憶さ
れたデータと一致しないデータを再構築する方法が提供
されることが望ましい。
発明の詳細な説明 本発明の第1の目的は、電源がなくなった時、書込み
オペレーションが中断されるかどうかが、多重装置大容
量記憶システムに電源が戻る時点で、決定される方法を
提供することである。
オペレーションが中断されるかどうかが、多重装置大容
量記憶システムに電源が戻る時点で、決定される方法を
提供することである。
本発明の他の目的は、書込みオペレーション中に電源
がなくなることが原因で、記憶されたデータと一致しな
いデータを再構築する方法を提供することである。
がなくなることが原因で、記憶されたデータと一致しな
いデータを再構築する方法を提供することである。
本発明によれば、電源がなくなった時、書込みオペレ
ーションが中断されるかどうかが、物理的大容量多重記
憶装置に電源が戻る時点で、決定される方法および装
置、そして、電源がなくなることが原因で、記憶された
データと一致しないデータを再構築する方法および装置
が提供される。この装置は、少なくとも、1つの冗長デ
ータを記憶するためのチェック装置、不揮発性メモリ手
段、物理的記憶装置のセットへの電源故障を検出する手
段、記憶オペレーション中の電源故障を検出し、不揮発
性メモリ手段に前記記憶オペレーションに関する情報を
記憶する手段、そして、物理的記憶装置の組に電源が戻
ったときに、不揮発性メモリ手段から記憶オペレーショ
ンに関する情報を読取り、物理的記憶装置のセットにデ
ータを再構築する手段を有する。
ーションが中断されるかどうかが、物理的大容量多重記
憶装置に電源が戻る時点で、決定される方法および装
置、そして、電源がなくなることが原因で、記憶された
データと一致しないデータを再構築する方法および装置
が提供される。この装置は、少なくとも、1つの冗長デ
ータを記憶するためのチェック装置、不揮発性メモリ手
段、物理的記憶装置のセットへの電源故障を検出する手
段、記憶オペレーション中の電源故障を検出し、不揮発
性メモリ手段に前記記憶オペレーションに関する情報を
記憶する手段、そして、物理的記憶装置の組に電源が戻
ったときに、不揮発性メモリ手段から記憶オペレーショ
ンに関する情報を読取り、物理的記憶装置のセットにデ
ータを再構築する手段を有する。
より好ましい実施例においては、全記憶オペレーショ
ンの開始時に、記憶オペレーションに関する情報が不揮
発性メモリに記憶され、記憶オペレーションが完了する
と、不揮発性メモリから消去される。
ンの開始時に、記憶オペレーションに関する情報が不揮
発性メモリに記憶され、記憶オペレーションが完了する
と、不揮発性メモリから消去される。
図面の簡単な説明 図1は、データを種々の周辺装置に割当てるための従
来のチャネルアーキテクチャを表す図である。
来のチャネルアーキテクチャを表す図である。
図2は、データを種々の周辺装置に割当てるための従
来のバスアーキテクチャを表す図である。
来のバスアーキテクチャを表す図である。
図3は、本発明に用いられるのに適したタイプの多重
装置大容量記憶システムにおけるRAIDメモリと装置コン
トローラ間の結合を表す図である。
装置大容量記憶システムにおけるRAIDメモリと装置コン
トローラ間の結合を表す図である。
図4は、本発明において、図3のRAIDメモリ304を詳
細に説明し、電源故障により発生するデータエラーを検
出し、訂正するのに用いられるハードウエアを表す図で
ある。
細に説明し、電源故障により発生するデータエラーを検
出し、訂正するのに用いられるハードウエアを表す図で
ある。
図5は、本発明において、電源故障により発生するデ
ータエラーを検出し、訂正するためのタイムスタンプデ
ータフィールドを含むデータブロックのレイアウトを表
す図である。
ータエラーを検出し、訂正するためのタイムスタンプデ
ータフィールドを含むデータブロックのレイアウトを表
す図である。
図6は、本発明において、2つのデータグループに分
けられる4つのデータ記憶装置とチェック装置を含む大
容量記憶装置のアレイを表す図である。
けられる4つのデータ記憶装置とチェック装置を含む大
容量記憶装置のアレイを表す図である。
図7は、2つの大容量記憶装置を含むデータグループ
の作動例を表す図である。
の作動例を表す図である。
実施例 1.典型的な多重装置大容量記憶システムの説明 本発明を説明するために、多重記憶装置大容量記憶シ
ステムの説明が以下に述べられ、本発明が具体化されて
いる。ここに述べられる多重装置大容量システムは、従
来のアーキテクチャを有する種々のコンピュータシステ
ムに接続され得ることが示される。本発明は、RAIDアー
キテクチャを有する多重装置大容量システムに関して述
べられているが、データが1以上の物理的記憶装置にイ
ンターリーブするのであれば、いかなる多重装置記憶シ
ステムアーキテクチャにおいても有用であることは理解
されるであろう。
ステムの説明が以下に述べられ、本発明が具体化されて
いる。ここに述べられる多重装置大容量システムは、従
来のアーキテクチャを有する種々のコンピュータシステ
ムに接続され得ることが示される。本発明は、RAIDアー
キテクチャを有する多重装置大容量システムに関して述
べられているが、データが1以上の物理的記憶装置にイ
ンターリーブするのであれば、いかなる多重装置記憶シ
ステムアーキテクチャにおいても有用であることは理解
されるであろう。
図1において、中央処理ユニット(CPU)のメインメ
モリからどの1組のデータ記憶装置114−126にもデータ
をルート割当てするためのチャネルアーキテクチャの一
般的な構成が述べられている。データはCPUメインメモ
リから1組のチャネル102−104を介して生成され、1組
の装置コントローラ105−113の1つに選択的に導かれ
る。このデータはこれらの装置コントローラのうち選択
された1つを通り、このコントローラに接続されたデー
タ記憶装置に達する。これらのデータ記憶装置には、様
々なタイプがあり、例えば、テープ記憶、単一ディスク
記憶及びRAIDメモリ記憶である。この様な記憶装置は、
CPUメインメモリ101と記憶装置間の多重データ経路を設
けるために、1以上のコントローラと結合され得る。こ
れは、例えば、記憶装置122とコントローラ111及び112
が接続されることにより示される。
モリからどの1組のデータ記憶装置114−126にもデータ
をルート割当てするためのチャネルアーキテクチャの一
般的な構成が述べられている。データはCPUメインメモ
リから1組のチャネル102−104を介して生成され、1組
の装置コントローラ105−113の1つに選択的に導かれ
る。このデータはこれらの装置コントローラのうち選択
された1つを通り、このコントローラに接続されたデー
タ記憶装置に達する。これらのデータ記憶装置には、様
々なタイプがあり、例えば、テープ記憶、単一ディスク
記憶及びRAIDメモリ記憶である。この様な記憶装置は、
CPUメインメモリ101と記憶装置間の多重データ経路を設
けるために、1以上のコントローラと結合され得る。こ
れは、例えば、記憶装置122とコントローラ111及び112
が接続されることにより示される。
図2は、もう1つの従来のアーキテクチャを示す。こ
こにおいては、チャネル102−104は入力/出力(I/O)
バスに置換されている。このシステムで用いられるデー
タ記憶装置もまた、様々なタイプがあり、例えば、テー
プ記憶、単一ディスク記憶及びRAIDメモリ記憶である。
これらの両方のアーキテクチャにおいて、いかなるデー
タアクセスの間にも、CPUメインメモリ101とアクセス用
に選択された記憶装置を接続するために、いくつかのス
イッチが設定されなければならない。記憶装置がRAIDメ
モリである場合、RAIDメモリ内でデータを割当てるため
に、追加制御が設定されなければならない。
こにおいては、チャネル102−104は入力/出力(I/O)
バスに置換されている。このシステムで用いられるデー
タ記憶装置もまた、様々なタイプがあり、例えば、テー
プ記憶、単一ディスク記憶及びRAIDメモリ記憶である。
これらの両方のアーキテクチャにおいて、いかなるデー
タアクセスの間にも、CPUメインメモリ101とアクセス用
に選択された記憶装置を接続するために、いくつかのス
イッチが設定されなければならない。記憶装置がRAIDメ
モリである場合、RAIDメモリ内でデータを割当てるため
に、追加制御が設定されなければならない。
さらに詳細に説明するために、図3において、1対の
301および302という装置コントローラが、どのように1
対のRAIDメモリ304および305に接続され得るかというこ
とが示されている。各装置コントローラは、バスあるい
はチャネル319により、CPUメインメモリに接続されてい
る。一般に、各RAIDメモリは、少なくとも、2つの装置
コントローラと接続されており、そのため、1あるいは
それ以上のCPUメインメモリ101からこのRAIDメモリへの
並列経路が、少なくとも2つ存在することになる。した
がって、例えば、各RAIDメモリ304および305は、それぞ
れバス311および312を介して、装置コントローラ301お
よび302に接続されている。ここに示されるように、バ
ス311により、また装置コントローラ301は追加RAIDメモ
リにも接続される。このようなCPUからRAIDメモリへの
並列データ経路は、装置コントローラが使用中であった
り、故障している場合にデータを割当てするために有効
である。
301および302という装置コントローラが、どのように1
対のRAIDメモリ304および305に接続され得るかというこ
とが示されている。各装置コントローラは、バスあるい
はチャネル319により、CPUメインメモリに接続されてい
る。一般に、各RAIDメモリは、少なくとも、2つの装置
コントローラと接続されており、そのため、1あるいは
それ以上のCPUメインメモリ101からこのRAIDメモリへの
並列経路が、少なくとも2つ存在することになる。した
がって、例えば、各RAIDメモリ304および305は、それぞ
れバス311および312を介して、装置コントローラ301お
よび302に接続されている。ここに示されるように、バ
ス311により、また装置コントローラ301は追加RAIDメモ
リにも接続される。このようなCPUからRAIDメモリへの
並列データ経路は、装置コントローラが使用中であった
り、故障している場合にデータを割当てするために有効
である。
各RAIDメモリ内には、ディスクユニット307からなる
セット306があり、このセットは、ディスクユニット307
からなる可動なセット308およびディスクユニット307か
らなるバックアップのセット309を含んでいる。各RAID
メモリ304および305には、装置コントローラ301および3
02と適当なひとつあるいは複数のディスクドライブユニ
ット307間で、データを割当てるRAIDコントローラ310が
存在する。各装置コントローラ301および302におけるハ
ードウエア プロトコルコントローラ315により、そし
て、各RAIDメモリ304および305における対応するハード
ウエア プロトコルコントローラ(例えば、図4に示さ
れるようなプロトコルコントローラ403および404)によ
り、装置コントローラおよびRAIDコントローラ間のデー
タの転送が制御される。可動セット308のディスクドラ
イブユニットの1つが故障した場合、RAIDコントローラ
310により故障したユニットがデータ経路から外され、
故障したドライブユニットのデータが再生成される。そ
の後、このディスクドライブユニットの入力データがバ
ックアップセット309のディスクドライブユニットの1
つに再び割当される。故障したディスクドライブユニッ
トが置換されるバックアップユニット上に故障したディ
スクドライブユニットのデータを再構築するために、コ
ントローラ310は、チェックディスクに書かれたコード
により与えられるエラー訂正能力を利用する。
セット306があり、このセットは、ディスクユニット307
からなる可動なセット308およびディスクユニット307か
らなるバックアップのセット309を含んでいる。各RAID
メモリ304および305には、装置コントローラ301および3
02と適当なひとつあるいは複数のディスクドライブユニ
ット307間で、データを割当てるRAIDコントローラ310が
存在する。各装置コントローラ301および302におけるハ
ードウエア プロトコルコントローラ315により、そし
て、各RAIDメモリ304および305における対応するハード
ウエア プロトコルコントローラ(例えば、図4に示さ
れるようなプロトコルコントローラ403および404)によ
り、装置コントローラおよびRAIDコントローラ間のデー
タの転送が制御される。可動セット308のディスクドラ
イブユニットの1つが故障した場合、RAIDコントローラ
310により故障したユニットがデータ経路から外され、
故障したドライブユニットのデータが再生成される。そ
の後、このディスクドライブユニットの入力データがバ
ックアップセット309のディスクドライブユニットの1
つに再び割当される。故障したディスクドライブユニッ
トが置換されるバックアップユニット上に故障したディ
スクドライブユニットのデータを再構築するために、コ
ントローラ310は、チェックディスクに書かれたコード
により与えられるエラー訂正能力を利用する。
RAIDアーキテクチャにあるドライブにおけるデータを
再構築する特定の方法は、特別に実行される。好適な実
施例において、チェックドライブに記憶されているチェ
ックデータを計算するために、リード ソロモン コー
ディング アルゴリズムが用いられる。特定の好適な実
施例において、このチェックデータは、前述したRAIDレ
ベル5アーキテクチャのようなストライプされた方法
で、いくつかの物理的ディスクドライブに分散される。
ストライプは1組のディスクドライブ上にある対応する
セクタからなり、大容量記憶データを含むセクタもあれ
ば、ストライプ内の大容量記憶データセクタに対するチ
ェックデータを含むものもある。ストライプは1あるい
はそれ以上のセクタディープである。1組のディスク上
のこのようなストライプは、1あるいはそれ以上にグル
ープ分けされる。これ以降、そのグループを冗長グルー
プと呼ぶことにする。この装置において、特定のストラ
イプ用のチェックドライブからなる物理的装置はストラ
イプからストライプへと変化する。ストライプの幅、
(例えば、各ストライプによりつなげられる物理的記憶
装置の数)は、冗長グループ内では等しい。
再構築する特定の方法は、特別に実行される。好適な実
施例において、チェックドライブに記憶されているチェ
ックデータを計算するために、リード ソロモン コー
ディング アルゴリズムが用いられる。特定の好適な実
施例において、このチェックデータは、前述したRAIDレ
ベル5アーキテクチャのようなストライプされた方法
で、いくつかの物理的ディスクドライブに分散される。
ストライプは1組のディスクドライブ上にある対応する
セクタからなり、大容量記憶データを含むセクタもあれ
ば、ストライプ内の大容量記憶データセクタに対するチ
ェックデータを含むものもある。ストライプは1あるい
はそれ以上のセクタディープである。1組のディスク上
のこのようなストライプは、1あるいはそれ以上にグル
ープ分けされる。これ以降、そのグループを冗長グルー
プと呼ぶことにする。この装置において、特定のストラ
イプ用のチェックドライブからなる物理的装置はストラ
イプからストライプへと変化する。ストライプの幅、
(例えば、各ストライプによりつなげられる物理的記憶
装置の数)は、冗長グループ内では等しい。
ここで用いられる特定のリード ソロモン コーディ
ング アルゴリズムによって再構築され得るデータブロ
ックの数が決定(あるいは、制限)される。例えば、リ
ード ソロモン コードにより、再構築は、ストライプ
(チェックデータを保持するドライブを含む)での全ド
ライブ数のうち2つのドライブまでと制限できる。もし
この場合に、ストライプにおいて、2つ以上のドライブ
が不一致であると決定されると、リード ソロモン コ
ードにより、いかなるデータも再構築されることができ
ない。ここで用いられるように、不一致という意味は、
リード ソロモン コードを用いて、データをストライ
プにおける他のデータに符号化すると、そのデータはス
トライプに対し記憶されたチェックデータにならないと
いうことである。この理由のため、RAIDアーキテクチャ
を有する多重装置大容量記憶システムを複数の分離冗長
グループに分けることが望ましい。
ング アルゴリズムによって再構築され得るデータブロ
ックの数が決定(あるいは、制限)される。例えば、リ
ード ソロモン コードにより、再構築は、ストライプ
(チェックデータを保持するドライブを含む)での全ド
ライブ数のうち2つのドライブまでと制限できる。もし
この場合に、ストライプにおいて、2つ以上のドライブ
が不一致であると決定されると、リード ソロモン コ
ードにより、いかなるデータも再構築されることができ
ない。ここで用いられるように、不一致という意味は、
リード ソロモン コードを用いて、データをストライ
プにおける他のデータに符号化すると、そのデータはス
トライプに対し記憶されたチェックデータにならないと
いうことである。この理由のため、RAIDアーキテクチャ
を有する多重装置大容量記憶システムを複数の分離冗長
グループに分けることが望ましい。
再構築されるドライブの数が、ここで用いられるリー
ド ソロモン コードにより決定される制限内であると
すると、再構築は、一般に以下のように完了される。第
1に、再構築されるドライブを含む冗長グループストラ
イプにおける全データブロックが読み込まれ、このスト
ライプに対応するチェックデータもまた、読み込まれ
る。そして、エラー訂正回路(例えば、図4の冗長グル
ープエラー訂正回路408)は、チェックデータおよび有
効なデータブロックを用いて、データブロックあるいは
ストライプの残部と不一致なブロックに書き込まれるは
ずであったデータを再生成する。エラー訂正回路は、用
いられるリード ソロモン コードのアルゴリズムに応
じて、データを処理するのに適しているタイプであれ
ば、いかなるものでもよい。この回路により、チェック
データが生成され、そして一致しないデータが再生成さ
れる方法は、本発明によるところではない。本発明は、
用いられる特定の再構築技術に関係なく、書込みオペレ
ーションに含まれる1あるいはそれ以上のデータブロッ
クの書込み不良によるデータエラーを検索したり、訂正
することが望まれるシステムに適用できることが意図さ
れている。
ド ソロモン コードにより決定される制限内であると
すると、再構築は、一般に以下のように完了される。第
1に、再構築されるドライブを含む冗長グループストラ
イプにおける全データブロックが読み込まれ、このスト
ライプに対応するチェックデータもまた、読み込まれ
る。そして、エラー訂正回路(例えば、図4の冗長グル
ープエラー訂正回路408)は、チェックデータおよび有
効なデータブロックを用いて、データブロックあるいは
ストライプの残部と不一致なブロックに書き込まれるは
ずであったデータを再生成する。エラー訂正回路は、用
いられるリード ソロモン コードのアルゴリズムに応
じて、データを処理するのに適しているタイプであれ
ば、いかなるものでもよい。この回路により、チェック
データが生成され、そして一致しないデータが再生成さ
れる方法は、本発明によるところではない。本発明は、
用いられる特定の再構築技術に関係なく、書込みオペレ
ーションに含まれる1あるいはそれ以上のデータブロッ
クの書込み不良によるデータエラーを検索したり、訂正
することが望まれるシステムに適用できることが意図さ
れている。
したがって、単一で、従来の物理的記憶ユニットをよ
り大きいユニットとして共に作動する1組のディスクド
ライブ作動に置換することにより、データが不正確なデ
ィスクドライブに不正確に導かれ得る、データ経路分岐
およびスイッチングの追加レベルが導入される。
り大きいユニットとして共に作動する1組のディスクド
ライブ作動に置換することにより、データが不正確なデ
ィスクドライブに不正確に導かれ得る、データ経路分岐
およびスイッチングの追加レベルが導入される。
2.誤って割当てられたデータの検出 RAIDメモリには、不正確に割当てられたデータを検出
する手段が設けられている。これは、好適には以下のよ
うに完了される。データがディスクドライブユニットの
1つに記憶されると、エキストラフィールド(例えば、
図5のフィールド501および502)は、記憶されたデータ
の各ブロックに含まれる。これらエキストラフィールド
には、データがふくまれており、このデータはRAIDメモ
リ内のどこに位置すべきかが認識されている。エキスト
ラフィールド501は、メインメモリ101に対応するCPUに
よりデータが導かれる装置の論理ユニット数を表し、エ
キストラフィールド502は、CPUによりデータが導かれる
データブロックの論理ブロック数を表す。
する手段が設けられている。これは、好適には以下のよ
うに完了される。データがディスクドライブユニットの
1つに記憶されると、エキストラフィールド(例えば、
図5のフィールド501および502)は、記憶されたデータ
の各ブロックに含まれる。これらエキストラフィールド
には、データがふくまれており、このデータはRAIDメモ
リ内のどこに位置すべきかが認識されている。エキスト
ラフィールド501は、メインメモリ101に対応するCPUに
よりデータが導かれる装置の論理ユニット数を表し、エ
キストラフィールド502は、CPUによりデータが導かれる
データブロックの論理ブロック数を表す。
ここで、論理ユニット、論理ユニット数、論理ブロッ
クおよび論理ブロック数に関して簡単に説明する。論理
ユニット数(LUN)は、CPUにより外部大容量記憶アドレ
ススペースに割当てられる数であり、1つの物理的大容
量記憶装置、複数の物理的大容量記憶装置あるいは、1
またはそれ以上のこのような装置にマッピングされる。
LUNは、外部装置がデータアクセスにはいるものである
と確認するために、データアクセスコマンドで、CPUに
より転送される。論理ユニット数に応じて、CPUから選
択された外部装置へのデータ経路内で、種々のスイッチ
が設定され、データを装置へあるいは装置から導く。既
知のRAIDそうちセットは、好適には、CPUによりRAIDメ
モリが1つの論理ディスクドライブ装置であるとされる
ように作動する。1組の物理的記憶装置上のデータを構
成するより好適な方法は、その組が1あるいはそれ以上
の論理記憶装置として可変的に作動するようにデータを
動的に構成することである。
クおよび論理ブロック数に関して簡単に説明する。論理
ユニット数(LUN)は、CPUにより外部大容量記憶アドレ
ススペースに割当てられる数であり、1つの物理的大容
量記憶装置、複数の物理的大容量記憶装置あるいは、1
またはそれ以上のこのような装置にマッピングされる。
LUNは、外部装置がデータアクセスにはいるものである
と確認するために、データアクセスコマンドで、CPUに
より転送される。論理ユニット数に応じて、CPUから選
択された外部装置へのデータ経路内で、種々のスイッチ
が設定され、データを装置へあるいは装置から導く。既
知のRAIDそうちセットは、好適には、CPUによりRAIDメ
モリが1つの論理ディスクドライブ装置であるとされる
ように作動する。1組の物理的記憶装置上のデータを構
成するより好適な方法は、その組が1あるいはそれ以上
の論理記憶装置として可変的に作動するようにデータを
動的に構成することである。
このより好適なデータ構成方法によって、CPUからの
単一書込みオペレーションからのデータ(セクタサイズ
の)のブロックが、いくつかの物理的ディスクドライブ
に書き込まれるけれども、CPUに関する限りでは、典型
的には1セクタインクリメントで、単一“論理ユニッ
ト”へデータを書込む。このような論理ユニットは1あ
るいはそれ以上のデータグループからなる。各データグ
ループは、単一の冗長グループにより分けられたデータ
ブロック(例えば、セクタ)のうち論理的に隣接するグ
ループである。データグループは、好適には、RAIDメモ
リ内に様々な実行特性を有する異なる論理ユニットを設
けるように構成し得る。図4には、RAIDメモリ304の典
型的な構成が示される。ここにおいて、いくつかのディ
スクドライブユニット307が、分離論理ユニット401およ
び402にグループ分けされている。各論理ユニットはそ
れぞれに、あるいはどちらか一方にそれ自身のチェック
データを含み、2つの論理ユニットはより大きい冗長グ
ループ、例えば、可動セット308のディスクユニット307
に形成されたグループに組み込まれる。
単一書込みオペレーションからのデータ(セクタサイズ
の)のブロックが、いくつかの物理的ディスクドライブ
に書き込まれるけれども、CPUに関する限りでは、典型
的には1セクタインクリメントで、単一“論理ユニッ
ト”へデータを書込む。このような論理ユニットは1あ
るいはそれ以上のデータグループからなる。各データグ
ループは、単一の冗長グループにより分けられたデータ
ブロック(例えば、セクタ)のうち論理的に隣接するグ
ループである。データグループは、好適には、RAIDメモ
リ内に様々な実行特性を有する異なる論理ユニットを設
けるように構成し得る。図4には、RAIDメモリ304の典
型的な構成が示される。ここにおいて、いくつかのディ
スクドライブユニット307が、分離論理ユニット401およ
び402にグループ分けされている。各論理ユニットはそ
れぞれに、あるいはどちらか一方にそれ自身のチェック
データを含み、2つの論理ユニットはより大きい冗長グ
ループ、例えば、可動セット308のディスクユニット307
に形成されたグループに組み込まれる。
各物理的ディスクドライブユニットのメモリはメモリ
の物理的ブロックに分けられ、物理的ブロック数(PB
N)により装置内で内部的に識別される。論理ブロック
数(LBN)あるいは論理ブロックアドレス(LBA)は、こ
の数により識別されたデータのブロックにアクセスする
ためにCPUによりデータ記憶装置に転送された数であ
る。論理ディスクドライブユニットにおいて、物理的ブ
ロックが悪いのもあれば、準備オペレーションが必要と
されるのもある。従って、ユーザーデータを受けること
ができない。独自のLBNあるいはLBAは、ユーザーデータ
に対し有用である論理ユニットの各物理的ブロックに割
当てられる。
の物理的ブロックに分けられ、物理的ブロック数(PB
N)により装置内で内部的に識別される。論理ブロック
数(LBN)あるいは論理ブロックアドレス(LBA)は、こ
の数により識別されたデータのブロックにアクセスする
ためにCPUによりデータ記憶装置に転送された数であ
る。論理ディスクドライブユニットにおいて、物理的ブ
ロックが悪いのもあれば、準備オペレーションが必要と
されるのもある。従って、ユーザーデータを受けること
ができない。独自のLBNあるいはLBAは、ユーザーデータ
に対し有用である論理ユニットの各物理的ブロックに割
当てられる。
ここで、図3および4を参照する。ここでは、データ
が装置コントローラ302を通り、RAIDメモリ304に達する
および/もしくはRAIDメモリ304から来る場合の、不正
確に割当てられたデータの検出が示されている。装置コ
ントローラ302は、CPUコマンドを翻訳し、コマンドが関
係する適当な論理ユニット数および論理ブロック数を識
別し、そしてこの情報をRAIDメモリ304に転送するプロ
セッサ314を含む。データがRAIDメモリ304内の論理ユニ
ット(図4の論理ユニット401および402のような)に書
込まれる場合、論理ユニット数および論理ブロック数
が、CPUから受取られたデータブロックにプリペンドさ
れ、一方、このデータは装置コントローラ302内のパッ
ケットステージングメモリ313に保持されている。その
後、RAID304の多重ドライブSCSI(スモール コンピュ
ータ システム インターフェース)410内のSCSIイン
ターフェースの1つにおいて、データがRAIDメモリ304
の適当なディスクドライブユニットに割当てられる。し
かしながら、データブロックが特定のディスク307に転
送される前に、プリペンドされた論理ユニット数及び論
理ブロック数データが、装置コントローラ302のプロセ
ッサ314により前もってRAIDメモリに転送された、期待
値に対し、検査される。この検査は、データブロックが
多重ドライブSCSIインターフェース409を通過する間に
行われる。予期され、受取られた値が符号しない場合、
データブロックの転送が再度行われる。さらに不一致が
ある場合には、修復不可能なエラーがCPUに報告され
る。
が装置コントローラ302を通り、RAIDメモリ304に達する
および/もしくはRAIDメモリ304から来る場合の、不正
確に割当てられたデータの検出が示されている。装置コ
ントローラ302は、CPUコマンドを翻訳し、コマンドが関
係する適当な論理ユニット数および論理ブロック数を識
別し、そしてこの情報をRAIDメモリ304に転送するプロ
セッサ314を含む。データがRAIDメモリ304内の論理ユニ
ット(図4の論理ユニット401および402のような)に書
込まれる場合、論理ユニット数および論理ブロック数
が、CPUから受取られたデータブロックにプリペンドさ
れ、一方、このデータは装置コントローラ302内のパッ
ケットステージングメモリ313に保持されている。その
後、RAID304の多重ドライブSCSI(スモール コンピュ
ータ システム インターフェース)410内のSCSIイン
ターフェースの1つにおいて、データがRAIDメモリ304
の適当なディスクドライブユニットに割当てられる。し
かしながら、データブロックが特定のディスク307に転
送される前に、プリペンドされた論理ユニット数及び論
理ブロック数データが、装置コントローラ302のプロセ
ッサ314により前もってRAIDメモリに転送された、期待
値に対し、検査される。この検査は、データブロックが
多重ドライブSCSIインターフェース409を通過する間に
行われる。予期され、受取られた値が符号しない場合、
データブロックの転送が再度行われる。さらに不一致が
ある場合には、修復不可能なエラーがCPUに報告され
る。
データがディスクドライブ307の1つから読取られる
と、データに記憶された論理ユニット数および論理ブロ
ック数が、プロセッサ304によりCPU読取りコマンドから
識別された期待値に対し比較される。データがCPUへ行
く途中で、SCSIを通過するとき、および装置コントロー
ラ302のパケットステージングメモリ313を通過するとき
に、このような比較が行われる。不一致が検出される
と、データ転送が終わり読取りオペレーションが再度行
われる。不一致がさらに存在すると、データブロック
が、ディスクアレイ(例えば、チェックディスクの冗長
データ)を用いて再生成されるか、修復不可能なエラー
がCPUに報告される。加えて、さらなる修復オペレーシ
ョンが以下のように行われる。データブロックから読取
られたLBNおよびLUN、これらは不正確であるとされる
と、RAIDメモリ306内の他のデータブロックに指摘され
る。このデータブロックは、それが存在するストライプ
と共に、信頼できないものとしてマークされる。ストラ
イプがCPUあるいは他の手段により再び初期化されるま
で、CPUによるこのストライプを読取りあるいは書込み
は拒絶される。
と、データに記憶された論理ユニット数および論理ブロ
ック数が、プロセッサ304によりCPU読取りコマンドから
識別された期待値に対し比較される。データがCPUへ行
く途中で、SCSIを通過するとき、および装置コントロー
ラ302のパケットステージングメモリ313を通過するとき
に、このような比較が行われる。不一致が検出される
と、データ転送が終わり読取りオペレーションが再度行
われる。不一致がさらに存在すると、データブロック
が、ディスクアレイ(例えば、チェックディスクの冗長
データ)を用いて再生成されるか、修復不可能なエラー
がCPUに報告される。加えて、さらなる修復オペレーシ
ョンが以下のように行われる。データブロックから読取
られたLBNおよびLUN、これらは不正確であるとされる
と、RAIDメモリ306内の他のデータブロックに指摘され
る。このデータブロックは、それが存在するストライプ
と共に、信頼できないものとしてマークされる。ストラ
イプがCPUあるいは他の手段により再び初期化されるま
で、CPUによるこのストライプを読取りあるいは書込み
は拒絶される。
3.書込み不良の検出 他のエキストラフィールド(図5の505)は、RAIDコ
ントローラ310が、ドライブの故障による書込み不良を
検出できるように記憶されたデータの各ブロックに含ま
れる。このエキストラフィールドは書込みオペレーショ
ンを独自に識別するデータを含む。このエキストラフィ
ールドは、書込みオペレーションがコントローラ310に
より開始される時間を記録し、ここにおいては、タイム
スタンプと呼ぶ。セクション6に述べられるように、タ
イムスタンプはまた、電源故障によりCPUの書込み要求
の実行が中断される場合(例えば、RAIDコントローラ31
0に影響する電源故障の場合)に、データを再構築する
ために用いられる。
ントローラ310が、ドライブの故障による書込み不良を
検出できるように記憶されたデータの各ブロックに含ま
れる。このエキストラフィールドは書込みオペレーショ
ンを独自に識別するデータを含む。このエキストラフィ
ールドは、書込みオペレーションがコントローラ310に
より開始される時間を記録し、ここにおいては、タイム
スタンプと呼ぶ。セクション6に述べられるように、タ
イムスタンプはまた、電源故障によりCPUの書込み要求
の実行が中断される場合(例えば、RAIDコントローラ31
0に影響する電源故障の場合)に、データを再構築する
ために用いられる。
書込みオペレーションがディスクに開始される前に、
時間値が図4のリアルタイムクロック414から読取ら
れ、書込み要求に対応するドライブSCSIインタフェース
410内のレジスタ412に記憶される。そして書込みオペレ
ーションが開始され、ドライブSCSIインタフェース410
に書込まれたタイムスタンプが、書込み要求(チェック
データのブロックを含む)に対応する各データブロック
に付加される。これにより、CPUデータ、対応するプレ
ペンディドデータおよび、対応し、付加されたデータを
RAIDメモリに記憶する。
時間値が図4のリアルタイムクロック414から読取ら
れ、書込み要求に対応するドライブSCSIインタフェース
410内のレジスタ412に記憶される。そして書込みオペレ
ーションが開始され、ドライブSCSIインタフェース410
に書込まれたタイムスタンプが、書込み要求(チェック
データのブロックを含む)に対応する各データブロック
に付加される。これにより、CPUデータ、対応するプレ
ペンディドデータおよび、対応し、付加されたデータを
RAIDメモリに記憶する。
CPUからの各読取り要求に応じて、その読取り要求を
充足するために読取られる各データグループの全データ
ブロックに対し、データを記憶したタイムスタンプが、
以下の手順で互いに比較される。多重ドライブSCSIイン
ターフェース409の各ドライブSCSIインターフェース410
において、データブロックからのタイムスタンプが、こ
のタイムスタンプを保持するようにされたレジスタ412
にロードされ、読取り要求に対応する多重ドライブSCSI
インタフェース409内のこのような全タイムスタンプレ
ジスタが、多重ドライブSCSIインターフェース409内の
比較回路を用いて比較される。全タイムスタンプが等し
くなると考えれる。不一致が検出されると、読取り要求
が再び行われる。もし不一致が再び検出され、かつより
古いタイムスタンプを含むディスクの数が、チェックデ
ィスクを用いて再構築さる得る限度内である場合、その
場合にはデータを、読取り要求に含まれるデータブロッ
クの最新の(例えば、最も新しい)タイムスタンプを用
いて、最新のものにするために、より古いデータを保持
している装置のセクタが再構築される。より古いタイム
スタンプを有するディスク数が、チェックディスクを用
いて再構築され得る限度内でない場合、修復不可能なエ
ラーがCPUに報告され、データを再構築するためにバッ
クアップテープを得るというような訂正動作が行われ
る。さらに、ストライプは信頼できないと宣言されなけ
ればならず、それへの次にくるデータアクセスは、CPU
あるいは他の手段がストライプを再び初期化するまで、
拒絶されなければならない。
充足するために読取られる各データグループの全データ
ブロックに対し、データを記憶したタイムスタンプが、
以下の手順で互いに比較される。多重ドライブSCSIイン
ターフェース409の各ドライブSCSIインターフェース410
において、データブロックからのタイムスタンプが、こ
のタイムスタンプを保持するようにされたレジスタ412
にロードされ、読取り要求に対応する多重ドライブSCSI
インタフェース409内のこのような全タイムスタンプレ
ジスタが、多重ドライブSCSIインターフェース409内の
比較回路を用いて比較される。全タイムスタンプが等し
くなると考えれる。不一致が検出されると、読取り要求
が再び行われる。もし不一致が再び検出され、かつより
古いタイムスタンプを含むディスクの数が、チェックデ
ィスクを用いて再構築さる得る限度内である場合、その
場合にはデータを、読取り要求に含まれるデータブロッ
クの最新の(例えば、最も新しい)タイムスタンプを用
いて、最新のものにするために、より古いデータを保持
している装置のセクタが再構築される。より古いタイム
スタンプを有するディスク数が、チェックディスクを用
いて再構築され得る限度内でない場合、修復不可能なエ
ラーがCPUに報告され、データを再構築するためにバッ
クアップテープを得るというような訂正動作が行われ
る。さらに、ストライプは信頼できないと宣言されなけ
ればならず、それへの次にくるデータアクセスは、CPU
あるいは他の手段がストライプを再び初期化するまで、
拒絶されなければならない。
4.記憶されたデータブロック構成 図5は、本発明に従ってディスクドライブに記憶され
る際のデータのセクタ−サイズのブロック用の好適な構
成を示す図である。図5に述べられように、ディスクド
ライブに記憶された各データブロック500は、好適にはC
PUデータ503に加えていくつかのエラーチェッキングフ
ィールドを有する。第1のエラーチェッキングフィール
ド501および502は、CPU書込み要求の間に装置コントロ
ーラ302によりプリベンドされ、CPU書込み要求の間に装
置コントローラ302によりストライプされたチェッキン
グフィールドである。この実施例において、これらエラ
ーチェッキングフィールドは、データブロックに含まれ
る対応するCPUデータ503用の論理ユニット数501および
論理ブロック数502を含む。これらフィールドを含むこ
とによりディスク記憶システムが、前述したように誤っ
て導かれたデータブロックを検出できる。
る際のデータのセクタ−サイズのブロック用の好適な構
成を示す図である。図5に述べられように、ディスクド
ライブに記憶された各データブロック500は、好適にはC
PUデータ503に加えていくつかのエラーチェッキングフ
ィールドを有する。第1のエラーチェッキングフィール
ド501および502は、CPU書込み要求の間に装置コントロ
ーラ302によりプリベンドされ、CPU書込み要求の間に装
置コントローラ302によりストライプされたチェッキン
グフィールドである。この実施例において、これらエラ
ーチェッキングフィールドは、データブロックに含まれ
る対応するCPUデータ503用の論理ユニット数501および
論理ブロック数502を含む。これらフィールドを含むこ
とによりディスク記憶システムが、前述したように誤っ
て導かれたデータブロックを検出できる。
第3のフィールドは、CPUバスあるいはチャネル319か
らあるいはCPUバスあるいはチャネル319から送られたCP
Uデータブロック503である。第4のフィールドは、RAID
コントローラ310への転送において、装置コントローラ3
02により加えられ、RAIDコントローラ310によりチェッ
クされたCRCコード504である。CRCコード504は、RAIDコ
ントローラ310から戻ると、装置コントローラ302により
再びチェックされ、ストライプされる。このフィールド
504を含むことにより、ディスク記憶システムが、装置
コントローラとRAIDコントローラ間のバスに発生するラ
ンダムなデータエラーを検出できる。
らあるいはCPUバスあるいはチャネル319から送られたCP
Uデータブロック503である。第4のフィールドは、RAID
コントローラ310への転送において、装置コントローラ3
02により加えられ、RAIDコントローラ310によりチェッ
クされたCRCコード504である。CRCコード504は、RAIDコ
ントローラ310から戻ると、装置コントローラ302により
再びチェックされ、ストライプされる。このフィールド
504を含むことにより、ディスク記憶システムが、装置
コントローラとRAIDコントローラ間のバスに発生するラ
ンダムなデータエラーを検出できる。
第5のフィールドは、書込みオペレーションにおいて
RAIDコントローラ310により付加され、そして読取りオ
ペレーションにおいてRAIDコントローラ310によりチェ
ックされ、ストライプされたタイムスタンプ505であ
る。このフィールドを含むことにより、ディスク記憶シ
ステムは、ディスクドライブの故障および/もしくは電
源故障による書込み不良を検出し、および/もしくは訂
正セクタを引き出すことができる。
RAIDコントローラ310により付加され、そして読取りオ
ペレーションにおいてRAIDコントローラ310によりチェ
ックされ、ストライプされたタイムスタンプ505であ
る。このフィールドを含むことにより、ディスク記憶シ
ステムは、ディスクドライブの故障および/もしくは電
源故障による書込み不良を検出し、および/もしくは訂
正セクタを引き出すことができる。
第6のフィールドは、書込みオペレーションにおいて
RAIDコントローラにより付加され、そして読取りオペレ
ーションにおいてRAIDコントローラによりチェックさ
れ、ストライプされたCRCコード506である。前述したよ
うに、このフィールドを含むことにより、ディスク記憶
システムは、ディスクとRAIDコントローラ間を転送して
いる間に、追加装置コントローラCRC504およびタイムス
タンプ505フィールドをカバーするデータブロック内に
発生するランダムなビットエラーを検出できる。
RAIDコントローラにより付加され、そして読取りオペレ
ーションにおいてRAIDコントローラによりチェックさ
れ、ストライプされたCRCコード506である。前述したよ
うに、このフィールドを含むことにより、ディスク記憶
システムは、ディスクとRAIDコントローラ間を転送して
いる間に、追加装置コントローラCRC504およびタイムス
タンプ505フィールドをカバーするデータブロック内に
発生するランダムなビットエラーを検出できる。
第7のフィールドは、書込みオペレーションにおいて
RAIDコントローラにより付加され、そして読取りオペレ
ーションにおいてRAIDコントローラによりチェックさ
れ、ストライプされたエラー訂正コード(ECC)演算結
果を含む。このフィールドを含むことにより、ディスク
記憶システムは、ディスクドライブからディスクプラッ
タへの直列チャネルに発生するランダムなビットエラー
および他のメディアエラーを検出し、訂正できる。
RAIDコントローラにより付加され、そして読取りオペレ
ーションにおいてRAIDコントローラによりチェックさ
れ、ストライプされたエラー訂正コード(ECC)演算結
果を含む。このフィールドを含むことにより、ディスク
記憶システムは、ディスクドライブからディスクプラッ
タへの直列チャネルに発生するランダムなビットエラー
および他のメディアエラーを検出し、訂正できる。
追加フィールドが、他のデータ操作機能を実行する目
的で設けることができる。例えば、ディスクドライブに
より、トラック識別数およびセクタ識別数が内部ドライ
ブオペレーションのための記憶されたデータに付加され
得る。
的で設けることができる。例えば、ディスクドライブに
より、トラック識別数およびセクタ識別数が内部ドライ
ブオペレーションのための記憶されたデータに付加され
得る。
5.トランザクションモードにおけるタイムスタンピング RAIDメモリはトランザクション処理モードにおいて作
動され得る。ここにおいて、CPU書込みあるいは読取り
要求によりアクセスされたデータは、論理ユニットディ
スク上の単一ブロックあるいは多数のデータのブロック
(例えば、セクタ)からなる。読取りオペレーションに
おいては、ブロックが設定されている特定のドライブだ
けがアクセスされる。書込みオペレーションにおいて
は、チェックデータを含む1あるいはそれ以上のディス
クドライブが、ブロックが設定されているドライブに加
えて、アクセスされる。しかし、単一ドライブだけしか
読取りオペレーションに含まれないと仮定すると、他の
ドライブが読取りにおいてアクセスされないので、要求
されたデータブロックに対応するタイムスタンプの比較
検査が、前述したような方法では完了され得ず、データ
を有効にすることができない。
動され得る。ここにおいて、CPU書込みあるいは読取り
要求によりアクセスされたデータは、論理ユニットディ
スク上の単一ブロックあるいは多数のデータのブロック
(例えば、セクタ)からなる。読取りオペレーションに
おいては、ブロックが設定されている特定のドライブだ
けがアクセスされる。書込みオペレーションにおいて
は、チェックデータを含む1あるいはそれ以上のディス
クドライブが、ブロックが設定されているドライブに加
えて、アクセスされる。しかし、単一ドライブだけしか
読取りオペレーションに含まれないと仮定すると、他の
ドライブが読取りにおいてアクセスされないので、要求
されたデータブロックに対応するタイムスタンプの比較
検査が、前述したような方法では完了され得ず、データ
を有効にすることができない。
図6および7は、特にトランザクション処理応用に好
適な本発明のタイムスタンプアスペクトの実施例を示
す。図6は、物理的記憶装置601−606のアレイ600を示
す。装置601−604はトランザクションデータのブロック
を記憶する。装置605および606は、このアレイ用チェッ
クドライブとして機能し、1つあるいは2つの装置が故
障した場合に、データを再生成するのに用いられる。ま
た、1つあるいは両方の装置605と606が故障した場合
に、これらの装置に記憶されたチェックデータは、装置
601−604のデータから再構築され得ることは理解される
べきである。アレイ600内には、2つのデータグループ6
15および616が規定されている。各データグループは分
離論理ユニット(例えば、図4の論理ユニット401)か
ら構成されるか、あるいはこれらは一緒に、より大きい
論理ユニット(例えば、図4の論理ユニット402)内に
含まれ得る。データグループ615は、装置601および602
を含み、データグループ616は、装置603および604を含
む。データは、各装置601−606およびシステムバス608
(例えば、図4のバス406)間で、対応するバッファメ
モリ609−614(例えば、図4のバッファ407)の1つを
介して転送される。アレイ600がトランザクションモー
ドで作動されると、書込みあるいは読取り要求がデータ
の単一ブロックのみに関与するように、装置601−604の
うちのいずれかのデータへの全アクセスにより、データ
ブロックが設定されている装置を含むデータグループの
両装置がアクセスされる。これは、書込みおよび読取り
要求の両方に応用する。このように、例えば、データの
ブロックが装置601にのみ書込まれたとしても、装置601
および602の両方がデータグループ615に起こった同じ書
込みコマンドにより、共にアクセスされる。新規のホス
トデータブロックは、前述したタイプの付加されたタイ
ムスタンプで、装置601に書込まれる。新規ホストデー
タが装置602には書込まれないけれども、装置601に書込
まれたのと同じタイムスタンプが、新規ホストデータが
書込まれた装置601におけるブロックロケーションと、
装置605および606における対応するチェックデータブロ
ックに対応する装置602のブロックロケーションに書込
まれる。装置601のデータブロックに関係する次の読取
り要求において、装置601と装置602のタイムスタンプが
比較される。このタイムスタンプ比較により、データグ
ループ615に書込みコマンドが起こった場合に、新規の
データが装置601に書込まれたということが保障され
る。
適な本発明のタイムスタンプアスペクトの実施例を示
す。図6は、物理的記憶装置601−606のアレイ600を示
す。装置601−604はトランザクションデータのブロック
を記憶する。装置605および606は、このアレイ用チェッ
クドライブとして機能し、1つあるいは2つの装置が故
障した場合に、データを再生成するのに用いられる。ま
た、1つあるいは両方の装置605と606が故障した場合
に、これらの装置に記憶されたチェックデータは、装置
601−604のデータから再構築され得ることは理解される
べきである。アレイ600内には、2つのデータグループ6
15および616が規定されている。各データグループは分
離論理ユニット(例えば、図4の論理ユニット401)か
ら構成されるか、あるいはこれらは一緒に、より大きい
論理ユニット(例えば、図4の論理ユニット402)内に
含まれ得る。データグループ615は、装置601および602
を含み、データグループ616は、装置603および604を含
む。データは、各装置601−606およびシステムバス608
(例えば、図4のバス406)間で、対応するバッファメ
モリ609−614(例えば、図4のバッファ407)の1つを
介して転送される。アレイ600がトランザクションモー
ドで作動されると、書込みあるいは読取り要求がデータ
の単一ブロックのみに関与するように、装置601−604の
うちのいずれかのデータへの全アクセスにより、データ
ブロックが設定されている装置を含むデータグループの
両装置がアクセスされる。これは、書込みおよび読取り
要求の両方に応用する。このように、例えば、データの
ブロックが装置601にのみ書込まれたとしても、装置601
および602の両方がデータグループ615に起こった同じ書
込みコマンドにより、共にアクセスされる。新規のホス
トデータブロックは、前述したタイプの付加されたタイ
ムスタンプで、装置601に書込まれる。新規ホストデー
タが装置602には書込まれないけれども、装置601に書込
まれたのと同じタイムスタンプが、新規ホストデータが
書込まれた装置601におけるブロックロケーションと、
装置605および606における対応するチェックデータブロ
ックに対応する装置602のブロックロケーションに書込
まれる。装置601のデータブロックに関係する次の読取
り要求において、装置601と装置602のタイムスタンプが
比較される。このタイムスタンプ比較により、データグ
ループ615に書込みコマンドが起こった場合に、新規の
データが装置601に書込まれたということが保障され
る。
データグループへの書込みコマンドは典型的には、装
置605および606のチェックデータを更新する目的のため
の読取り−変更−書込みオペレーションにより完了され
る。このオペレーションには、書込まれるべきブロック
の古いデータとデータグループにおける他の装置の対応
するブロックの古いデータと、そしてこれらのブロック
に関連するチェックデータの第1読取りが含まれる。例
えば、再び、新規のデータが装置601のブロックロケー
ションに書込まれると仮定すると、このブロックロケー
ションの古いデータがバッファ609に読取られる。同時
に、装置602(変化されていない)の対応するブロック
ロケーションの古いデータは、バッファ610に読取られ
る。また、装置605および606の古いチェックデータがバ
ッファ613および614に読取られる。そして、バッファ61
3および614のチェックデータと同様に、バッファ609の
データが更新される。バッファ609,610,613および614の
内容は、それぞれに、装置601,602,605および606に書込
まれる。この書込みオペレーションの間に、タイムスタ
ンプが、装置605と606に転送されたチェックデータと装
置601と602に転送されたデータに付加される。
置605および606のチェックデータを更新する目的のため
の読取り−変更−書込みオペレーションにより完了され
る。このオペレーションには、書込まれるべきブロック
の古いデータとデータグループにおける他の装置の対応
するブロックの古いデータと、そしてこれらのブロック
に関連するチェックデータの第1読取りが含まれる。例
えば、再び、新規のデータが装置601のブロックロケー
ションに書込まれると仮定すると、このブロックロケー
ションの古いデータがバッファ609に読取られる。同時
に、装置602(変化されていない)の対応するブロック
ロケーションの古いデータは、バッファ610に読取られ
る。また、装置605および606の古いチェックデータがバ
ッファ613および614に読取られる。そして、バッファ61
3および614のチェックデータと同様に、バッファ609の
データが更新される。バッファ609,610,613および614の
内容は、それぞれに、装置601,602,605および606に書込
まれる。この書込みオペレーションの間に、タイムスタ
ンプが、装置605と606に転送されたチェックデータと装
置601と602に転送されたデータに付加される。
図6のアレイ600は、全アレイ用チェックデータが装
置605および606上に設定されるように構成されるが、デ
ータグループの構成は、アレイの装置を介してチェック
データが分散されるアレイと、RAIDレベル5あるいは、
前述した好適なデータ構成のいずれにも使用できること
は理解されるべきである。
置605および606上に設定されるように構成されるが、デ
ータグループの構成は、アレイの装置を介してチェック
データが分散されるアレイと、RAIDレベル5あるいは、
前述した好適なデータ構成のいずれにも使用できること
は理解されるべきである。
加えて、データグループ615および616はそれぞれ2つ
の物理的装置からなるように示されているが、このよう
なデータグループは複数の論理装置あるいは、複数の論
理装置の部分からなり、そして、トランザクション処理
以外の応用、例えば、データベース、リアルタイム解
析、数値解析およびイメージ処理にも用いられる。
の物理的装置からなるように示されているが、このよう
なデータグループは複数の論理装置あるいは、複数の論
理装置の部分からなり、そして、トランザクション処理
以外の応用、例えば、データベース、リアルタイム解
析、数値解析およびイメージ処理にも用いられる。
図7において、各セクタサイズがどのように一連のデ
ータブロックに書込まれ、そして1−6と番号付けされ
た論理的に隣接するセクタを有する単一データグループ
として構成された装置601および602からどのように読取
られるかが示される。説明のために、セクタ1および2
が、それぞれ装置601および602のうちの対応する一対の
セレクタであると仮定する場合、また、セクタ3および
4、そしてセクタ5および6が、それぞれ装置601およ
び602の対応する一対のセクタであると仮定する場合、
新規のデータは、装置601あるいは602のどちらかの個々
のセクタに書込まれるか、あるいは新規のデータは、装
置601および602の対応するセクタに並列に書込まれ得
る。しかし、どの場合にしても、両装置601および602
は、転送ごとにアクセスされる。例えば、新規のデータ
が装置601のセクタ1あるいは装置602のセクタ2のどち
らか、あるいは、その両方に書込まれる場合、まず読取
りオペレーションが実行され、ここにおいて、セクタ1
および2の古いデータが、それぞれに、バッファ609お
よび610に読取られる。1つあるいは両方のバッファの
データが、新規のデータに変更され、バッファのデータ
が装置601および602へ書き戻される。ボックス700によ
り示されるように、データが経路AおよびBを通り装置
601および602にそれぞれ転送されると、タイムスタンプ
がセクタ1および2の両方に付加される。データがセク
タ1か2のどちらかあるいはその両方から読取られる
と、両セクタからデータがバッファ609および610に転送
され、セクタ1および2に記憶された対応するタイムス
タンプが、ボックス702により示される転送の間に、比
較される。例えば、タイムスタンプの付加および比較の
機能は、図4のSCSIドライブインターフェース回路410
のようなドライブインターフェース回路において完了さ
れ得る。もしスタンプ間の不一致が検出されると、装置
601および602への前の書込みはうまく完了されなかった
ことが表示され、読取りオペレーションが再試行され
る。もし不一致が再び発生する場合には、前述したよう
に再構築が行われるかあるいは、エラーレポートが生成
される。
ータブロックに書込まれ、そして1−6と番号付けされ
た論理的に隣接するセクタを有する単一データグループ
として構成された装置601および602からどのように読取
られるかが示される。説明のために、セクタ1および2
が、それぞれ装置601および602のうちの対応する一対の
セレクタであると仮定する場合、また、セクタ3および
4、そしてセクタ5および6が、それぞれ装置601およ
び602の対応する一対のセクタであると仮定する場合、
新規のデータは、装置601あるいは602のどちらかの個々
のセクタに書込まれるか、あるいは新規のデータは、装
置601および602の対応するセクタに並列に書込まれ得
る。しかし、どの場合にしても、両装置601および602
は、転送ごとにアクセスされる。例えば、新規のデータ
が装置601のセクタ1あるいは装置602のセクタ2のどち
らか、あるいは、その両方に書込まれる場合、まず読取
りオペレーションが実行され、ここにおいて、セクタ1
および2の古いデータが、それぞれに、バッファ609お
よび610に読取られる。1つあるいは両方のバッファの
データが、新規のデータに変更され、バッファのデータ
が装置601および602へ書き戻される。ボックス700によ
り示されるように、データが経路AおよびBを通り装置
601および602にそれぞれ転送されると、タイムスタンプ
がセクタ1および2の両方に付加される。データがセク
タ1か2のどちらかあるいはその両方から読取られる
と、両セクタからデータがバッファ609および610に転送
され、セクタ1および2に記憶された対応するタイムス
タンプが、ボックス702により示される転送の間に、比
較される。例えば、タイムスタンプの付加および比較の
機能は、図4のSCSIドライブインターフェース回路410
のようなドライブインターフェース回路において完了さ
れ得る。もしスタンプ間の不一致が検出されると、装置
601および602への前の書込みはうまく完了されなかった
ことが表示され、読取りオペレーションが再試行され
る。もし不一致が再び発生する場合には、前述したよう
に再構築が行われるかあるいは、エラーレポートが生成
される。
6.電源故障による書込みオペレーションの中断 CPU書込み要求の実行中には、いつでも電源故障が発
生し得、そのため書込み要求に対応する書込みオペレー
ションを中断することになる。このような電源故障が発
生する(例えば、RAIDコントローラが電源を失う)と、
書込み要求は以下の3つの状態のうちいずれか1つの状
態で終了する。(1)書込みオペレーションの1つも完
了されていない、(2)書込みオペレーションのいくつ
かは完了された、(3)書込みオペレーションの全部が
完了された。
生し得、そのため書込み要求に対応する書込みオペレー
ションを中断することになる。このような電源故障が発
生する(例えば、RAIDコントローラが電源を失う)と、
書込み要求は以下の3つの状態のうちいずれか1つの状
態で終了する。(1)書込みオペレーションの1つも完
了されていない、(2)書込みオペレーションのいくつ
かは完了された、(3)書込みオペレーションの全部が
完了された。
以下の理由で、4番目の可能性は重要な意味を持たな
いほど微々たるものである。この可能性は、ディスクの
書込みオペレーションがディスクプラッタにデータブロ
ックを書込んでいる途中で停止することである。電源が
故障しても、数ミリセカンドの間ディスクが書込みを続
け得るには十分な電源が存在する。数ミリセカンドとい
う時間は、データが実際にディスクプラッタに転送され
るまでオペレーションが行われるのに十分な時間以上で
ある。これよりもっと可能性のあるものは、電源故障の
間に、いくらかのディスクがヘッドを探している、ある
いは、ヘッドの下にくるセクタを待っている状態にある
ことである。この場合、電源故障が起こると、オペレー
ションを完了するための十分な時間は得られないことに
なる。
いほど微々たるものである。この可能性は、ディスクの
書込みオペレーションがディスクプラッタにデータブロ
ックを書込んでいる途中で停止することである。電源が
故障しても、数ミリセカンドの間ディスクが書込みを続
け得るには十分な電源が存在する。数ミリセカンドとい
う時間は、データが実際にディスクプラッタに転送され
るまでオペレーションが行われるのに十分な時間以上で
ある。これよりもっと可能性のあるものは、電源故障の
間に、いくらかのディスクがヘッドを探している、ある
いは、ヘッドの下にくるセクタを待っている状態にある
ことである。この場合、電源故障が起こると、オペレー
ションを完了するための十分な時間は得られないことに
なる。
したがって、ディスク上に書込みオペレーションが開
始される前に、不揮発性メモリ413内に実行されるべきC
PU書込み要求および書込みオペレーションに関する情報
のジャーナルが記憶される。不揮発性メモリ413に記憶
されたデータは、電源故障により中断された書込み要求
から修復する際に補助を受けるように意図されている。
不揮発性メモリ413は、好適には、バッテリーバックア
ップされたRAMあるいは、電気的に消去可能なプログラ
マブルROMである。不揮発性メモリは、もし電源故障が
発生しても、この情報がなくならないために使用され
る。これにより、このようなデータが電源故障から修復
する際に使用できる。このような不完全な書込みオペレ
ーションからうまく修復できるということは、CPU書込
み要求に対応する書込みオペレーションにより変更され
た冗長グループストライプの全データブロックが、この
ストライプ用のチェックデータと一致することを意味す
る。
始される前に、不揮発性メモリ413内に実行されるべきC
PU書込み要求および書込みオペレーションに関する情報
のジャーナルが記憶される。不揮発性メモリ413に記憶
されたデータは、電源故障により中断された書込み要求
から修復する際に補助を受けるように意図されている。
不揮発性メモリ413は、好適には、バッテリーバックア
ップされたRAMあるいは、電気的に消去可能なプログラ
マブルROMである。不揮発性メモリは、もし電源故障が
発生しても、この情報がなくならないために使用され
る。これにより、このようなデータが電源故障から修復
する際に使用できる。このような不完全な書込みオペレ
ーションからうまく修復できるということは、CPU書込
み要求に対応する書込みオペレーションにより変更され
た冗長グループストライプの全データブロックが、この
ストライプ用のチェックデータと一致することを意味す
る。
書込みオペレーションが開始される前に、以下の情報
のいくつか、好適には、全部が不揮発性メモリ413にロ
ードされる。(1)書込みプロセスフラグ−−電源がな
くなった際に書込みオペレーションが行われていること
を示すインディケータ、(2)オペレーションシーケン
ス数−−コマンドの受入れオーダーを表すCPUからコマ
ンドが受信された際に、書込みコマンドに割当てられた
数、(3)物理的ドライブアドレス、(4)スターティ
ング論理ブロック数、(5)エンディング論理ブロック
数あるいは、書込みオペレーションのサイズ表示、
(6)タイムスタンプ、(7)転送に対応するチェック
ドライブの物理的アドレス 書込み要求に対応する論理ユニット(例えば、論理ユ
ニット402)内のドライブに起こる書込みオペレーショ
ンのすべてが完了された後、タイムスタンプおよびこの
書込み要求に対応する他の情報が、プロセッサ411によ
り不揮発性メモリ413から消去される。
のいくつか、好適には、全部が不揮発性メモリ413にロ
ードされる。(1)書込みプロセスフラグ−−電源がな
くなった際に書込みオペレーションが行われていること
を示すインディケータ、(2)オペレーションシーケン
ス数−−コマンドの受入れオーダーを表すCPUからコマ
ンドが受信された際に、書込みコマンドに割当てられた
数、(3)物理的ドライブアドレス、(4)スターティ
ング論理ブロック数、(5)エンディング論理ブロック
数あるいは、書込みオペレーションのサイズ表示、
(6)タイムスタンプ、(7)転送に対応するチェック
ドライブの物理的アドレス 書込み要求に対応する論理ユニット(例えば、論理ユ
ニット402)内のドライブに起こる書込みオペレーショ
ンのすべてが完了された後、タイムスタンプおよびこの
書込み要求に対応する他の情報が、プロセッサ411によ
り不揮発性メモリ413から消去される。
RAIDコントローラ310に影響を及ぼすような電源故障
が発生すると、電源がRAIDコントローラに戻り次第、プ
ロセッサ411により、各冗長グループの一致を初期化手
順の部分として解析する。そうするために、不揮発性メ
モリ413内に記憶されたプログレスジャーナルの各書込
みが走査される。全ジャーナルが不揮発性メモリ413内
で消去されると、電源故障の時点で、書込みオペレーシ
ョンが部分的にも完了されていなかったということがプ
ロセッサ411により知らされる。ジャーナルが不揮発性
メモリ413内で消去されていなかった場合、プロセッサ4
11により、不揮発性メモリ413に記憶されたジャーナル
の内容を読取ることによる書込み要求に応じて、これら
のディスクのどのセクタが書込まれたのかが決定され
る。そして、プロセッサ411により、これらのセクタか
らのデータブロックがディスク307からRAIDバッファ407
へ読取られ、各データブロックからのタイムスタンプ
が、不揮発性メモリ413から読取られた期待値と比較さ
れる。
が発生すると、電源がRAIDコントローラに戻り次第、プ
ロセッサ411により、各冗長グループの一致を初期化手
順の部分として解析する。そうするために、不揮発性メ
モリ413内に記憶されたプログレスジャーナルの各書込
みが走査される。全ジャーナルが不揮発性メモリ413内
で消去されると、電源故障の時点で、書込みオペレーシ
ョンが部分的にも完了されていなかったということがプ
ロセッサ411により知らされる。ジャーナルが不揮発性
メモリ413内で消去されていなかった場合、プロセッサ4
11により、不揮発性メモリ413に記憶されたジャーナル
の内容を読取ることによる書込み要求に応じて、これら
のディスクのどのセクタが書込まれたのかが決定され
る。そして、プロセッサ411により、これらのセクタか
らのデータブロックがディスク307からRAIDバッファ407
へ読取られ、各データブロックからのタイムスタンプ
が、不揮発性メモリ413から読取られた期待値と比較さ
れる。
もし書込み要求に対応するデータブロックの全部が新
規のデータを書込まれていないかあるいは、全部が新規
のデータを書込まれている場合(例えば、全部のタイム
スタンプが不揮発性メモリ413におけるのと同じ値をと
らないか、あるいは全部が、不揮発性メモリ413におけ
るのと同じ値をとる)、プロセッサ411は、書込み要求
に対し不揮発性メモリエントリを消去し、これにより、
修復オペレーションが、うまく完了したことを表示す
る。書込み要求に対応するいくつかのデータブロックが
書込まれ、いくつかのデータブロックが書込まれない場
合、プロセッサ411は、データブロックを最も新規のデ
ータブロック(例えば、電源故障が書込みオペレーショ
ンを妨げる前にうまく書込まれたデータブロック)で現
在のデータブロックにするために、冗長グループエラー
訂正回路408を用いて、最も古いタイムスタンプを有す
るデータブロックを再構築することが、RAIDコントロー
ラのエラー訂正能力内であるかどうかを決定する。可能
ならば、プロセッサ411により、古いデータが存在する
部分にデータを生成する手順が実行され、書込み要求容
の不揮発性メモリエントリが消去される。
規のデータを書込まれていないかあるいは、全部が新規
のデータを書込まれている場合(例えば、全部のタイム
スタンプが不揮発性メモリ413におけるのと同じ値をと
らないか、あるいは全部が、不揮発性メモリ413におけ
るのと同じ値をとる)、プロセッサ411は、書込み要求
に対し不揮発性メモリエントリを消去し、これにより、
修復オペレーションが、うまく完了したことを表示す
る。書込み要求に対応するいくつかのデータブロックが
書込まれ、いくつかのデータブロックが書込まれない場
合、プロセッサ411は、データブロックを最も新規のデ
ータブロック(例えば、電源故障が書込みオペレーショ
ンを妨げる前にうまく書込まれたデータブロック)で現
在のデータブロックにするために、冗長グループエラー
訂正回路408を用いて、最も古いタイムスタンプを有す
るデータブロックを再構築することが、RAIDコントロー
ラのエラー訂正能力内であるかどうかを決定する。可能
ならば、プロセッサ411により、古いデータが存在する
部分にデータを生成する手順が実行され、書込み要求容
の不揮発性メモリエントリが消去される。
プロセッサ411により、古いデータを有するブロック
が再構築されることができなく、新規のタイムスタンプ
を有するデータブロックを再構築する(それにより、デ
ータブロックを書込みオペレーションのちょうど前の状
態にする)ことが、訂正回路のエラー訂正能力内である
ということが決定される場合、プロセッサ411により、
それを行う手続きが実行され、書込み要求に対する不揮
発性メモリエントリを消去する。
が再構築されることができなく、新規のタイムスタンプ
を有するデータブロックを再構築する(それにより、デ
ータブロックを書込みオペレーションのちょうど前の状
態にする)ことが、訂正回路のエラー訂正能力内である
ということが決定される場合、プロセッサ411により、
それを行う手続きが実行され、書込み要求に対する不揮
発性メモリエントリを消去する。
上記のシナリオがどれも不可能である場合、プロセッ
サ411は、修復不可能エラーを、RAIDメモリ304が接続さ
れている装置コントローラ301−302へ送信する。次に、
このように送信をうけた全装置コントローラ301−302に
より、この修復不可能エラーが装置コントローラが接続
されている全CPUへ報告される。加えて、信頼できない
領域に対しデータを要求することは、問題が訂正される
まで拒絶される。
サ411は、修復不可能エラーを、RAIDメモリ304が接続さ
れている装置コントローラ301−302へ送信する。次に、
このように送信をうけた全装置コントローラ301−302に
より、この修復不可能エラーが装置コントローラが接続
されている全CPUへ報告される。加えて、信頼できない
領域に対しデータを要求することは、問題が訂正される
まで拒絶される。
すべての書込みオペレーションの開始時に、データが
不揮発性メモリに記憶されるような実施例が説明された
が、RAIDメモリには、電源故障を早急に警報するシステ
ムを有する電源が含まれ、これにより、すべての書込み
オペレーションの開始時に不揮発性メモリ413のデータ
を記憶することが不必要になる。このような早期警報シ
ステムは、従来の多くの電源にオプションとして設けら
れる。これらの早期警報システムは実際の故障の前に電
源故障の始まりを検出でき、電源故障が今にもおこりそ
うなプロセッサを知らせるための一時停止信号を生成す
るのに用いられる。プロセッサ411に一時停止信号を生
成するような従来の電源故障早期警報システムを用いる
ことにより、プロセッサ411には、十分な警報が与えら
れ、電源が実際に故障する前に、このプロセッサ411が
不揮発性メモリ413の係属中の書込みオペレーションに
関するデータを記憶することができる。このような場合
には、すべての書込みオペレーションの開始時に不揮発
性メモリ413にデータを記憶する必要はない、というの
は、これと同様のデータが電鍵故障の際に、不揮発性メ
モリに記憶することができるからである。
不揮発性メモリに記憶されるような実施例が説明された
が、RAIDメモリには、電源故障を早急に警報するシステ
ムを有する電源が含まれ、これにより、すべての書込み
オペレーションの開始時に不揮発性メモリ413のデータ
を記憶することが不必要になる。このような早期警報シ
ステムは、従来の多くの電源にオプションとして設けら
れる。これらの早期警報システムは実際の故障の前に電
源故障の始まりを検出でき、電源故障が今にもおこりそ
うなプロセッサを知らせるための一時停止信号を生成す
るのに用いられる。プロセッサ411に一時停止信号を生
成するような従来の電源故障早期警報システムを用いる
ことにより、プロセッサ411には、十分な警報が与えら
れ、電源が実際に故障する前に、このプロセッサ411が
不揮発性メモリ413の係属中の書込みオペレーションに
関するデータを記憶することができる。このような場合
には、すべての書込みオペレーションの開始時に不揮発
性メモリ413にデータを記憶する必要はない、というの
は、これと同様のデータが電鍵故障の際に、不揮発性メ
モリに記憶することができるからである。
RAIDメモリ304によるCPU書込み要求およびCPU読取り
要求の実行は以下に説明され、さらに本発明の種々のア
スペクトがどのようにRAIDメモリ304の作動に統合され
得るかが説明されている。
要求の実行は以下に説明され、さらに本発明の種々のア
スペクトがどのようにRAIDメモリ304の作動に統合され
得るかが説明されている。
7.CPU書込み要求 CPU書込み要求において、装置コントローラ302が、あ
る論理ユニット数へのある量のデータを書込む要求を受
取って、ある論理ブロック数から開始する。この要求
は、パケットステージングメモリ313においてステージ
され、プロセッッサ314により読取られ、翻訳される。
要求はプロトコルコントローラ315およびバス312を介し
てRAIDコントローラ310に送られ、プロトコルコントロ
ーラ404により読取られ、そして記憶される。プロトコ
ルコントローラ404はバス405を経由して、要求が処理さ
れる準備ができているという信号をプロセッサ411に送
る。そして、プロセッサ411により、書込み要求が読取
られ、翻訳される。プロトコルコントローラ403は装置
コントローラ301からRAID304への要求を操作することに
注意する。
る論理ユニット数へのある量のデータを書込む要求を受
取って、ある論理ブロック数から開始する。この要求
は、パケットステージングメモリ313においてステージ
され、プロセッッサ314により読取られ、翻訳される。
要求はプロトコルコントローラ315およびバス312を介し
てRAIDコントローラ310に送られ、プロトコルコントロ
ーラ404により読取られ、そして記憶される。プロトコ
ルコントローラ404はバス405を経由して、要求が処理さ
れる準備ができているという信号をプロセッサ411に送
る。そして、プロセッサ411により、書込み要求が読取
られ、翻訳される。プロトコルコントローラ403は装置
コントローラ301からRAID304への要求を操作することに
注意する。
プロセッサ411により、論理ユニット数への要求がデ
ィスク(例えば、論理ユニット401あるいは402)のアレ
イ306内に含まれるディスクの書込みオペレーションに
訳されたかどうかを決定し、もし訳されていれば、対応
した各ドライブSCSIインターフェース410を介して、こ
れらディスクにコマンドを送る。プロセッサ411は、装
置コントローラ302のプロセッサ314に対し、RAIDメモリ
304のバッファ407へのデータの送信を開始するよう信号
を出す。プロセッサ411はまた、クロック414から現在の
日時を読取り、開始されようとしている書込みオペレー
ションに関する情報を有する不揮発性メモリ413をロー
ドする。また、プロセッサ411は日時を、書込み要求に
含まれるディスクドライブユニット307と対応する各ド
ライブSCSIインターフェースにおけるレジスタ412に書
込む。プロセッサ411はまた、これら同じドライブSCSI
インターフェースのレジスタ412に、CPUから到達するデ
ータのブロックの期待論理ユニット数および論理ブロッ
ク数を書込む。
ィスク(例えば、論理ユニット401あるいは402)のアレ
イ306内に含まれるディスクの書込みオペレーションに
訳されたかどうかを決定し、もし訳されていれば、対応
した各ドライブSCSIインターフェース410を介して、こ
れらディスクにコマンドを送る。プロセッサ411は、装
置コントローラ302のプロセッサ314に対し、RAIDメモリ
304のバッファ407へのデータの送信を開始するよう信号
を出す。プロセッサ411はまた、クロック414から現在の
日時を読取り、開始されようとしている書込みオペレー
ションに関する情報を有する不揮発性メモリ413をロー
ドする。また、プロセッサ411は日時を、書込み要求に
含まれるディスクドライブユニット307と対応する各ド
ライブSCSIインターフェースにおけるレジスタ412に書
込む。プロセッサ411はまた、これら同じドライブSCSI
インターフェースのレジスタ412に、CPUから到達するデ
ータのブロックの期待論理ユニット数および論理ブロッ
ク数を書込む。
プロセッサ314は、装置コントローラ302のパケットス
テージングメモリ313にデータを送るために、CPUに送信
する。これに応じて、CPUは、パケットステージングメ
モリ313にステージされているブロックパケットにデー
タを送る。CPUに接合されたヘッダ情報から、プロセッ
サ314が、各パケットがどの論理ユニット数および論理
ブロック数に対し意図されているかを決め、その情報を
データブロックにプリペンドする。1組のデータブロッ
クがRAIDコントローラ310に送られ、各データブロック
が意図されているディスクに対応するバッファ407に、
一時的に記憶される。このデータは、プロトコルコント
ローラ404から、バス406上のバッファメモリに転送され
る。そしてデータブロックは、対応するドライブSCSIイ
ンターフェース410に転送され、そこで、論理ユニット
数および論理ブロック数が、前にインターフェース410
のレジスタ412にロードされた期待値に対し比較され
る。値が一致すると、各ドライブSCSIインターフェース
が、そのデータブロックを対応するディスク307へ転送
し、レジスタ412からの日時を、データブロックに付加
する。書込み要求に対する全ディスクメモリ書込みオペ
レーションが完了された後で、プロセッサ411が、タイ
ムスタンプおよびこの書込み要求に対応する不揮発性メ
モリ413の他のデータを消去する。データにプリペンド
された論理ブロック数あるいは論理ユニット数が、ドラ
イブSCSIインターフェース410のレジスタ412に記憶され
た論理ユニット数および論理ブロック数に一致しない場
合、オペレーションが再試行されるか、修復不可能なエ
ラーがCPUに報告される。
テージングメモリ313にデータを送るために、CPUに送信
する。これに応じて、CPUは、パケットステージングメ
モリ313にステージされているブロックパケットにデー
タを送る。CPUに接合されたヘッダ情報から、プロセッ
サ314が、各パケットがどの論理ユニット数および論理
ブロック数に対し意図されているかを決め、その情報を
データブロックにプリペンドする。1組のデータブロッ
クがRAIDコントローラ310に送られ、各データブロック
が意図されているディスクに対応するバッファ407に、
一時的に記憶される。このデータは、プロトコルコント
ローラ404から、バス406上のバッファメモリに転送され
る。そしてデータブロックは、対応するドライブSCSIイ
ンターフェース410に転送され、そこで、論理ユニット
数および論理ブロック数が、前にインターフェース410
のレジスタ412にロードされた期待値に対し比較され
る。値が一致すると、各ドライブSCSIインターフェース
が、そのデータブロックを対応するディスク307へ転送
し、レジスタ412からの日時を、データブロックに付加
する。書込み要求に対する全ディスクメモリ書込みオペ
レーションが完了された後で、プロセッサ411が、タイ
ムスタンプおよびこの書込み要求に対応する不揮発性メ
モリ413の他のデータを消去する。データにプリペンド
された論理ブロック数あるいは論理ユニット数が、ドラ
イブSCSIインターフェース410のレジスタ412に記憶され
た論理ユニット数および論理ブロック数に一致しない場
合、オペレーションが再試行されるか、修復不可能なエ
ラーがCPUに報告される。
8.CPU読取り要求 CPU読取り要求において、装置コントローラ302が、指
定された論理ブロック数から、指定された量のデータを
読取る要求を受けて、指定された論理ブロック数から開
始する。この要求がパケットステージングメモリ313に
ステージされ、プロセッサ314により読取られ、翻訳さ
れる。要求が、プロトコルコントローラ315を経由し、
バス312を介してRAIDコントローラ310に送られ、プロト
コルコントローラ404により読取られ、記憶される。プ
ロトコルコントローラ404は、要求が処理される準備が
できているということをプロセッサ411に送信し、プロ
セッサは、その読取り要求を読取り、翻訳する。
定された論理ブロック数から、指定された量のデータを
読取る要求を受けて、指定された論理ブロック数から開
始する。この要求がパケットステージングメモリ313に
ステージされ、プロセッサ314により読取られ、翻訳さ
れる。要求が、プロトコルコントローラ315を経由し、
バス312を介してRAIDコントローラ310に送られ、プロト
コルコントローラ404により読取られ、記憶される。プ
ロトコルコントローラ404は、要求が処理される準備が
できているということをプロセッサ411に送信し、プロ
セッサは、その読取り要求を読取り、翻訳する。
プロセッサ411により、論理ユニット数への読取り要
求が、セット306内に含まれたディスクの読取りオペレ
ーションに訳され、多重ドライブSCSIインターフェース
409内の対応するドライブSCSIインターフェースのそれ
ぞれを介して、コマンドがこれらディスクに送られる。
プロセッサ411はまた、これら各ドライブSCSIインター
フェース410のレジスタ412に、対応するディスクから到
達するデータのブロックの期待論理ユニット数および論
理ブロック数をロードする。
求が、セット306内に含まれたディスクの読取りオペレ
ーションに訳され、多重ドライブSCSIインターフェース
409内の対応するドライブSCSIインターフェースのそれ
ぞれを介して、コマンドがこれらディスクに送られる。
プロセッサ411はまた、これら各ドライブSCSIインター
フェース410のレジスタ412に、対応するディスクから到
達するデータのブロックの期待論理ユニット数および論
理ブロック数をロードする。
データが、示された論理ユニット内のディスクドライ
ブユニットから、多重装置SCSIインターフェース409へ
到達し始める。論理ユニット内の各ドライブSCSIシンタ
ーフェースにおいて、データの各ブロックに対する論理
ブロック数および論理ユニット数が、プロセッサ411に
より前もってレジスタ412にロードされた値に対してチ
ェックされる。各データブロックの終わりに付加された
日時が、多重ドライブSCSIインターフェース409によ
り、同じ読取り要求および同じストライプと関連した他
のすべてのものと比較される。アクセスされたデータブ
ロックのすべてのタイムスタンプが等しい場合、これら
のデータブロックが、対応するバッファ407へ転送を開
始する。付加されたタイムスタンプが対応するバッファ
407に転送され、各ブロックからストライプされる。
ブユニットから、多重装置SCSIインターフェース409へ
到達し始める。論理ユニット内の各ドライブSCSIシンタ
ーフェースにおいて、データの各ブロックに対する論理
ブロック数および論理ユニット数が、プロセッサ411に
より前もってレジスタ412にロードされた値に対してチ
ェックされる。各データブロックの終わりに付加された
日時が、多重ドライブSCSIインターフェース409によ
り、同じ読取り要求および同じストライプと関連した他
のすべてのものと比較される。アクセスされたデータブ
ロックのすべてのタイムスタンプが等しい場合、これら
のデータブロックが、対応するバッファ407へ転送を開
始する。付加されたタイムスタンプが対応するバッファ
407に転送され、各ブロックからストライプされる。
全ブロックが転送されると、プロセッサ411は、デー
タブロックがパケットステージングメモリ313に送られ
る準備ができているという信号をプロセッサ314に送信
する。プロトコルコントローラ404および315は、1ある
いはそれ以上のバッファ407からパケットステージング
メモリ313へデータブロックを転送する。各データブロ
ックがパケットステージングメモリ313に転送される
と、プロセッサ314は再び、プロセッサ314に記憶された
期待値に対し、データブロックに含まれる論理ユニット
数および論理ブロック数をチェックし、データブロック
からこのプリペンドデータをストライプし、データブロ
ックの残部をCPUに送信する。
タブロックがパケットステージングメモリ313に送られ
る準備ができているという信号をプロセッサ314に送信
する。プロトコルコントローラ404および315は、1ある
いはそれ以上のバッファ407からパケットステージング
メモリ313へデータブロックを転送する。各データブロ
ックがパケットステージングメモリ313に転送される
と、プロセッサ314は再び、プロセッサ314に記憶された
期待値に対し、データブロックに含まれる論理ユニット
数および論理ブロック数をチェックし、データブロック
からこのプリペンドデータをストライプし、データブロ
ックの残部をCPUに送信する。
RAIDコントローラあるいは装置コントローラでの比較
において不一致が発生する場合、データの転送が打ち切
られ、打ち切られた読取りオペレーションが再試行され
る。誤って導かれたデータを検出する場合には、その検
出は、多重SXSIドライブインターフェース409において
起こり、更なる修復オペレーションが以下のように実行
される。(1)故障データブロックからのLUNおよびLBN
がプロセッサ411から読取られ、(2)このLUNおよびLB
Nにより示されたRAIDメモリ内のでたブロックが、それ
らが存在しているストライプと共に、信頼できないもの
としてマークされる。ストライプがCPUあるいは他の手
段により初期化されるまで、次にCPUが行おうとしてい
るこのストライプの読取りあるいは書込みは拒絶され
る。故障が再び起こり、それが冗長グループエラー訂正
回路のエラー訂正能力の限度内である場合には、故障し
ているデータブロックが、チェックディスクおよび訂正
回路408を含むディスクアレイを用いて、再生成され
る。故障が再び起こり、それがエラー訂正アルゴリズム
の限度内でない(故障したデータブロックがあまりに多
いため)場合、修復不可能なエラーがCPUに報告され
る。
において不一致が発生する場合、データの転送が打ち切
られ、打ち切られた読取りオペレーションが再試行され
る。誤って導かれたデータを検出する場合には、その検
出は、多重SXSIドライブインターフェース409において
起こり、更なる修復オペレーションが以下のように実行
される。(1)故障データブロックからのLUNおよびLBN
がプロセッサ411から読取られ、(2)このLUNおよびLB
Nにより示されたRAIDメモリ内のでたブロックが、それ
らが存在しているストライプと共に、信頼できないもの
としてマークされる。ストライプがCPUあるいは他の手
段により初期化されるまで、次にCPUが行おうとしてい
るこのストライプの読取りあるいは書込みは拒絶され
る。故障が再び起こり、それが冗長グループエラー訂正
回路のエラー訂正能力の限度内である場合には、故障し
ているデータブロックが、チェックディスクおよび訂正
回路408を含むディスクアレイを用いて、再生成され
る。故障が再び起こり、それがエラー訂正アルゴリズム
の限度内でない(故障したデータブロックがあまりに多
いため)場合、修復不可能なエラーがCPUに報告され
る。
このように本発明は、多重装置大容量記憶システムに
おいて、電源故障が原因で発生するエラーを検出し、訂
正する方法を提供するものである。この技術分野を熟知
した人であれば、本発明が、上記の実施例以外の方法で
も実践され得ることは理解されよう。本発明の実施例
は、説明のためであり、本発明を限定するものではな
く、本発明は、クレームにのみ限定されるものである。
おいて、電源故障が原因で発生するエラーを検出し、訂
正する方法を提供するものである。この技術分野を熟知
した人であれば、本発明が、上記の実施例以外の方法で
も実践され得ることは理解されよう。本発明の実施例
は、説明のためであり、本発明を限定するものではな
く、本発明は、クレームにのみ限定されるものである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャフィー,ディビッド エイチ アメリカ合衆国、カリフォルニア 94002、ベルモント、サウス ロード 551 (72)発明者 グリダー,ジョゼフ エス アメリカ合衆国、カリフォルニア 94303、パロ アルト、マリ ウェイ 3292 (72)発明者 アイドルマン,トーマス イー アメリカ合衆国、カリフォルニア 95051、サンタ クララ、ブレイディー コート 2660 (56)参考文献 特開 昭63−217411(JP,A) 特開 昭61−13328(JP,A) 特開 昭58−201162(JP,A) 特開 昭64−66727(JP,A) 特開 昭64−106132(JP,A) 特開 平1−128145(JP,A) 特開 昭62−257521(JP,A) 特開 昭59−220856(JP,A) 特開 昭63−106960(JP,A) 特開 昭63−188859(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 G06F 12/16
Claims (18)
- 【請求項1】複数ブロックのデータと、前記複数ブロッ
クのデータの各々の記憶が完了した書込みオペレーショ
ンを唯一無比に識別する第1の情報とを記憶するもの
で、論理ユニットとして動作可能な1セットの物理的装
置内に分散されて設けられた複数の物理的ブロックのメ
モリと、 前記複数の物理的ブロックのメモリが関与した最新の書
込みオペレーションを唯一無比に識別する第2の情報を
記憶する不揮発性記憶手段と、 前記第1の情報と前記第2の情報の間に所定の関係があ
るか否かをチェックし、ある特定のブロックのデータに
ついてその所定の関係がないことが、前記複数の物理的
ブロックのメモリが関与した最新の書込みオペレーショ
ンの間にその特定のブロックのデータの記憶が完了しな
かったことを示すものであるチェック手段と を備えてなるコンピュータシステム用メモリ。 - 【請求項2】請求の範囲1に記載のメモリにおいて、 前記第2の情報が、さらに、最新の書込みオペレーショ
ンにおいて記憶されつつある前記複数ブロックのデータ
を含んでいる ことを特徴とするメモリ。 - 【請求項3】請求の範囲1に記載のメモリにおいて、 前記ある特定のブロックのデータについての前記第1の
情報が、その特定のブロックのデータが関与した最新の
書込みオペレーションの時点を示す第1のタイムスタン
プを含んでおり、 前記第2の情報が、前記複数の物理的ブロックのメモリ
が関与した最新の書込みオペレーションの時点を示す第
2のタイムスタンプを含んでおり、そして 前記チェック手段が前記第1のタイムスタンプを前記第
2のタイムスタンプと比較して、前記第1および第2の
タイムスタンプ間にディスパリティがあれば、それは前
記複数の物理的ブロックのメモリが関与した最新の書込
みオペレーションの間にその特定のブロックのデータの
記憶が完了しなかったことを示すものである ことを特徴とするメモリ。 - 【請求項4】請求の範囲1に記載のメモリにおいて、 前記不揮発性記憶手段が、さらに、前記複数の物理的ブ
ロックのメモリが関与する書込みオペレーションが進行
中であることを示す第3の情報を記憶する ことを特徴とするメモリ。 - 【請求項5】請求の範囲4に記載のメモリにおいて、 前記複数の物理的ブロックのメモリが関与した書込みオ
ペレーションの完了に応答して、前記チェック手段が前
記第3の情報を前記不揮発性記憶手段から消去する ことを特徴とするメモリ。 - 【請求項6】請求の範囲5に記載のメモリにおいて、 前記チェック手段が、電源故障に応答して前記不揮発性
記憶手段をチェックして前記第3の情報が消去されてい
るかどうかを決定し、前記第3の情報が存在すれば、そ
れは書込みオペレーションが電源故障により中断された
ことを示すものであり、 前記チェック手段は、書込みオペレーションが進行中で
あることを示す前記第3の情報が消去されていない場合
に、電源故障により中断された書込みオペレーションの
間に前記複数の物理的ブロックのメモリに記憶されるべ
きであったどのデータが記憶されなかったかを決定する
ステップを開始する ことを特徴とするメモリ。 - 【請求項7】請求の範囲1に記載のメモリにおいて、 前記不揮発性記憶手段が、プログラマブル半導体メモリ
回路を含んでいる ことを特徴とするメモリ。 - 【請求項8】請求の範囲7に記載のメモリにおいて、 前記プログラマブル半導体メモリ回路が、バッテリーバ
ックアップされたRAMを含んでいる ことを特徴とするメモリ。 - 【請求項9】請求の範囲7に記載のメモリにおいて、 前記プログラマブル半導体メモリ回路が、電気的に消去
可能なプログラマブルROMを含んでいる ことを特徴とするメモリ。 - 【請求項10】1セットの物理的装置内に分散されて設
けられた複数の物理的ブロックのメモリに、複数ブロッ
クのデータと、前記複数ブロックのデータの各々の記憶
が完了した書込みオペレーションを唯一無比に識別する
第1の情報とを記憶するステップと、 不揮発性記憶手段に、前記複数の物理的ブロックのメモ
リが関与した最新の書込みオペレーションを唯一無比に
識別する第2の情報を記憶するステップと、 前記第1の情報と前記第2の情報の間に所定の関係があ
るか否かをチェックするステップであって、ある特定の
ブロックのデータについてその所定の関係がないこと
が、前記複数の物理的ブロックのメモリが関与した最新
の書込みオペレーションの間にその特定のブロックのデ
ータの記憶が完了しなかったことを示すものであるステ
ップと を含んでなるメモリ内にデータを記憶する方法。 - 【請求項11】請求の範囲10に記載の方法において、 前記第2の情報を記憶するステップが、さらに、最新の
書込みオペレーションにおいて記憶されつつある前記複
数ブロックのデータを記憶するステップを含んでいる ことを特徴とする方法。 - 【請求項12】請求の範囲10に記載の方法において、 前記ある特定のブロックのデータについての前記第1の
情報を記憶するステップが、その特定のブロックのデー
タが関与した最新の書込みオペレーションの時点を示す
第1のタイムスタンプを記憶することを含んでおり、 前記第2の情報を記憶するステップが、前記複数の物理
的ブロックのメモリが関与した最新の書込みオペレーシ
ョンの時点を示す第2のタイムスタンプを記憶すること
を含んでおり、そして 前記チェックするステップが、前記第1のタイムスタン
プを前記第2のタイムスタンプと比較して、前記第1お
よび第2のタイムスタンプ間にディスパリティがあれ
ば、それは前記複数の物理的ブロックのメモリが関与し
た最新の書込みオペレーションの間にその特定のブロッ
クのデータの記憶が完了しなかったことを示すステップ
である ことを特徴とする方法。 - 【請求項13】請求の範囲10に記載の方法において、 さらに、前記不揮発性記憶手段に、前記複数の物理的ブ
ロックのメモリが関与する書込みオペレーションが進行
中であることを示す第3の情報を記憶するステップを含
む ことを特徴とする方法。 - 【請求項14】請求の範囲13に記載の方法において、 さらに、前記複数の物理的ブロックのメモリが関与した
書込みオペレーションの完了に応答して、前記第3の情
報を前記不揮発性記憶手段から消去するステップを含む ことを特徴とする方法。 - 【請求項15】請求の範囲14に記載の方法において、 さらに、電源故障に応答して前記不揮発性記憶手段をチ
ェックして前記第3の情報が消去されているかどうかを
決定し、前記第3の情報が存在すれば、それは書込みオ
ペレーションが電源故障により中断されたことを示すス
テップと、 書込みオペレーションが進行中であることを示す前記第
3の情報が消去されていない場合に、電源故障により中
断された書込みオペレーションの間に前記複数の物理的
ブロックのメモリに記憶されるべきであったどのデータ
が記憶されなかったかを決定するステップを開始するス
テップとを含む ことを特徴とする方法。 - 【請求項16】請求の範囲10に記載の方法において、 前記不揮発性記憶手段が、プログラマブル半導体メモリ
回路を含んでいる ことを特徴とする方法。 - 【請求項17】請求の範囲16に記載の方法において、 前記プログラマブル半導体メモリ回路が、バッテリーバ
ックアップされたRAMを含んでいる ことを特徴とする方法。 - 【請求項18】請求の範囲16に記載のメモリにおいて、 前記プログラマブル半導体メモリ回路が、電気的に消去
可能なプログラマブルROMを含んでいる ことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/487,648 US5195100A (en) | 1990-03-02 | 1990-03-02 | Non-volatile memory storage of write operation identifier in data sotrage device |
US487,648 | 1990-03-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05505264A JPH05505264A (ja) | 1993-08-05 |
JP3177242B2 true JP3177242B2 (ja) | 2001-06-18 |
Family
ID=23936589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50603591A Expired - Fee Related JP3177242B2 (ja) | 1990-03-02 | 1991-02-27 | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 |
Country Status (6)
Country | Link |
---|---|
US (3) | US5195100A (ja) |
EP (1) | EP0517816A1 (ja) |
JP (1) | JP3177242B2 (ja) |
AU (1) | AU7466191A (ja) |
CA (1) | CA2076542A1 (ja) |
WO (1) | WO1991013405A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101594675B1 (ko) * | 2014-05-30 | 2016-02-16 | 곽백수 | 휴대용 접이식 우산 |
Families Citing this family (184)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5414818A (en) * | 1990-04-06 | 1995-05-09 | Mti Technology Corporation | Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol |
JP2603757B2 (ja) * | 1990-11-30 | 1997-04-23 | 富士通株式会社 | アレ−ディスク装置の制御方法 |
US5258984A (en) * | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
US5278838A (en) * | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
US5379411A (en) * | 1991-11-15 | 1995-01-03 | Fujitsu Limited | Fault indication in a storage device array |
JP3160106B2 (ja) * | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | ディスクアレーの区分け方法 |
US5333305A (en) * | 1991-12-27 | 1994-07-26 | Compaq Computer Corporation | Method for improving partial stripe write performance in disk array subsystems |
EP0551009B1 (en) * | 1992-01-08 | 2001-06-13 | Emc Corporation | Method for synchronizing reserved areas in a redundant storage array |
EP0559488B1 (en) * | 1992-03-06 | 1998-08-19 | Data General Corporation | Handling data in a system having a processor for controlling access to a plurality of data storage disks |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
WO1993018456A1 (en) * | 1992-03-13 | 1993-09-16 | Emc Corporation | Multiple controller sharing in a redundant storage array |
US5359728A (en) * | 1992-04-09 | 1994-10-25 | Hewlett-Packard Company | Data integrity assurance in a disk drive upon a power failure |
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
DE4345320B4 (de) * | 1992-05-21 | 2006-12-28 | Fujitsu Ltd., Kawasaki | Platten-Array-Vorrichtung |
US5448719A (en) * | 1992-06-05 | 1995-09-05 | Compaq Computer Corp. | Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure |
EP0582370B1 (en) * | 1992-06-05 | 1998-10-07 | Compaq Computer Corporation | Disk drive controller with a posted write cache memory |
US5408644A (en) * | 1992-06-05 | 1995-04-18 | Compaq Computer Corporation | Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem |
US5761406A (en) * | 1992-07-31 | 1998-06-02 | Fujitsu Limited | Method of controlling data transfer and a safe shutdown in a hierarchical cache system during power cut-off |
JP2888401B2 (ja) * | 1992-08-03 | 1999-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 冗長ディスクドライブアレイに対する同期方法 |
WO1994009436A1 (en) * | 1992-10-13 | 1994-04-28 | Compaq Computer Corporation | Disk array controller having advanced internal bus protocol |
US5448709A (en) * | 1992-10-13 | 1995-09-05 | Compaq Computer Corporation | Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations |
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 |
US5519849A (en) * | 1992-12-07 | 1996-05-21 | Digital Equipment Corporation | Method of reducing the complexity of an I/O request to a RAID-4 or RAID-5 array |
US5404500A (en) * | 1992-12-17 | 1995-04-04 | International Business Machines Corporation | Storage control system with improved system and technique for destaging data from nonvolatile memory |
GB9307623D0 (en) * | 1993-04-13 | 1993-06-02 | Jonhig Ltd | Data writing to eeprom |
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 |
ATE195825T1 (de) * | 1993-06-03 | 2000-09-15 | Network Appliance Inc | Anordnung eines dateisystems zum beschreiben beliebiger bereiche |
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 |
JP3004861U (ja) * | 1993-06-04 | 1994-11-29 | ディジタル イクイプメント コーポレイション | 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム |
JPH08511368A (ja) * | 1993-06-04 | 1996-11-26 | ネットワーク・アプリアンス・コーポレーション | 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法 |
US5581690A (en) * | 1993-06-29 | 1996-12-03 | Digital Equipment Corporation | Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system |
US5392244A (en) * | 1993-08-19 | 1995-02-21 | Hewlett-Packard Company | Memory systems with data storage redundancy management |
JP3460256B2 (ja) * | 1993-08-20 | 2003-10-27 | 株式会社デンソー | バッテリ断線検出装置 |
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 |
US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
US5530948A (en) * | 1993-12-30 | 1996-06-25 | International Business Machines Corporation | System and method for command queuing on raid levels 4 and 5 parity drives |
US5499253A (en) * | 1994-01-05 | 1996-03-12 | Digital Equipment Corporation | System and method for calculating RAID 6 check codes |
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 |
US5588129A (en) * | 1994-02-09 | 1996-12-24 | Ballard; Clinton L. | Cache for optical storage device and method for implementing same |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5634081A (en) * | 1994-03-01 | 1997-05-27 | Adaptec, Inc. | System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer |
US5544312A (en) * | 1994-04-29 | 1996-08-06 | Intel Corporation | Method of detecting loss of power during block erasure and while writing sector data to a solid state disk |
US5778167A (en) * | 1994-06-14 | 1998-07-07 | Emc Corporation | System and method for reassigning a storage location for reconstructed data on a persistent medium storage system |
US5682517A (en) * | 1994-06-21 | 1997-10-28 | Pitney Bowes Inc. | Method of transferring data to a memory medium in a mailing machine |
EP1376329A2 (en) * | 1994-06-22 | 2004-01-02 | Hewlett-Packard Company, A Delaware Corporation | Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array |
US5594862A (en) * | 1994-07-20 | 1997-01-14 | Emc Corporation | XOR controller for a storage subsystem |
US5463776A (en) * | 1994-09-22 | 1995-10-31 | Hewlett-Packard Company | Storage management system for concurrent generation and fair allocation of disk space among competing requests |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US5572661A (en) * | 1994-10-05 | 1996-11-05 | Hewlett-Packard Company | Methods and system for detecting data loss in a hierarchic data storage system |
US5615352A (en) * | 1994-10-05 | 1997-03-25 | Hewlett-Packard Company | Methods for adding storage disks to a hierarchic disk array while maintaining data availability |
US5574863A (en) * | 1994-10-25 | 1996-11-12 | Hewlett-Packard Company | System for using mirrored memory as a robust communication path between dual disk storage controllers |
US5596710A (en) * | 1994-10-25 | 1997-01-21 | Hewlett-Packard Company | Method for managing roll forward and roll back logs of a transaction object |
US5664187A (en) * | 1994-10-26 | 1997-09-02 | Hewlett-Packard Company | Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables |
US5623598A (en) * | 1994-11-22 | 1997-04-22 | Hewlett-Packard Company | Method for identifying ways to improve performance in computer data storage systems |
US5659704A (en) * | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
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 |
EP0721162A2 (en) * | 1995-01-06 | 1996-07-10 | Hewlett-Packard Company | Mirrored memory dual controller disk storage system |
US5568641A (en) * | 1995-01-18 | 1996-10-22 | Hewlett-Packard Company | Powerfail durable flash EEPROM upgrade |
US5553230A (en) * | 1995-01-18 | 1996-09-03 | Hewlett-Packard Company | Identifying controller pairs in a dual controller disk array |
US5553238A (en) * | 1995-01-19 | 1996-09-03 | Hewlett-Packard Company | Powerfail durable NVRAM testing |
US5548712A (en) * | 1995-01-19 | 1996-08-20 | Hewlett-Packard Company | Data storage system and method for managing asynchronous attachment and detachment of storage disks |
US5644789A (en) * | 1995-01-19 | 1997-07-01 | Hewlett-Packard Company | System and method for handling I/O requests over an interface bus to a storage disk array |
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
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 |
US5542065A (en) * | 1995-02-10 | 1996-07-30 | Hewlett-Packard Company | Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system |
US5537534A (en) * | 1995-02-10 | 1996-07-16 | Hewlett-Packard Company | Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array |
US5604902A (en) * | 1995-02-16 | 1997-02-18 | Hewlett-Packard Company | Hole plugging garbage collection for a data storage system |
US5828823A (en) * | 1995-03-01 | 1998-10-27 | Unisys Corporation | Method and apparatus for storing computer data after a power failure |
US5630054A (en) * | 1995-04-18 | 1997-05-13 | Mti Technology Center | Method and apparatus for storing and retrieving error check information |
US5734894A (en) * | 1995-04-25 | 1998-03-31 | Honeywell Inc. | Methods and apparatus for protecting the integrity of process data stored on a removable storage medium |
US6067635A (en) * | 1995-10-27 | 2000-05-23 | Lsi Logic Corporation | Preservation of data integrity in a raid storage device |
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 |
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 |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
JPH09305328A (ja) * | 1996-05-13 | 1997-11-28 | Fujitsu Ltd | ディスクアレイ装置 |
US5805788A (en) * | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
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 |
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 |
US5856989A (en) * | 1996-08-13 | 1999-01-05 | Hewlett-Packard Company | Method and apparatus for parity block generation |
US5889934A (en) * | 1997-02-24 | 1999-03-30 | Data General Corporation | Data validation system for a group of data storage disks |
US5860003A (en) * | 1997-02-28 | 1999-01-12 | Mti Technology, Inc. | I/O controller software with each I/O command having a plurality of nets, each with a group of threads |
JP2790134B1 (ja) * | 1997-03-11 | 1998-08-27 | 日本電気株式会社 | ディスクアレイシステム |
US5951691A (en) * | 1997-05-16 | 1999-09-14 | International Business Machines Corporation | Method and system for detection and reconstruction of corrupted data in a data storage subsystem |
US6178520B1 (en) * | 1997-07-31 | 2001-01-23 | Lsi Logic Corporation | Software recognition of drive removal or insertion in a storage system |
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 |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
US6088330A (en) * | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US5975738A (en) * | 1997-09-30 | 1999-11-02 | Lsi Logic Corporation | Method for detecting failure in redundant controllers using a private LUN |
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 |
US5941972A (en) * | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
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 |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US6535996B1 (en) * | 1999-10-07 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for protecting user data during power failures in a data processing system |
US6091658A (en) * | 1999-11-01 | 2000-07-18 | Ford Global Technologies, Inc. | Nonvolatile memory implementation for electronic devices |
JP2001166887A (ja) * | 1999-12-08 | 2001-06-22 | Sony Corp | データ記録再生装置及びデータ記録再生方法 |
US6480970B1 (en) * | 2000-05-17 | 2002-11-12 | Lsi Logic Corporation | Method of verifying data consistency between local and remote mirrored data storage systems |
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 |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US7296073B1 (en) | 2000-09-13 | 2007-11-13 | Network Appliance, Inc. | Mechanism to survive server failures when using the CIFS protocol |
US20020048203A1 (en) * | 2000-10-19 | 2002-04-25 | Findling Patrick M. | Extending total write cycles of non-volatile memory for rolling codes |
US6952797B1 (en) | 2000-10-25 | 2005-10-04 | Andy Kahn | Block-appended checksums |
US20020078026A1 (en) * | 2000-12-14 | 2002-06-20 | Fergus Joseph E. | Method and apparatus for bulk data remover |
US6970890B1 (en) * | 2000-12-20 | 2005-11-29 | Bitmicro Networks, Inc. | Method and apparatus for data recovery |
US6799284B1 (en) | 2001-02-28 | 2004-09-28 | Network Appliance, Inc. | Reparity bitmap RAID failure recovery |
US6816982B2 (en) * | 2001-03-13 | 2004-11-09 | Gonen Ravid | Method of and apparatus for computer hard disk drive protection and recovery |
US6802023B2 (en) | 2001-03-15 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having hot insertion system and method |
US6715101B2 (en) | 2001-03-15 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having an on-line controller removal system and method |
US6708285B2 (en) | 2001-03-15 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having system and method for handling controller resets |
US7017107B2 (en) * | 2001-04-30 | 2006-03-21 | Sun Microsystems, Inc. | Storage array employing scrubbing operations at the disk-controller level |
US7062704B2 (en) * | 2001-04-30 | 2006-06-13 | Sun Microsystems, Inc. | Storage array employing scrubbing operations using multiple levels of checksums |
US6773083B2 (en) | 2001-08-29 | 2004-08-10 | Lexmark International, Inc. | Method and apparatus for non-volatile memory usage in an ink jet printer |
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 |
US6772272B2 (en) * | 2002-04-25 | 2004-08-03 | International Business Machines Corporation | Apparatus and method for writing information to a designated information storage medium with an allocated data storage device using a specified information recording format |
US9311673B2 (en) | 2002-06-05 | 2016-04-12 | Nasdaq, Inc. | Security transaction matching |
US6854038B2 (en) * | 2002-06-06 | 2005-02-08 | International Business Machines Corporation | Global status journaling in NVS |
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 |
US20040003172A1 (en) * | 2002-07-01 | 2004-01-01 | Hui Su | Fast disc write mechanism in hard disc drives |
JP5242914B2 (ja) * | 2003-03-17 | 2013-07-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディジタル情報信号のリアルタイムストリームを格納する装置及び方法 |
US6957312B1 (en) * | 2003-05-07 | 2005-10-18 | Agilent Technologies, Inc. | NVRAM control protocol |
US7761421B2 (en) * | 2003-05-16 | 2010-07-20 | Hewlett-Packard Development Company, L.P. | Read, write, and recovery operations for replicated data |
US20040230862A1 (en) * | 2003-05-16 | 2004-11-18 | Arif Merchant | Redundant data assigment in a data storage system |
GB0315157D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Safe write to multiply-redundant storage |
US7379974B2 (en) * | 2003-07-14 | 2008-05-27 | International Business Machines Corporation | Multipath data retrieval from redundant array |
US7386754B2 (en) * | 2003-10-16 | 2008-06-10 | Seagate Technology Llc | Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity |
US7130962B2 (en) * | 2003-12-18 | 2006-10-31 | Intel Corporation | Writing cache lines on a disk drive |
US7536506B2 (en) * | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US7240242B2 (en) * | 2004-08-05 | 2007-07-03 | International Business Machines Corporation | Apparatus and method to convert data payloads from a first sector format to a second sector format |
US7571373B1 (en) * | 2004-08-06 | 2009-08-04 | Nvidia Corporation | Post-transmission disk error correction |
US20060075281A1 (en) * | 2004-09-27 | 2006-04-06 | Kimmel Jeffrey S | Use of application-level context information to detect corrupted data in a storage system |
US7577804B2 (en) * | 2004-10-06 | 2009-08-18 | International Business Machines Corporation | Detecting data integrity |
US20060136663A1 (en) * | 2004-12-22 | 2006-06-22 | Cochran Robert A | Sector-specific access control |
US7475177B2 (en) * | 2005-01-27 | 2009-01-06 | International Business Machines Corporation | Time and frequency distribution for bufferless crossbar switch systems |
JP4805660B2 (ja) * | 2005-02-08 | 2011-11-02 | 富士通株式会社 | ディスクライト抜け検出装置 |
US7743210B1 (en) * | 2005-04-29 | 2010-06-22 | Netapp, Inc. | System and method for implementing atomic cross-stripe write operations in a striped volume set |
US7661002B2 (en) * | 2005-08-04 | 2010-02-09 | Dot Hill Systems Corporation | Storage controller super capacitor dynamic voltage throttling |
US7487391B2 (en) * | 2005-08-04 | 2009-02-03 | Dot Hill Systems Corporation | Storage controller super capacitor adaptive life monitor |
US7451348B2 (en) * | 2005-08-04 | 2008-11-11 | Dot Hill Systems Corporation | Dynamic write cache size adjustment in raid controller with capacitor backup energy source |
JP4892225B2 (ja) * | 2005-10-28 | 2012-03-07 | 株式会社日立ハイテクノロジーズ | 真空処理方法、真空搬送装置および半導体処理装置 |
US7986480B2 (en) * | 2005-11-03 | 2011-07-26 | Hitachi Global Storage Technologies Netherlands B.V. | Micro-journaling of data on a storage device |
US7725666B2 (en) * | 2005-11-03 | 2010-05-25 | Hitachi Global Storage Technologies Netherlands B.V. | Micro-journaling of data on a storage device |
US7289344B2 (en) * | 2005-11-10 | 2007-10-30 | Sandisk Corporation | Reverse coupling effect with timing information for non-volatile memory |
US7289348B2 (en) * | 2005-11-10 | 2007-10-30 | Sandisk Corporation | Reverse coupling effect with timing information |
US8090987B2 (en) * | 2005-12-05 | 2012-01-03 | Lg Electronics Inc. | Imaging apparatus having automatic backup function and method for controlling the same |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
US7836379B1 (en) * | 2006-04-03 | 2010-11-16 | Marvell International Ltd. | Method for computing buffer ECC |
US7840878B1 (en) | 2006-04-11 | 2010-11-23 | Marvell International Ltd. | Systems and methods for data-path protection |
US8250316B2 (en) * | 2006-06-06 | 2012-08-21 | Seagate Technology Llc | Write caching random data and sequential data simultaneously |
US8037243B1 (en) * | 2007-03-19 | 2011-10-11 | Emc Corporation | Installing data storage system software on disk drive systems |
US8370715B2 (en) * | 2007-04-12 | 2013-02-05 | International Business Machines Corporation | Error checking addressable blocks in storage |
US8473923B2 (en) * | 2007-09-12 | 2013-06-25 | Sandisk Technologies Inc. | Pointers for write abort handling |
US8555086B2 (en) * | 2008-06-30 | 2013-10-08 | Intel Corporation | Encrypting data on a non-volatile memory |
US8948906B2 (en) * | 2008-08-14 | 2015-02-03 | Spectra Logic Corporation | Robotic storage library with queued move instructions and method of queuing such instructions |
US8340810B2 (en) * | 2008-10-31 | 2012-12-25 | Spectra Logic Corp. | Robotic storage library with queued move instructions and method of queuing such instructions |
US8666537B2 (en) * | 2008-10-31 | 2014-03-04 | Spectra Logic, Corporation | Robotic storage library with queued move instructions and method of queing such instructions |
JP4819116B2 (ja) * | 2008-12-19 | 2011-11-24 | 富士通株式会社 | 制御装置、ストレージ装置および制御方法 |
US8417987B1 (en) * | 2009-12-01 | 2013-04-09 | Netapp, Inc. | Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system |
US8666642B2 (en) * | 2010-02-10 | 2014-03-04 | GM Global Technology Operations LLC | Memory corruption detection in engine control systems |
US8719621B1 (en) | 2010-05-05 | 2014-05-06 | Marvell International Ltd. | Solid-state disk cache assisted redundant array of independent disks |
EP2495690B1 (en) * | 2011-03-01 | 2015-05-13 | Nxp B.V. | Transponder and method for monitoring access to application data in the transponder |
US10262365B2 (en) | 2012-04-16 | 2019-04-16 | Nasdaq Technology Ab | Method and a computerized exchange system for processing trade orders |
CN103971447B (zh) * | 2013-02-04 | 2017-11-14 | 山东新北洋信息技术股份有限公司 | 纸币识别装置及其处理方法和纸币处理状态记录方法 |
CN103927128B (zh) * | 2013-07-11 | 2017-03-01 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US9448896B2 (en) * | 2013-08-07 | 2016-09-20 | Seagate Technology Llc | Torn write mitigation |
US10643668B1 (en) * | 2013-08-27 | 2020-05-05 | Seagate Technology Llc | Power loss data block marking |
US10203888B2 (en) * | 2015-12-18 | 2019-02-12 | Intel Corporation | Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure |
US10275016B2 (en) * | 2015-12-21 | 2019-04-30 | Intel Corporation | Smart power adapters and related systems and methods |
US10620870B2 (en) | 2017-12-08 | 2020-04-14 | Intel Corporation | Data storage device with bytewise copy |
CN110413439B (zh) | 2018-04-28 | 2023-10-20 | 伊姆西Ip控股有限责任公司 | 用于检测数据的不完整写入的方法、设备和计算机可读介质 |
US11853163B2 (en) * | 2021-11-17 | 2023-12-26 | Western Digital Technologies, Inc. | Selective rebuild of interrupted devices in data storage device arrays |
US12019870B2 (en) * | 2022-11-07 | 2024-06-25 | International Business Machines Corporation | System wide memory technology over-provisioning |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633175A (en) * | 1969-05-15 | 1972-01-04 | Honeywell Inc | Defect-tolerant digital memory system |
GB1428407A (en) * | 1972-06-05 | 1976-03-17 | Plessey Co Ltd | Error detection arrangements for data processing input/ output systems |
US3914741A (en) * | 1973-11-01 | 1975-10-21 | Bell Telephone Labor Inc | Fault detection arrangement for digital transmission system |
GB1545169A (en) * | 1977-09-22 | 1979-05-02 | Burroughs Corp | Data processor system including data-save controller for protection against loss of volatile memory information during power failure |
JPS5494850A (en) * | 1978-01-11 | 1979-07-26 | Nissan Motor | Arithmetic processor |
JPS605024B2 (ja) * | 1979-09-04 | 1985-02-07 | ファナック株式会社 | 情報処理方式 |
US4380029A (en) * | 1981-03-13 | 1983-04-12 | Bti Computer Systems | Data recording format and method and apparatus for producing same |
US4525800A (en) * | 1981-06-01 | 1985-06-25 | General Electric Co. | Enhanced reliability data storage system with second memory for preserving time-dependent progressively updated data from destructive transient conditions |
GB2103397A (en) * | 1981-07-31 | 1983-02-16 | Philips Electronic Associated | Digital data aparatus with memory selection |
US4434487A (en) * | 1981-10-05 | 1984-02-28 | Digital Equipment Corporation | Disk format for secondary storage system |
US4530054A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory |
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
US4757440A (en) * | 1984-04-02 | 1988-07-12 | Unisys Corporation | Pipelined data stack with access through-checking |
US4637024A (en) * | 1984-11-02 | 1987-01-13 | International Business Machines Corporation | Redundant page identification for a catalogued memory |
US4819205A (en) * | 1985-03-25 | 1989-04-04 | Motorola, Inc. | Memory system having memory elements independently defined as being on-line or off-line |
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
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 |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
CA1296103C (en) * | 1987-06-02 | 1992-02-18 | Theodore Jay Goodlander | High-speed, high capacity, fault-tolerant, error-correcting storage 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 |
US4819237A (en) * | 1987-08-05 | 1989-04-04 | Digital Appliance Controls, Inc. | Method and apparatus for monitoring the validity of microprocess or volatile memory |
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 |
US4922456A (en) * | 1988-04-29 | 1990-05-01 | Scientific-Atlanta, Inc. | Method of reducing wearout in a non-volatile memory with double buffer |
JPH01300333A (ja) * | 1988-05-30 | 1989-12-04 | Toshiba Corp | データ転送システム |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
JP2648840B2 (ja) * | 1988-11-22 | 1997-09-03 | 株式会社日立製作所 | 半導体記憶装置 |
US5021963A (en) * | 1988-12-30 | 1991-06-04 | Pitney Bowes Inc. | EPM having an improvement in accounting update security |
US5197026A (en) * | 1989-04-13 | 1993-03-23 | Microchip Technology Incorporated | Transparent EEPROM backup of DRAM memories |
US5233618A (en) * | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5166939A (en) * | 1990-03-02 | 1992-11-24 | Micro Technology, Inc. | Data storage apparatus and method |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5182752A (en) * | 1990-06-29 | 1993-01-26 | Digital Equipment Corporation | Method and apparatus for transferring data between a data bus and a data storage device |
-
1990
- 1990-03-02 US US07/487,648 patent/US5195100A/en not_active Expired - Lifetime
-
1991
- 1991-02-27 WO PCT/US1991/001254 patent/WO1991013405A1/en not_active Application Discontinuation
- 1991-02-27 AU AU74661/91A patent/AU7466191A/en not_active Abandoned
- 1991-02-27 JP JP50603591A patent/JP3177242B2/ja not_active Expired - Fee Related
- 1991-02-27 CA CA002076542A patent/CA2076542A1/en not_active Abandoned
- 1991-02-27 EP EP91905761A patent/EP0517816A1/en not_active Withdrawn
-
1994
- 1994-04-06 US US08/224,132 patent/US5475697A/en not_active Expired - Lifetime
-
1995
- 1995-12-11 US US08/570,163 patent/US5758054A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101594675B1 (ko) * | 2014-05-30 | 2016-02-16 | 곽백수 | 휴대용 접이식 우산 |
Also Published As
Publication number | Publication date |
---|---|
JPH05505264A (ja) | 1993-08-05 |
CA2076542A1 (en) | 1991-09-03 |
EP0517816A1 (en) | 1992-12-16 |
US5758054A (en) | 1998-05-26 |
US5195100A (en) | 1993-03-16 |
WO1991013405A1 (en) | 1991-09-05 |
US5475697A (en) | 1995-12-12 |
AU7466191A (en) | 1991-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3177242B2 (ja) | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 | |
US5469453A (en) | Data corrections applicable to redundant arrays of independent disks | |
US5959860A (en) | Method and apparatus for operating an array of storage devices | |
US5504858A (en) | Method and apparatus for preserving data integrity in a multiple disk raid organized storage system | |
US6467023B1 (en) | Method for logical unit creation with immediate availability in a raid storage environment | |
US6243827B1 (en) | Multiple-channel failure detection in raid systems | |
JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
US6282670B1 (en) | Managing defective media in a RAID system | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
US6981171B2 (en) | Data storage array employing block verification information to invoke initialization procedures | |
US7315976B2 (en) | Method for using CRC as metadata to protect against drive anomaly errors in a storage array | |
US6728922B1 (en) | Dynamic data space | |
US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
US6553511B1 (en) | Mass storage data integrity-assuring technique utilizing sequence and revision number metadata | |
US5950230A (en) | RAID array configuration synchronization at power on | |
US7523257B2 (en) | Method of managing raid level bad blocks in a networked storage system | |
US20040037120A1 (en) | Storage system using fast storage devices for storing redundant data | |
US20050066124A1 (en) | Method of RAID 5 write hole prevention | |
KR20000064410A (ko) | 레이드시스템의불량데이터를관리하는방법및장치 | |
JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
US7240237B2 (en) | Method and system for high bandwidth fault tolerance in a storage subsystem | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
US7174476B2 (en) | Methods and structure for improved fault tolerance during initialization of a RAID logical unit | |
JP2004164675A (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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |