JPH07210334A - データ記憶方法及びキューイング方法 - Google Patents

データ記憶方法及びキューイング方法

Info

Publication number
JPH07210334A
JPH07210334A JP6236301A JP23630194A JPH07210334A JP H07210334 A JPH07210334 A JP H07210334A JP 6236301 A JP6236301 A JP 6236301A JP 23630194 A JP23630194 A JP 23630194A JP H07210334 A JPH07210334 A JP H07210334A
Authority
JP
Japan
Prior art keywords
data
parity
drive
cache
logical block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6236301A
Other languages
English (en)
Other versions
JP3235815B2 (ja
Inventor
Shah Mohammad Rezaul Islam
シャ・モハメド・レザウル・イスラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07210334A publication Critical patent/JPH07210334A/ja
Application granted granted Critical
Publication of JP3235815B2 publication Critical patent/JP3235815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】 集合的に1個以上の論理大容量記憶装置とし
て機能する大容量記憶装置のセットを提供する。 【構成】 RAIDレベル4または5のパリティ・ドラ
イブの入出力制御装置上におけるコマンド・キューイン
グが、付加データを伴う書込み命令の受信に応答して、
データ・ドライブの論理ブロック・アドレスと、パリテ
ィ・ドライブの論理ブロック・アドレスを決定する。パ
リティ・キャッシュ・エントリがパリティ・アドレスに
一致すると、キャッシュ・ヒットが発生する。キャッシ
ュ・ヒットに応答して置換パリティ・データが、パリテ
ィ・キャッシュ・エントリにより提供されるキャッシュ
位置に存在するパリティ・データ、データ・ドライブか
ら読出されるデータ、及び付加データから計算される。
新たに計算されたパリティ・データがキャッシュに配置
される。次に置換パリティ・データを書込むために、パ
リティ・データが配置されるドライブの入出力制御装置
にコマンドが送信される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は集合的に1個以上の論理
大容量記憶装置として機能する大容量記憶装置のセット
に関し、特に、RAIDレベル4及び5システムにおけ
るパリティ・ドライブ上で、コマンドをキューに待機さ
せる(以降ではコマンド・キューイングと記す)システ
ム及び方法に関する。
【0002】
【従来の技術】ディスク・メモリの使用はコンピュータ
において重要であり続ける。なぜなら、これは不揮発性
であり、メモリ・サイズ要求が主メモリの実際の容量を
上回り続けるからである。ディスクは主メモリよりも低
速であるので、システム性能はしばしばディスク・アク
セス速度により制限される。従って、全体的システム性
能にとって、メモリ・サイズ及びディスク・ドライブ・
ユニットのデータ・アクセス速度を増大することが重要
である。この議論に関しては、Michelle Y.Kimによる"
Synchronized Disk Interleaving"(IEEE Transactions
On Computers、Vol.C-35、No.11、1986年11
月)を参照されたい。
【0003】ディスク・メモリ・サイズはディスクの数
を増やしたり、ディスクの直径を大きくすることにより
増大するが、データ・アクセス速度は向上しない。メモ
リ・サイズ及びデータ転送レートの両方が、データ記憶
密度を増加することにより増大される。データ転送レー
トはディスクの回転速度を増すことにより向上する。し
かしながら、技術的制約がデータ密度を制限し、高密度
且つ高速ディスクはエラーを生じ易い。
【0004】データ・アクセス速度を改良するために、
様々な技術が使用されてきた。単一トラック上のデータ
への連続アクセスにおけるシーク及び回転遅延を排除す
るために、データの全トラックを保持可能なディスク・
キャッシュ・メモリが使用されてきた。ディスク・セッ
ト上のまたは単一ディスクのトラック・セット上のデー
タ・ブロックをインタリーブするために、複数の読出し
/書込みヘッドが使用されてきた。一般的データ・ブロ
ック・サイズはバイト・サイズ、ワード・サイズ及びセ
クタ・サイズである。ディスク・インタリービングは性
能を向上させるための既知のスーパーコンピュータ技術
であり、前記記事などにおいて述べられている。
【0005】データ・アクセス性能は関連出願に述べら
れるように、多数のパラメータにより測定される。トラ
ンザクション処理(バンキングなど)では、データ転送
は、通常、小さく、要求レートは高速且つランダムであ
る。一方、スーパーコンピュータの応用では、大きなデ
ータ・ブロックの転送が一般的である。
【0006】最近開発された比較的低コストで性能が改
良されたインタリーブ式ディスク・メモリ・アーキテク
チャは、RAID(Redundant Arrays of Inexpensive
Disk)としてグループ化される。例えばDavid A.Patte
rsonらによる"A Case forRedundant Arrays of Inexpen
sive Disks(RAID)"(Report No.UCB/CSD 87/8
9、December、1987、Computer Science Division(EE
CS)、Universityof California、Berkeley、Califor
nia 94720)を参照されたい。Pattersonらによる参考文
献において述べられるように、大きなパーソナル・コン
ピュータ市場が、単一大型高価ディスク(SLED:Si
ngle Large Expensive Disk )システムに勝る性能対コ
スト比を有する安価な(inexpensive )ディスク・ドラ
イブの開発を支えてきた。安価なディスクにおける1読
出し/書込みヘッド当たりの1秒当たりの入出力数は、
大型ディスクの2倍以内である。従って、安価ディスク
のセットが単一の論理ディスク・ドライブとして機能す
るRAIDアーキテクチャにおける、幾つかの安価ディ
スクからの並列転送は、低価格において、SLEDに勝
る性能を提供する。
【0007】しかしながら、データが複数のディスク上
に記憶される時、平均故障寿命(MTTF:mean time
to failure)はアレイ内のディスクの数の増加に相反し
て減少する。システムのこの減少する平均故障寿命を修
正するために、誤り検出及び訂正が全てのRAIDアー
キテクチャの特徴となる。Patterson らの参考文献は、
各々が誤り検出及び訂正のための異なる手段を有する5
つのRAIDアーキテクチャについて述べている。これ
らのRAIDアーキテクチャは、RAIDレベル1乃至
5として参照される。
【0008】RAIDレベル1はデータの完全な複
製("ミラーリング(mirroring )"とも呼ばれる)を使
用し、1ディスク当たり比較的低い性能比率を有する。
RAIDレベル2は、エラー訂正及びディスク故障回復
を提供するために必要な余分なディスク数を低減するエ
ラー訂正コードを使用することにより、1ディスク当た
りの容量比率に加え、この性能を改良する。RAIDレ
ベル2では、データはG個のデータ・ディスクのグルー
プにインタリーブされ、単一のエラーを検出し訂正する
ために、エラー訂正コード(ECC)が生成され、これ
が"チェック・ディスク"として参照されるC個の追加の
ディスクのセットに記憶される。ECCはデータ内のラ
ンダムな単一ビット・エラーを検出し訂正するために使
用され、またG個のデータ・ディスクの1個がクラッシ
ュする場合のデータの回復を可能とする。C+G個のデ
ィスクの内のG個だけがユーザ・データを転送するの
で、1ディスク当たりの性能はG/(G+C)に比例す
る。G/Cは、通常、1よりも相当に大きく、従ってR
AIDレベル2はRAIDレベル1よりも1ディスク当
たりの性能を改良する。1個以上のスペア・ディスクが
システム内に含まれ、ディスク・ドライブの1個が故障
すると、このスペア・ディスクが電子的にRAID内に
スイッチされ、故障したディスク・ドライブを置換する
ことも可能である。
【0009】RAIDレベル3はRAIDレベル2の変
形であり、チェック・ディスク数を1個に減らすため
に、ほとんどの既存の安価ディスク・ドライブにより提
供されるエラー検出機能が使用され、それによりRAI
Dレベル2に比較して、1ディスク当たりの相対性能を
向上させる。通常、パリティ・データがECCの代わり
に代用される。ECCまたは他のエラー・コード、或い
はパリティ・データは冗長データと称される。RAID
レベル2及び3の両方において、大きなデータまたはグ
ループ化データに対するディスク・アクセスのトランザ
クション時間は低減される。なぜなら、全てのデータ・
ディスクに対する帯域幅が利用されるからである。
【0010】例えばトランザクション処理において一般
的である小さなデータ転送の性能基準は、RAIDレベ
ル1乃至3に対して不十分であることが知られている。
なぜなら、データがディスク間でビット・サイズまたは
バイト・サイズのブロックにインタリーブされ、1セク
タより少ないデータへのアクセスにおいてさえも、全て
のディスクがアクセスされなければならないからであ
る。この性能パラメータを改良するために、RAIDレ
ベル3の変形であるRAIDレベル4では、レベル1乃
至3におけるビットまたはバイト・インタリーブ・モー
ドの代わりに、データがセクタ・インタリーブ・モード
によりディスクにインタリーブされる。換言すると、個
々の入出力転送が単一のデータ・ディスクだけに関連す
る。これによる利点は、入出力オペレーションの並列性
の潜在に由来する。これは同一のデータ・ディスクを同
時にアクセスする別々のデータ・アクセス要求の間の競
合を低減する。
【0011】それにも関わらず、RAIDレベル4の性
能は、書込みオペレーションの間のチェック・ディスク
に対するアクセス競合のために制限される。全ての書込
みオペレーションにおいて、データが書込まれる各スト
ライプ(すなわちセクタの行)に対応して、チェック・
ディスク上に更新パリティ・データを記憶するために、
チェック・ディスクがアクセスされなければならない。
Patterson らは、RAIDレベル4及び5において、単
一のセクタに対する個々の書込みが、論理大容量記憶装
置内の全てのディスクに関連しないことを観測した。な
ぜなら、チェック・ディスク上のパリティ・ビットが単
にグループ内の全ての対応データ・ビットの単一の排他
的論理和に相当するからである。RAIDレベル4で
は、書込みオペレーションは常にパリティ・ディスクの
読出し及び再書込みを含み、パリティ・ディスクが低カ
レント書込みオペレーションにおけるアレイへのアクセ
スのボトルネックとなる。RAIDレベル4の変形であ
るRAIDレベル5は、パリティ・チェック・データと
ユーザ・データを全てのディスクに渡って分散すること
により、書込みオペレーションの競合問題を軽減する。
RAIDレベル4では、大きな書込みオペレーション
(全てのパリティ・ストライプ・ユニットに広がる)は
予備読出しを要求しない。
【0012】しかしながら、競合問題は依然として発生
する。RAIDレベル4及び5は共に、各読出し−変更
−書込みオペレーション(例えばレコードの更新)にお
いて、2個の各ディスクに2回のアクセスを要求する。
更新はデータ・ディスク上の既存のユーザ・データの読
出しと、ユーザ・データが帰属するストライプに対応す
るパリティ・ディスク上のパリティ・データの読出しと
を含む。これに続き、更新されたユーザ・データ及びパ
リティ・データが、それぞれ両方のディスクに書込まれ
る。読出しオペレーションは更新パリティを計算するの
に不可欠であり、次の関数を用いて実行される。 新パリティ=(旧データ.XOR.新データ).XO
R.旧パリティ
【0013】パリティ・データのコヒーレンシの喪失を
阻止するために、RAIDレベル4及び5の大容量記憶
システムにおけるデータ更新オペレーション処理は、原
子的または直列化読出し変更書込みオペレーションを要
求し、その間にパリティ・データを記憶するドライブが
ロックされ、最初の更新が完了する以前に、別のデータ
更新オペレーションのパリティ情報が変化するのを阻止
する。パリティのコヒーレンシとは、パリティ・グルー
プのデータに対して順次的に実行される一連の排他的論
理和演算を、パリティが継続的に表すことを意味する。
ドライブのロックは、タグド・コマンド・キューイング
(TCQ:Tagged Command Queuing)をサポートするデ
ィスク・サブシステムにおいて、コマンドのキューイン
グを阻止する。
【0014】タグド・コマンド・キューイングはSCS
I(Small Computer SystemsInterface )の規格におい
て定義される。これは応答を待機することなく、ホスト
によりドライブに送信される複数のコマンドを処理す
る。コマンド及び応答は、ホストが応答を要求にマッチ
させるようにタグ付けされる。幾つかのシステムでは、
ドライブ性能を改良するためにオペレーションの実行順
序の最適化が行われる。必要に応じて、所定の順序によ
るコマンドの実行を保証するために、リンク化コマンド
が提供される。ドライブに対するアクセスの直列化は、
コマンド・キューイングを阻止するので、その後、ディ
スク・サブシステム制御装置はオペレーション・シーケ
ンスを最適化できず、ディスク・サブシステムの性能に
大きく影響を及ぼす結果となる。
【0015】用語"ストライピング(striping)"がRA
ID技術においてしばしば見受けられる。ストライピン
グは"ストライプ・ユニット"により、複数のディスク・
ドライブに渡ってデータをインタリーブすることであ
る。ストライプ・ユニットは論理的に連続なデータのグ
ループであり、これはデータを異なるディスク上に配置
する以前に、単一のディスク上に物理的に連続に書込ま
れる。
【0016】
【発明が解決しようとする課題】本発明の目的は、集合
的に1個以上の論理大容量記憶装置として機能する大容
量記憶装置のセットを提供することである。
【0017】本発明の別の目的は、RAIDレベル4及
び5システムにおけるパリティ・ドライブ上で、コマン
ドをキューイングするシステム及び方法を提供すること
である。
【0018】
【課題を解決するための手段】本発明の上述及び他の目
的が次のようにして達成される。ディスク・ドライブの
レベル4またはレベル5冗長アレイ内のパリティ・ドラ
イブの入出力制御装置にコマンドをキューイングする方
法が、付加データを伴う書込み命令の受信に応答して、
付加データに対応するディスク・ドライブ上の論理ブロ
ック・アドレスと、付加データの宛先ストライプに帰属
する冗長データに対応するディスク・ドライブ上の論理
ブロック・アドレスを決定する。パリティ・キャッシュ
・エントリがパリティ・データ論理ブロック・アドレス
に一致すると、キャッシュ・ヒットが発生する。キャッ
シュ・ヒットに応答して、ストライプに対応する置換パ
リティ・データがパリティ・キャッシュ・エントリによ
り提供されるキャッシュ・ロケーションに存在するパリ
ティ・データ、データ・ドライブから読出されるデータ
及び付加データから計算される。新たに計算されたパリ
ティ・データが次にキャッシュに配置される。次に置換
パリティ・データを書込むために、パリティ・データが
配置されるドライブの入出力制御装置にコマンドが送信
される。パリティ・データに対するアクセスの直列化
が、ディスク・ドライブからキャッシュ・メモリに転送
され、それによりパリティ・データに対応するディスク
・ドライブにおいてコマンド・キューイングが使用可能
となり、高性能オペレーションが確保される。
【0019】
【実施例】図1を参照すると、データ処理システム11
が示される。データ処理システム11はシステム中央処
理ユニット(CPU)13、システム・メモリ15、大
容量記憶制御装置17、及び通信リンク19を含み、通
信リンク19はCPU13、システム・メモリ15及び
大容量記憶制御装置17をリンクし、それらの間のデー
タ及びコマンドの交換を可能とする。通信リンク19は
システム・バスまたはあるタイプのネットワークを表
す。
【0020】大容量記憶制御装置17はデータ・ブロッ
クをRAID21にストライプし、またRAID21か
らデータ・ブロックを回復する機能を提供する。本発明
はレベル4またはレベル5モードのRAID21の使用
に適応する。大容量記憶制御装置17は通信リンク19
とのインタフェース23を含む。インタフェース23は
システム・バス(例えばマイクロチャネル、EISAな
ど)またはSCSI接続、或いは通信リンク19へのネ
ットワーク・アダプタである。ローカル・プロセッサ2
5とメモリ・バッファ27との間には、排他的論理和プ
ロセッサ29が接続される。排他的論理和プロセッサ2
9は、RAID21において冗長情報として使用される
パリティ・データをデータ・ストライプに渡って生成
し、性能を改良するために使用される。排他的論理和プ
ロセッサ29はまたパリティ情報の更新を提供する。
【0021】様々なタイプのデータがメモリ・バッファ
27上に記憶され、そうしたデータにはパリティ・キャ
ッシュ・テーブル31及びパリティ・データ・ブロック
33が含まれる。ユーザ・データ・ブロック35は、特
にエラー回復のために遷移してメモリ・バッファ27を
通過する。ローカル・プロセッサ25は通信リンク19
からインタフェース23を介して受信されるデータを取
得し、RAID21内の複数の直接アクセス記憶装置間
でデータをストライプするように編成する。ローカル・
プロセッサ25はまた、メモリ・バッファ27を用いて
RAID21からデータを回復及び再編成し、インタフ
ェース23を介してデータ処理システム11の計算ユニ
ットに提供する。
【0022】ローカル・プロセッサ25はまた、メモリ
・バッファ27内のパリティ・データ・ブロック33へ
のアクセスを直列化する処理を実施するために使用され
る。データは大容量記憶制御装置17から複数の入出力
制御装置37A乃至37Dを介して、RAID21に渡
される。各入出力制御装置37A乃至37Dはそれぞれ
ローカル・バッファ39A乃至39Dをアクセスし、直
接アクセス記憶装置またはディスク・ドライブ41A乃
至41Dをそれぞれ制御する。各ローカル・バッファ3
9A乃至39D内には、それぞれコマンド・キュー43
A乃至43Dが存在する。入出力制御装置37A乃至3
7Dは、コマンド・キュー43A乃至43D内に待機さ
れるコマンドの実行順序を特定の制約内において最適化
する。
【0023】コンピュータ・ベースのデータ処理システ
ム11のシステム・メモリ15はオペレーティング・シ
ステム45を含み、これには大容量記憶制御装置17に
より実現される論理記憶装置のためのデバイス・ドライ
バを含む複数のデバイス・ドライバが含まれる。システ
ム・メモリ15には更に、CPU13により大容量記憶
制御装置17に送信されるコマンドのためのデバイス・
ドライバ・キューが含まれる。
【0024】図2はディスク・ドライブ120の上面図
であり、本発明を理解する上で有用なディスク・ドライ
ブ・オペレーションの態様を表す。ディスク142の磁
気表面140上の複数のトラック(1乃至N+1)の1
つに対するアーム123によるスライダ126の位置決
めが、トラック内のセクタ(セクタ146及び148な
ど)からデータを読出しまたは書込むために実行され
る。各トラックはディスク142の中心から放射状に広
がる複数のトラック・サーボ・フィールド144によ
り、セグメントまたはセクタに分割される。トラック・
サーボ・フィールドは、回転アーム123の端部のスラ
イダ126の移動に一致するように湾曲される。ディス
ク回転スピードが一定の場合(すなわち一定角速度また
は"CAV"(constant angular velocity ))、スライ
ダ126に実装されるトランスジューサがトラック・サ
ーボ・フィールド144に厳密な時間間隔で遭遇する。
トラッキング情報が既知のように、トラック・サーボ・
フィールド144から導出される。スライダ126はサ
ーボ・フィールドの間を盲目的に浮上する。ユーザ・デ
ータまたはパリティ・データがディスク・ドライバ12
0上で更新される時、旧データが所定の位置から読出さ
れ、置換データが常にそこに書込まれる。例えばセクタ
146がどのようなタイプのデータを含んでいようと、
これは最初の回転において読出され、更新データが第2
のまたは以降の回転においてセクタに書込まれる。セク
タに対する読出しと書込みとの間に少なくとも1回転に
対応する遅延が生じる。従来技術では、この間にパリテ
ィ・データを記憶するディスクへのアクセスが許可され
ず、ドライブ性能に影響を与えた。
【0025】図3は4つのディスク・ドライブ間におけ
る、ユーザ・データ及びパリティ・データ・ブロックの
ストライピングを示す。RAIDレベル4及びRAID
レベル5(左対称)の両方が表される。RAIDレベル
4では、4つのストライプが示され、第1のストライプ
はドライブ0乃至3上にそれぞれデータ・ブロックD
0、D1、D2及びP0を含み、第2のストライプはド
ライブ0乃至3上にそれぞれデータ・ブロック3乃至5
及びパリティ・ブロック1を含み、第3のストライプは
ドライブ0乃至3上にそれぞれデータ・ブロック6乃至
8及びパリティ・ブロック2を含み、第4のストライプ
はドライブ0乃至3上にそれぞれデータ・ブロック9乃
至11及びパリティ・ブロック3を含む。RAIDレベ
ル4では、第3のドライブはチェック・ディスクとして
知られる。
【0026】RAIDレベル5では、任意のドライブが
パリティ・データを含むために、チェック・ディスクを
含まない。RAIDレベル5の一例では、RAIDレベ
ル4と全く同じメンバシップを有するストライプを有す
る。しかしながら、第1のストライプ以降ではデータ分
布は異なる。第2のストライプでは、パリティ・ブロッ
クがドライブ2に移行し、第3のストライプでは、パリ
ティ・ブロックがドライブ1に移行し、第4のストライ
プでは、パリティ・ブロックがドライブ0に移行する。
第2のストライプでは、データ・ブロックが左回転さ
れ、端のブロックがドライブ3に移動する。第3のスト
ライプでは、ブロックの平均変位は左方向に2ドライブ
となり、4番目のストライプでは左方向に3ドライブと
なる。RAIDレベル5は、チェック・ディスクへのア
クセスの競合を回避するように設計される。
【0027】図4は、ドライブ1、3及び4のコマンド
・キュー及びデバイス・ドライバ・キュー上でのコマン
ドのキューイングを表すタイミング図である。図4で考
慮される例は、RAIDレベル4またはRAIDレベル
5に適用され、ホストからの書込み更新コマンド、すな
わちドライブ0上のブロックD0を最初に更新し、次に
ドライブ2上のブロックD2を更新するように指示する
コマンドに関連する。これらの更新の各々は同一のスト
ライプに対応するパリティの更新を要求し、これはどち
らの場合にもパリティ・ブロックP0に相当する。従っ
て、P0へのアクセスの競合が発生する。更新のための
各ホスト要求は更新を構成する付加データを含むか、デ
ータを検索するためのシステム・メモリ15内の位置を
識別する。時刻T1において、データ・ブロック0にデ
ータを書込むためのコマンドがデバイス・ドライバ・キ
ュー47に存在する。時刻T2において、ブロック0内
のデータを読出し、付加データをブロック0に書込むた
めのリンク対コマンドがドライブ0のコマンド・キュー
に現れる。また時刻T2では、パリティ・ブロック0を
読出すための命令がドライブ3のキューに配置される。
これはパリティ・ブロック0のデータがメモリ・バッフ
ァ27に保持されていることを示すキャッシュ・ヒット
が発生しない場合に限り、発生する。
【0028】時刻T3において、データ・ブロックD2
のデータを読出すコマンドがデバイス・ドライバ・キュ
ー47に配置される。その後時刻T4において、データ
・ブロックD2を読出すコマンドから導出されるリンク
・コマンドが、ドライブ2のコマンド・キューに現れ
る。これにはデータ・ブロックD2の読出し及びデータ
・ブロックD2の書込みが含まれる。また時刻T4で
は、パリティ・ブロックP0を読出す命令がドライブ3
のコマンド・キューを通じて進行するように示される。
T4とT6との間のある時刻において、パリティ・ブロ
ックP0がメモリ・バッファ27に読出される。また時
刻T6より先にデータ・ブロックD0を読出す命令が実
行される。時刻T6において、更新データをデータ・ブ
ロックD0に書込むコマンドが、ドライブ0のコマンド
・キューの出力端に達するように示される。このコマン
ドは時刻T12より以前に実行される。時刻T7におい
て、パリティ・ブロックP0のデータを置換する書込み
命令が、ドライブ3のコマンド・キューに配置される。
このコマンドの進行は時間間隔T8を経過して継続され
る。時刻T9において、ユーザ・データ・ブロックD2
の読出し命令がドライブ2のコマンド・キューから実行
され、更新データをデータ・ブロックD2に書込む命令
がコマンド・キューの出力端に達する。実行はT9以降
に発生する。時刻T10において、パリティ・ブロック
P0への書込み命令がドライブ3のコマンド・キューの
入力端に配置される。時刻T10の時点で、パリティ・
ブロックP0に対する2つの書込み命令がドライブ3の
コマンド・キュー内に同時に存在する。時間間隔T11
及びT12では、パリティ・ブロックP0に対する2番
目の書込み命令がドライブ3のコマンド・キュー内にお
いて進行する。
【0029】図5はパリティ・キャッシュ・テーブル3
1の構造を表す。パリティ・キャッシュ・テーブルは、
メモリ・バッファ27に存在するパリティ・データ・ブ
ロックに関連する最大K個のエントリを含む。別の実施
例では、パリティ・キャッシュ・テーブル31及びパリ
ティ・データ・ブロック33が、システム・メモリ15
に記憶される。当業者には、メモリ・バッファ27内の
データへのアクセスが、システム・メモリ15へのアク
セスよりも高速であることが望ましいことが理解されよ
う。いずれにしても、これらのいずれのアクセスもディ
スク・ドライブからの回復よりは高速である。データ構
造を記憶するためのシステム・メモリ15の使用によ
り、通信リンク19上のトラフィックは増加する。
【0030】パリティ・キャッシュ・テーブル31内の
各エントリは、RAIDレベル4システムのドライブ・
ユニット41D、またはRAIDレベル5システムのド
ライブ41A乃至41Dの1つにおける論理ブロック・
アドレス範囲に対応する論理ブロック・アドレス範囲を
含む。アドレス範囲フィールド70は、ドライブ・ユニ
ット上の開始論理ブロック・アドレス及びパリティ・ブ
ロックの終りを含む。エントリには更に、エントリに関
連するパリティ・データへの最も最近の使用またはアク
セスのタイム・スタンプ71が含まれる。NWW(numb
er of writeswaiting )フィールド73は、実行を待機
中の書込みの数を示すカウンタである。フィールド75
(L/F)はデータへのアクセスをロックするためのフ
ラグであり、メモリ・バッファ27内のパリティ・デー
タの直列化の変更を提供する。最後に、データ・キャッ
シュ・テーブル31内のエントリは、パリティ・データ
・ブロックを見い出すためのバッファ内における位置を
示す。データ・キャッシュ・テーブル31及びパリティ
・データ・ブロック33は、電力損失を防ぐために、不
揮発メモリ内に保持されてもよい。
【0031】図6は、ホスト処理ユニットからの更新コ
マンド、すなわちRAID21へのデータの読出し−変
更−書込みを要求するコマンドの受信において入力され
る処理の論理流れ図である。付加データの識別を含む更
新コマンドの受信に際し、適切なストライプのデータ及
びパリティ・データに対応する論理ブロック・アドレス
範囲がステップ201で計算される。プログラムはユー
ザ・データの更新及びパリティ・データの更新のための
処理を両立するが、これは実質的には非同期処理であ
り、ドライブが非同期に動作する。ユーザ・データ処理
ではステップ203へ移行し、適切なデータ・ドライブ
・コマンド・キューがフルかどうかを判断する。フルの
場合、処理はエントリがキュー内で開くまで待機する。
ユーザ・データ・ドライブのコマンド・キューの空間が
使用可能になると、分岐せずにステップ203からステ
ップ205に移行する。ステップ205で、1)ステッ
プ201で決定された論理ブロック・アドレスから旧デ
ータを読出し、2)付加データを同一位置に書込むため
に、リンク・コマンドがデータ・ドライブ・コマンド・
キューに送信される。処理は次にステップ207に移行
し、付加データと置換パリティ・データの両方が書込ま
れたことが示されるまで、待機オペレーションを実行す
る。ステップ207は実質的に2つの処理の再同期化を
提供する。ステップ207の後、ステップ209が実行
され、完全なステータスをホストに送信する。処理はこ
の時点で終了する。
【0032】パリティ・データ処理ではステップ211
が実行され、パリティ・ドライブ・キューがフルかどう
かが判断される。フルの場合、パリティ・データを保持
するドライブのコマンド・キューに、コマンドのための
空間が使用可能になるまで、待機が実行される。空間が
使用可能となると分岐せずにステップ213に移行す
る。ステップ213では、ステップ201でパリティ・
データに対して計算されたパリティ・キャッシュ・テー
ブルの論理ブロック・アドレス範囲に、エントリが存在
するかどうかが判断される。パリティ・キャッシュ・ヒ
ットが発生すると、ステップ213からステップ215
へ分岐する。ステップ215では、パリティ・データ・
ブロックのステータスがフリーかどうかが判断される。
フリーでない場合、ステータス・フラグがフリーになる
まで待機が実行される。次にステップ215からステッ
プ217に分岐し、ステータス・フラグをロックにセッ
トし、待機中の書込み数を増分し、パリティ・キャッシ
ュ・エントリ内のタイム・スタンプを置換する。ステッ
プ217に続きステップ219が実行され、新たなまた
は置換パリティを計算するために要求される旧データ
が、ステップ205から使用可能かどうかを判断する。
処理はステップ219で旧ユーザ・データが使用可能と
なるまで待機する。データが使用可能になると、ステッ
プ221に分岐し、新たなパリティ・データを計算し、
キャッシュ内のパリティ・ブロックを更新する。ステッ
プ223でステータス・フラグがフリーにセットされ、
ステップ225で新たなパリティ・データの書込みコマ
ンドが適切なディスク・ドライブに送信され、その入出
力制御装置に対応するコマンド・キューに待機される。
ステップ227は、入出力制御装置がパリティ書込みオ
ペレーションの完了を示すまで待機サイクルを提供す
る。書込みが完了するとステップ229が実行され、待
機中の書込み数が1減分される。処理は次にステップ2
07に移行する。
【0033】ステップ213でパリティ・キャッシュ・
ヒットが発生しなかったと判断されると、分岐せずにス
テップ231に移行する。ステップ231では、フリー
・パリティ・キャッシュ・エントリが使用可能かどうか
が判断される。使用可能な場合、ステップ233で、フ
リー・パリティ・キャッシュ・エントリを使用し、新た
なパリティ・キャッシュ・エントリが作成される。使用
可能でない場合には、ステップ235でパリティ・キャ
ッシュ・エントリがテーブルから解放される。これは待
機中の書込み数が0である最低使用頻度(LRU)パリ
ティ・キャッシュ・エントリを見い出すことにより実行
される。エントリが探し出されると、ステップ233で
新たなパリティ・エントリが、解放されたエントリから
作成される。次にステップ237でステータス・フラグ
がロックにセットされ、待機中の書込み数が1にセット
される。次にステップ239で旧パリティがパリティ・
ドライブから読出される。これはステップ241で読出
しオペレーションの完了として示されるように、コマン
ドの通常のキューイング及び待機を含むものと理解され
る。パリティの読出しが完了し、その読出されたばかり
のパリティのバッファ27における記憶位置がキャッシ
ュ・エントリに含まれると、ステップ241からステッ
プ219に分岐し、処理が上述のように継続される。
【0034】入出力制御装置レベルにおけるタグ・コマ
ンド・キューイングによる性能の改良は、こうしたシス
テムが本発明を使用するRAIDレベル4またはレベル
5大容量記憶システムに適用されると失われることはな
い。キャッシュ・エントリ・テーブルのデータ構造が、
電源障害による損失から保護するために不揮発RAMに
より実現されてもよい。
【0035】本発明は特定の実施例に関連して述べられ
てきたが、当業者には本発明の精神及び範囲から逸脱す
ることなく、形態及び詳細に関する様々な変更が可能で
あることが理解されよう。
【0036】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0037】(1)耐障害論理大容量記憶装置内の物理
記憶装置にユーザ・データ及び冗長データを記憶する方
法であって、ホストからの付加データを伴う書込みコマ
ンドの受信に応答して、第1の物理記憶装置上における
付加データの論理ブロック・アドレスと、第2の物理記
憶装置上における冗長データのパリティ・アドレスとを
決定するステップと、前記第1の記憶装置に対して、論
理ブロック・アドレスの旧データを読出し、論理ブロッ
ク・アドレスに付加データを書込むように指令するステ
ップと、前記第2の記憶装置上の冗長データがメモリ・
バッファ内に存在するかどうかを判断するステップと、
冗長データが前記メモリ・バッファ内に存在しない場
合、前記第2の記憶装置から前記メモリ・バッファに冗
長データを読出すステップと、冗長データ、付加データ
及び旧データから新たな冗長データを計算するステップ
と、前記第2の物理記憶装置に新たな冗長データを論理
ブロック・アドレスに記憶するように指令するステップ
と、を含む記憶方法。 (2)新たな冗長データを計算するステップが、前記メ
モリ・バッファ内の冗長データを新たな冗長データによ
り置換するステップを含む、前記(1)記載の記憶方
法。 (3)ディスク・ドライブの冗長アレイ内のパリティ・
ドライブ上にコマンドをキューイングする方法であっ
て、ホストからの付加データを伴う書込みコマンドの受
信に応答して、データ・ドライブ上における付加データ
の論理ブロック・アドレスと、前記パリティ・ドライブ
上におけるパリティ・データの論理ブロック・アドレス
とを決定するステップと、パリティ・キャッシュ・エン
トリがパリティ・データの論理ブロック・アドレスに一
致するかどうかを判断するステップと、前記一致の肯定
判定に応答して、パリティ・キャッシュ・エントリによ
り提供されるバッファ・ロケーションのパリティ・デー
タと、前記データ・ドライブから読出されるデータと付
加データとから、置換パリティ・データを計算するステ
ップと、置換パリティ・データを前記バッファ・ロケー
ションに配置するステップと、置換パリティ・データを
書込むためのコマンドを、パリティ・データの論理ブロ
ック・アドレスに対応する入出力制御装置に送信するス
テップと、を含むキューイング方法。 (4)前記一致の否定判定に応答して、パリティ・デー
タを前記バッファ・ロケーションに読出すためのコマン
ドを、前記パリティ・ドライブの論理ブロック・アドレ
スに対応する入出力制御装置に送信するステップと、前
記パリティ・ドライブの論理ブロック・アドレスのパリ
ティ・キャッシュ・エントリを生成するステップと、を
含む、前記(3)記載のキューイング方法。 (5)パリティ・キャッシュ・エントリが前記パリティ
・ドライブの論理ブロック・アドレスと、ドライブ識別
と、タイム・スタンプと、ロック/非ロック・フラグ
と、待機中の書込みの数を示す書込み待機カウンタと、
メモリ・バッファ内のパリティ・データの位置を示す位
置フィールドとを含む、前記(4)記載のキューイング
方法。 (6)前記データ・ドライブの論理ブロック・アドレス
の決定に応答して、データを読出し次に付加データを書
込むためのリンク・コマンドを、論理ブロック・アドレ
スをカバーする入出力制御装置に送信するステップ、を
含む、前記(5)記載のキューイング方法。 (7)計算ステップがリンク・コマンドの送信ステップ
の読出しオペレーションの後に発生する、前記(6)記
載のキューイング方法。 (8)前記パリティ・キャッシュ・エントリの生成ステ
ップが、パリティ・キャッシュ・テーブルが未使用のパ
リティ・キャッシュ・エントリを有するかどうかを判断
するステップと、肯定判定に応答して、未使用のパリテ
ィ・キャッシュ・エントリを使用するステップと、否定
判定に応答して、待機中の書込みを有さないパリティ・
キャッシュ・エントリの中から、最低使用頻度のパリテ
ィ・キャッシュ・エントリを探し出し、探し出されたパ
リティ・キャッシュ・エントリを使用するステップと、
を含む、前記(5)記載のキューイング方法。 (9)置換パリティ・データ書込みのためのコマンドの
送信ステップが、書込み待機カウンタを増分するステッ
プを含む、前記(5)記載のキューイング方法。 (10)置換パリティ・データの生成のために、前記バ
ッファ・ロケーション内のパリティ・データへのアクセ
スを直列化するステップ、を含む、前記(9)記載のキ
ューイング方法。 (11)置換パリティ・データが前記パリティ・ドライ
ブの論理ブロック・アドレスに書込まれた後、パリティ
・キャッシュ内の書込み待機カウンタを減分するステッ
プ、を含む、前記(10)記載のキューイング方法。 (12)前記パリティ・ドライブがチェック・ディスク
である、前記(11)記載のキューイング方法。 (13)前記パリティ・ドライブがディスク・ドライブ
の冗長アレイの任意の1つに相当する、前記(11)記
載のキューイング方法。 (14)ホスト・データ処理システムからの付加データ
を伴う書込み命令の受信に応答して、データ・ドライブ
上における付加データの論理ブロック・アドレスと、パ
リティ・ドライブ上における冗長データの論理ブロック
・アドレスとを決定する手段と、複数のパリティ・キャ
ッシュ・エントリを有するパリティ・キャッシュ・テー
ブルと、パリティ・キャッシュ・エントリ及び前記パリ
ティ・ドライブ上の論理ブロック・アドレスに対応する
パリティ・データを記憶するバッファと、パリティ・キ
ャッシュ・エントリが発見手段により見い出される前記
パリティ・ドライブの論理ブロック・アドレスに一致す
るかどうかを判断する手段と、前記一致の肯定判定に応
答して、パリティ・キャッシュ・エントリにより提供さ
れるバッファ・ロケーションのパリティ・データと、前
記データ・ドライブの論理ブロック・アドレスから読出
されるデータと、付加データとから、置換パリティ・デ
ータを計算する手段と、置換パリティ・データを前記バ
ッファ・ロケーションに配置する手段と、置換パリティ
・データを書込むためのコマンドを、パリティ・ドライ
ブの論理ブロック・アドレスに対応する入出力制御装置
に送信する手段と、を含む、ディスク・ドライブの冗長
アレイ。 (15)前記一致の否定判定に応答して、パリティ・デ
ータを前記バッファ・ロケーションに読出すためのコマ
ンドを前記パリティ・ドライブの論理ブロック・アドレ
スに対応する入出力制御装置に送信する手段と、前記パ
リティ・ドライブの論理ブロック・アドレスから読出さ
れるパリティ・データに対応するパリティ・キャッシュ
・エントリを生成する手段と、を含む、前記(14)記
載のディスク・ドライブの冗長アレイ。 (16)パリティ・キャッシュ・エントリが前記パリテ
ィ・データの論理ブロック・アドレスと、タイム・スタ
ンプと、ロック/非ロック・フラグと、待機中の書込み
の数を示す書込み待機カウンタと、ドライブ識別と、メ
モリ・バッファ内のパリティ・データの位置フィールド
とを含む、前記(15)記載のディスク・ドライブの冗
長アレイ。 (17)前記データ・ドライブの論理ブロック・アドレ
スの決定に応答して、データを読出し次に付加データを
書込むためのリンク・コマンドを、前記データ・ドライ
ブの論理ブロック・アドレスに対応する入出力制御装置
に送信する手段、を含む、前記(16)記載のディスク
・ドライブの冗長アレイ。 (18)パリティ・キャッシュ・エントリの生成手段
が、パリティ・キャッシュ・テーブルが未使用のパリテ
ィ・キャッシュ・エントリを有するかどうかを判断する
手段と、肯定判定に応答して、未使用のパリティ・キャ
ッシュ・エントリを使用する手段と、否定判定に応答し
て、待機中の書込みを有さない最低使用頻度のパリティ
・キャッシュ・エントリを探し出し、探し出されたパリ
ティ・キャッシュ・エントリを使用する手段と、を含
む、前記(16)記載のディスク・ドライブの冗長アレ
イ。 (19)置換パリティ・データ書込みのためのコマンド
の送信手段が、書込み待機カウンタを増分する手段を含
む、前記(16)記載のディスク・ドライブの冗長アレ
イ。 (20)置換パリティ・データの生成のために、前記バ
ッファ・ロケーション内のパリティ・データへのアクセ
スを直列化する手段、を含む、前記(19)記載のディ
スク・ドライブの冗長アレイ。 (21)置換パリティ・データが前記パリティ・ドライ
ブの論理ブロック・アドレスに書込まれた後、前記パリ
ティ・ドライブの論理ブロック・アドレスに対応するパ
リティ・キャッシュ内の書込み待機カウンタを減分する
手段、を含む、前記(20)記載のディスク・ドライブ
の冗長アレイ。 (22)前記パリティ・ドライブがチェック・ディスク
である、前記(21)記載のディスク・ドライブの冗長
アレイ。 (23)前記パリティ・ドライブがディスク・ドライブ
の冗長アレイの任意の1つに相当する、前記(21)記
載のディスク・ドライブの冗長アレイ。 (24)論理装置として動作する物理記憶装置のアレイ
と、物理記憶装置のアレイ上の所定の位置に記憶される
付加データを伴う更新コマンドを提供するコマンド発生
器と、ユーザ・データのストライプに対応する選択パリ
ティ・データ・ブロックのコピーを記憶するキャッシュ
と、ユーザ・データ・ブロック及びユーザ・データ・ブ
ロックのストライプに渡って生成されるパリティ・デー
タ・ブロックを物理記憶装置のアレイ間でストライプ
し、物理記憶装置位置によりキャッシュ内に記憶される
選択パリティ・データ・ブロックの1個以上のコピーを
識別するパリティ・キャッシュ・テーブルを保守するロ
ーカル・プロセッサと、ローカル・プロセッサによりそ
れぞれの入出力制御装置に送信されるコマンドをキュー
イングする、物理記憶装置の物理アレイの各々に関連す
る入出力制御装置と、を含むデータ処理システム。 (25)パリティ・キャッシュ・エントリが物理記憶装
置の論理ブロック・アドレスと、物理記憶装置の識別
と、タイム・スタンプと、ロック/非ロック・フラグ
と、待機中の書込みの数を示す書込み待機カウンタと、
キャッシュ内のパリティ・データ・ブロックの位置・フ
ィールドとを含む、前記(24)記載のデータ処理シス
テム。 (26)ローカル・プロセッサが、キャッシュ内の選択
パリティ・データ・ブロックの各コピーへのアクセスを
制御するシリアライザ、を含む、前記(25)記載のデ
ータ処理システム。 (27)キャッシュ内にパリティ・データ・ブロックが
存在しないストライプ内の物理アドレスを更新するコマ
ンドに応答して、前記ストライプに対応するパリティ・
データ・ブロックをキャッシュに読出し、パリティ・キ
ャッシュ・テーブルに前記パリティ・データ・ブロック
のエントリを生成するパリティ・キャッシュ・テーブル
・エントリ発生器、を含む、前記(26)記載のデータ
処理システム。 (28)パリティ・データが単一の物理記憶装置上に配
置される、前記(27)記載のデータ処理システム。 (29)パリティ・データが全ての物理記憶装置上に配
置される、前記(27)記載のデータ処理システム。
【0038】
【発明の効果】以上説明したように、本発明によれば、
集合的に1個以上の論理大容量記憶装置として機能する
大容量記憶装置のセットが提供され、RAIDレベル4
及び5システムにおけるパリティ・ドライブ上で、コマ
ンドをキューイングするシステム及び方法が提供され
る。
【図面の簡単な説明】
【図1】RAIDを含むデータ処理システムのハイレベ
ル・ブロック図である。
【図2】ディスク・ドライブの上面図である。
【図3】RAIDレベル4及び5システムにおけるデー
タ・ストライピングを表す図である。
【図4】RAID4または5システムにおいてストライ
プされるデータを変更するコマンド・シーケンスのタイ
ミング図である。
【図5】本発明をサポートするために使用されるパリテ
ィ・キャッシュ・テーブルのデータ構造を表す図であ
る。
【図6】本発明を実施するために、RAIDシステムの
記憶制御装置上で実行される処理のハイレベル論理流れ
図である。
【符号の説明】
11 データ処理システム 13 中央処理ユニット(CPU) 15 システム・メモリ 17 大容量記憶制御装置 19 通信リンク 21 RAID 23 インタフェース 25 ローカル・プロセッサ 27 メモリ・バッファ 29 排他的論理和プロセッサ 31 パリティ・キャッシュ・テーブル 33 パリティ・データ・ブロック 35 ユーザ・データ・ブロック 45 オペレーティング・システム 47 デバイス・ドライバ・キュー 70 アドレス範囲フィールド 71 タイム・スタンプ 73 NWWフィールド 75 フィールド 120 ディスク・ドライバ 123 アーム 126 スライダ 140 磁気表面 142 ディスク 144 トラック・サーボ・フィールド 146、148 セクタ

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】耐障害論理大容量記憶装置内の物理記憶装
    置にユーザ・データ及び冗長データを記憶する方法であ
    って、 ホストからの付加データを伴う書込みコマンドの受信に
    応答して、第1の物理記憶装置上における付加データの
    論理ブロック・アドレスと、第2の物理記憶装置上にお
    ける冗長データのパリティ・アドレスとを決定するステ
    ップと、 前記第1の記憶装置に対して、論理ブロック・アドレス
    の旧データを読出し、論理ブロック・アドレスに付加デ
    ータを書込むように指令するステップと、 前記第2の記憶装置上の冗長データがメモリ・バッファ
    内に存在するかどうかを判断するステップと、 冗長データが前記メモリ・バッファ内に存在しない場
    合、前記第2の記憶装置から前記メモリ・バッファに冗
    長データを読出すステップと、 冗長データ、付加データ及び旧データから新たな冗長デ
    ータを計算するステップと、 前記第2の物理記憶装置に新たな冗長データを論理ブロ
    ック・アドレスに記憶するように指令するステップと、 を含む記憶方法。
  2. 【請求項2】新たな冗長データを計算するステップが、
    前記メモリ・バッファ内の冗長データを新たな冗長デー
    タにより置換するステップを含む、請求項1記載の記憶
    方法。
  3. 【請求項3】ディスク・ドライブの冗長アレイ内のパリ
    ティ・ドライブ上にコマンドをキューイングする方法で
    あって、 ホストからの付加データを伴う書込みコマンドの受信に
    応答して、データ・ドライブ上における付加データの論
    理ブロック・アドレスと、前記パリティ・ドライブ上に
    おけるパリティ・データの論理ブロック・アドレスとを
    決定するステップと、 パリティ・キャッシュ・エントリがパリティ・データの
    論理ブロック・アドレスに一致するかどうかを判断する
    ステップと、 前記一致の肯定判定に応答して、パリティ・キャッシュ
    ・エントリにより提供されるバッファ・ロケーションの
    パリティ・データと、前記データ・ドライブから読出さ
    れるデータと付加データとから、置換パリティ・データ
    を計算するステップと、 置換パリティ・データを前記バッファ・ロケーションに
    配置するステップと、 置換パリティ・データを書込むためのコマンドを、パリ
    ティ・データの論理ブロック・アドレスに対応する入出
    力制御装置に送信するステップと、 を含むキューイング方法。
  4. 【請求項4】前記一致の否定判定に応答して、パリティ
    ・データを前記バッファ・ロケーションに読出すための
    コマンドを、前記パリティ・ドライブの論理ブロック・
    アドレスに対応する入出力制御装置に送信するステップ
    と、 前記パリティ・ドライブの論理ブロック・アドレスのパ
    リティ・キャッシュ・エントリを生成するステップと、 を含む、請求項3記載のキューイング方法。
  5. 【請求項5】パリティ・キャッシュ・エントリが前記パ
    リティ・ドライブの論理ブロック・アドレスと、ドライ
    ブ識別と、タイム・スタンプと、ロック/非ロック・フ
    ラグと、待機中の書込みの数を示す書込み待機カウンタ
    と、メモリ・バッファ内のパリティ・データの位置を示
    す位置フィールドとを含む、請求項4記載のキューイン
    グ方法。
  6. 【請求項6】前記データ・ドライブの論理ブロック・ア
    ドレスの決定に応答して、データを読出し次に付加デー
    タを書込むためのリンク・コマンドを、論理ブロック・
    アドレスをカバーする入出力制御装置に送信するステッ
    プ、 を含む、請求項5記載のキューイング方法。
  7. 【請求項7】計算ステップがリンク・コマンドの送信ス
    テップの読出しオペレーションの後に発生する、請求項
    6記載のキューイング方法。
  8. 【請求項8】前記パリティ・キャッシュ・エントリの生
    成ステップが、 パリティ・キャッシュ・テーブルが未使用のパリティ・
    キャッシュ・エントリを有するかどうかを判断するステ
    ップと、 肯定判定に応答して、未使用のパリティ・キャッシュ・
    エントリを使用するステップと、 否定判定に応答して、待機中の書込みを有さないパリテ
    ィ・キャッシュ・エントリの中から、最低使用頻度のパ
    リティ・キャッシュ・エントリを探し出し、探し出され
    たパリティ・キャッシュ・エントリを使用するステップ
    と、 を含む、請求項5記載のキューイング方法。
  9. 【請求項9】置換パリティ・データ書込みのためのコマ
    ンドの送信ステップが、書込み待機カウンタを増分する
    ステップを含む、請求項5記載のキューイング方法。
  10. 【請求項10】置換パリティ・データの生成のために、
    前記バッファ・ロケーション内のパリティ・データへの
    アクセスを直列化するステップ、 を含む、請求項9記載のキューイング方法。
  11. 【請求項11】置換パリティ・データが前記パリティ・
    ドライブの論理ブロック・アドレスに書込まれた後、パ
    リティ・キャッシュ内の書込み待機カウンタを減分する
    ステップ、 を含む、請求項10記載のキューイング方法。
  12. 【請求項12】前記パリティ・ドライブがチェック・デ
    ィスクである、請求項11記載のキューイング方法。
  13. 【請求項13】前記パリティ・ドライブがディスク・ド
    ライブの冗長アレイの任意の1つに相当する、請求項1
    1記載のキューイング方法。
  14. 【請求項14】ホスト・データ処理システムからの付加
    データを伴う書込み命令の受信に応答して、データ・ド
    ライブ上における付加データの論理ブロック・アドレス
    と、パリティ・ドライブ上における冗長データの論理ブ
    ロック・アドレスとを決定する手段と、 複数のパリティ・キャッシュ・エントリを有するパリテ
    ィ・キャッシュ・テーブルと、パリティ・キャッシュ・
    エントリ及び前記パリティ・ドライブ上の論理ブロック
    ・アドレスに対応するパリティ・データを記憶するバッ
    ファと、 パリティ・キャッシュ・エントリが発見手段により見い
    出される前記パリティ・ドライブの論理ブロック・アド
    レスに一致するかどうかを判断する手段と、 前記一致の肯定判定に応答して、パリティ・キャッシュ
    ・エントリにより提供されるバッファ・ロケーションの
    パリティ・データと、前記データ・ドライブの論理ブロ
    ック・アドレスから読出されるデータと、付加データと
    から、置換パリティ・データを計算する手段と、 置換パリティ・データを前記バッファ・ロケーションに
    配置する手段と、 置換パリティ・データを書込むためのコマンドを、パリ
    ティ・ドライブの論理ブロック・アドレスに対応する入
    出力制御装置に送信する手段と、 を含む、ディスク・ドライブの冗長アレイ。
  15. 【請求項15】前記一致の否定判定に応答して、パリテ
    ィ・データを前記バッファ・ロケーションに読出すため
    のコマンドを前記パリティ・ドライブの論理ブロック・
    アドレスに対応する入出力制御装置に送信する手段と、 前記パリティ・ドライブの論理ブロック・アドレスから
    読出されるパリティ・データに対応するパリティ・キャ
    ッシュ・エントリを生成する手段と、 を含む、請求項14記載のディスク・ドライブの冗長ア
    レイ。
  16. 【請求項16】パリティ・キャッシュ・エントリが前記
    パリティ・データの論理ブロック・アドレスと、タイム
    ・スタンプと、ロック/非ロック・フラグと、待機中の
    書込みの数を示す書込み待機カウンタと、ドライブ識別
    と、メモリ・バッファ内のパリティ・データの位置フィ
    ールドとを含む、請求項15記載のディスク・ドライブ
    の冗長アレイ。
  17. 【請求項17】前記データ・ドライブの論理ブロック・
    アドレスの決定に応答して、データを読出し次に付加デ
    ータを書込むためのリンク・コマンドを、前記データ・
    ドライブの論理ブロック・アドレスに対応する入出力制
    御装置に送信する手段、 を含む、請求項16記載のディスク・ドライブの冗長ア
    レイ。
  18. 【請求項18】パリティ・キャッシュ・エントリの生成
    手段が、 パリティ・キャッシュ・テーブルが未使用のパリティ・
    キャッシュ・エントリを有するかどうかを判断する手段
    と、 肯定判定に応答して、未使用のパリティ・キャッシュ・
    エントリを使用する手段と、 否定判定に応答して、待機中の書込みを有さない最低使
    用頻度のパリティ・キャッシュ・エントリを探し出し、
    探し出されたパリティ・キャッシュ・エントリを使用す
    る手段と、 を含む、請求項16記載のディスク・ドライブの冗長ア
    レイ。
  19. 【請求項19】置換パリティ・データ書込みのためのコ
    マンドの送信手段が、書込み待機カウンタを増分する手
    段を含む、請求項16記載のディスク・ドライブの冗長
    アレイ。
  20. 【請求項20】置換パリティ・データの生成のために、
    前記バッファ・ロケーション内のパリティ・データへの
    アクセスを直列化する手段、 を含む、請求項19記載のディスク・ドライブの冗長ア
    レイ。
  21. 【請求項21】置換パリティ・データが前記パリティ・
    ドライブの論理ブロック・アドレスに書込まれた後、前
    記パリティ・ドライブの論理ブロック・アドレスに対応
    するパリティ・キャッシュ内の書込み待機カウンタを減
    分する手段、 を含む、請求項20記載のディスク・ドライブの冗長ア
    レイ。
  22. 【請求項22】前記パリティ・ドライブがチェック・デ
    ィスクである、請求項21記載のディスク・ドライブの
    冗長アレイ。
  23. 【請求項23】前記パリティ・ドライブがディスク・ド
    ライブの冗長アレイの任意の1つに相当する、請求項2
    1記載のディスク・ドライブの冗長アレイ。
  24. 【請求項24】論理装置として動作する物理記憶装置の
    アレイと、 物理記憶装置のアレイ上の所定のロケーションに記憶さ
    れる付加データを伴う更新コマンドを提供するコマンド
    発生器と、 ユーザ・データのストライプに対応する選択パリティ・
    データ・ブロックのコピーを記憶するキャッシュと、 ユーザ・データ・ブロック及びユーザ・データ・ブロッ
    クのストライプに渡って生成されるパリティ・データ・
    ブロックを物理記憶装置のアレイ間でストライプし、物
    理記憶装置ロケーションによりキャッシュ内に記憶され
    る選択パリティ・データ・ブロックの1個以上のコピー
    を識別するパリティ・キャッシュ・テーブルを保守する
    ローカル・プロセッサと、 ローカル・プロセッサによりそれぞれの入出力制御装置
    に送信されるコマンドをキューイングする、物理記憶装
    置の物理アレイの各々に関連する入出力制御装置と、 を含むデータ処理システム。
  25. 【請求項25】パリティ・キャッシュ・エントリが物理
    記憶装置の論理ブロック・アドレスと、物理記憶装置の
    識別と、タイム・スタンプと、ロック/非ロック・フラ
    グと、待機中の書込みの数を示す書込み待機カウンタ
    と、キャッシュ内のパリティ・データ・ブロックの位置
    フィールドとを含む、請求項24記載のデータ処理シス
    テム。
  26. 【請求項26】ローカル・プロセッサが、キャッシュ内
    の選択パリティ・データ・ブロックの各コピーへのアク
    セスを制御するシリアライザ、 を含む、請求項25記載のデータ処理システム。
  27. 【請求項27】キャッシュ内にパリティ・データ・ブロ
    ックが存在しないストライプ内の物理アドレスを更新す
    るコマンドに応答して、前記ストライプに対応するパリ
    ティ・データ・ブロックをキャッシュに読出し、パリテ
    ィ・キャッシュ・テーブルに前記パリティ・データ・ブ
    ロックのエントリを生成するパリティ・キャッシュ・テ
    ーブル・エントリ発生器、 を含む、請求項26記載のデータ処理システム。
  28. 【請求項28】パリティ・データが単一の物理記憶装置
    上に配置される、請求項27記載のデータ処理システ
    ム。
  29. 【請求項29】パリティ・データが全ての物理記憶装置
    上に配置される、請求項27記載のデータ処理システ
    ム。
JP23630194A 1993-12-30 1994-09-30 データ記憶方法及びキューイング方法 Expired - Fee Related JP3235815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US175710 1993-12-30
US08/175,710 US5530948A (en) 1993-12-30 1993-12-30 System and method for command queuing on raid levels 4 and 5 parity drives

Publications (2)

Publication Number Publication Date
JPH07210334A true JPH07210334A (ja) 1995-08-11
JP3235815B2 JP3235815B2 (ja) 2001-12-04

Family

ID=22641331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23630194A Expired - Fee Related JP3235815B2 (ja) 1993-12-30 1994-09-30 データ記憶方法及びキューイング方法

Country Status (5)

Country Link
US (1) US5530948A (ja)
EP (1) EP0661635B1 (ja)
JP (1) JP3235815B2 (ja)
KR (1) KR0162124B1 (ja)
DE (1) DE69412775T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832291B2 (en) 1996-09-16 2004-12-14 Samsung Electronics Co., Ltd. Memory system for improving data input/output performance and method of caching data recovery information

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
US5666557A (en) * 1994-06-16 1997-09-09 Cassidy; Bruce Michael Method and apparatus for automatically assigning device identifiers on a parallel data bus
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US5748900A (en) * 1996-03-13 1998-05-05 Cray Research, Inc. Adaptive congestion control mechanism for modular computer networks
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US6233704B1 (en) 1996-03-13 2001-05-15 Silicon Graphics, Inc. System and method for fault-tolerant transmission of data within a dual ring network
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
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
US5701304A (en) * 1996-09-16 1997-12-23 Cirrus Logic, Inc. Method for correcting unrecoverable sectors using track level redundancy in a disc drive storage system
US5751733A (en) * 1996-09-16 1998-05-12 Cirrus Logic, Inc. Interleaved redundancy sector for correcting an unrecoverable sector in a disc storage device
US5872800A (en) * 1996-09-16 1999-02-16 Cirrus Logic, Inc. Write verify method for correcting unrecoverable sectors in a disc storage system using track level redundancy
US5844919A (en) * 1996-09-16 1998-12-01 Cirrus Logic, Inc. Sector and track level error correction system for disc storage systems
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
EP0845738A3 (en) * 1996-11-28 2006-09-20 Hitachi, Ltd. Storage system which transfers a command and data corresponding to said command subsequent to said command
US5835694A (en) * 1996-12-06 1998-11-10 International Business Machines Corporation Raid-configured disk drive array wherein array control occurs at the disk drive level
US5889933A (en) * 1997-01-30 1999-03-30 Aiwa Co., Ltd. Adaptive power failure recovery
US6182166B1 (en) * 1997-08-25 2001-01-30 Emc Corporation Method/apparatus for interfacing two remotely disposed devices coupled via transmission medium with first and second commands transmitted without first checking receiving device for readiness
US5913073A (en) * 1997-10-10 1999-06-15 Emc Corporation Input/output driver for benchmark testing
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
JPH11194899A (ja) * 1997-12-26 1999-07-21 Toshiba Corp ディスク記憶システム及び同システムに適用するデータ更新方法
US6195761B1 (en) 1997-12-31 2001-02-27 Emc Corporation Method and apparatus for identifying and repairing mismatched data
US6167485A (en) 1997-12-31 2000-12-26 Emc Corporation On-line data verification and repair in redundant storage systems
US6233696B1 (en) * 1997-12-31 2001-05-15 Emc Corporation Data verification and repair in redundant storage systems
US6219751B1 (en) * 1998-04-28 2001-04-17 International Business Machines Corporation Device level coordination of access operations among multiple raid control units
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6128762A (en) * 1998-08-04 2000-10-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system with request forwarding
US6272662B1 (en) 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6446237B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
US6351838B1 (en) * 1999-03-12 2002-02-26 Aurora Communications, Inc Multidimensional parity protection system
US6629199B1 (en) * 1999-08-20 2003-09-30 Emc Corporation Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6542960B1 (en) * 1999-12-16 2003-04-01 Adaptec, Inc. System and method for parity caching based on stripe locking in raid data storage
US6529997B1 (en) * 2000-08-11 2003-03-04 Storage Technology Corporation Apparatus and method for writing and reading data to and from a virtual volume of redundant storage devices
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US7200716B1 (en) * 2004-04-30 2007-04-03 Network Appliance, Inc. Method and apparatus to offload operations in a networked storage system
US7370163B2 (en) * 2004-05-03 2008-05-06 Gemini Storage Adaptive cache engine for storage area network including systems and methods related thereto
US20060036904A1 (en) * 2004-08-13 2006-02-16 Gemini Storage Data replication method over a limited bandwidth network by mirroring parities
US7457980B2 (en) * 2004-08-13 2008-11-25 Ken Qing Yang Data replication method over a limited bandwidth network by mirroring parities
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7290199B2 (en) * 2004-11-19 2007-10-30 International Business Machines Corporation Method and system for improved buffer utilization for disk array parity updates
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
US20060123312A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US7418543B2 (en) * 2004-12-21 2008-08-26 Intel Corporation Processor having content addressable memory with command ordering
US7406476B1 (en) * 2005-04-04 2008-07-29 Apple Inc. Updating a data structure
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
US8825949B2 (en) * 2009-01-15 2014-09-02 Lsi Corporation Locking in raid storage systems
US9335939B2 (en) 2011-07-12 2016-05-10 Violin Memory Inc. RAIDed memory system
US9417823B2 (en) 2011-07-12 2016-08-16 Violin Memory Inc. Memory system management
CN104679442A (zh) * 2013-12-02 2015-06-03 中兴通讯股份有限公司 一种提高磁盘阵列性能的方法及装置
US9891993B2 (en) 2014-05-23 2018-02-13 International Business Machines Corporation Managing raid parity stripe contention
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
JP2016167210A (ja) * 2015-03-10 2016-09-15 株式会社東芝 メモリコントローラ、データストレージデバイス、及び、データ書き込み方法
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection
US10474528B2 (en) 2017-10-02 2019-11-12 Western Digital Technologies, Inc. Redundancy coding stripe based on coordinated internal address scheme across multiple devices
US10379948B2 (en) 2017-10-02 2019-08-13 Western Digital Technologies, Inc. Redundancy coding stripe based on internal addresses of storage devices
US10409511B1 (en) 2018-06-30 2019-09-10 Western Digital Technologies, Inc. Multi-device storage system with distributed read/write processing
US10725941B2 (en) 2018-06-30 2020-07-28 Western Digital Technologies, Inc. Multi-device storage system with hosted services on peer storage devices
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US10592144B2 (en) 2018-08-03 2020-03-17 Western Digital Technologies, Inc. Storage system fabric with multichannel compute complex
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10877810B2 (en) 2018-09-29 2020-12-29 Western Digital Technologies, Inc. Object storage system with metadata operation priority processing
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
KR102226184B1 (ko) * 2020-02-25 2021-03-10 한국과학기술원 디스크 배열을 위한 캐시베리어 명령 처리 방법 및 이를 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289818A (ja) * 1992-04-08 1993-11-05 Hitachi Ltd ディスクアレイ制御方式
JPH05313833A (ja) * 1992-05-11 1993-11-26 Mitsubishi Electric Corp アレイ型ディスク駆動機構システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4523206A (en) * 1982-03-03 1985-06-11 Sperry Corporation Cache/disk system with writeback regulation relative to use of cache memory
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
JPH0820964B2 (ja) * 1991-09-13 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション メモリ制御装置および方法
US5353424A (en) * 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP2810593B2 (ja) * 1992-05-13 1998-10-15 三菱電機株式会社 記憶装置
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
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289818A (ja) * 1992-04-08 1993-11-05 Hitachi Ltd ディスクアレイ制御方式
JPH05313833A (ja) * 1992-05-11 1993-11-26 Mitsubishi Electric Corp アレイ型ディスク駆動機構システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832291B2 (en) 1996-09-16 2004-12-14 Samsung Electronics Co., Ltd. Memory system for improving data input/output performance and method of caching data recovery information

Also Published As

Publication number Publication date
DE69412775T2 (de) 1999-04-15
JP3235815B2 (ja) 2001-12-04
KR0162124B1 (en) 1999-01-15
DE69412775D1 (de) 1998-10-01
EP0661635A1 (en) 1995-07-05
KR950020058A (ko) 1995-07-24
EP0661635B1 (en) 1998-08-26
US5530948A (en) 1996-06-25

Similar Documents

Publication Publication Date Title
JP3235815B2 (ja) データ記憶方法及びキューイング方法
JP3133004B2 (ja) ディスクアレイ装置およびその制御方法
US6058489A (en) On-line disk array reconfiguration
Katz et al. Disk system architectures for high performance computing
US5416915A (en) Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5742752A (en) Method for performing a RAID stripe write operation using a drive XOR command set
EP0485110B1 (en) Logical partitioning of a redundant array storage system
Ganger et al. Disk arrays: high-performance, high-reliability storage subsystems
US6289471B1 (en) Storage device array architecture with solid-state redundancy unit
US8583865B1 (en) Caching with flash-based memory
US5274799A (en) Storage device array architecture with copyback cache
US5617425A (en) Disc array having array supporting controllers and interface
US5546535A (en) Multiple controller sharing in a redundant storage array
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US8250283B1 (en) Write-distribute command for RAID mirroring
JPH0642193B2 (ja) Dasdアレイのための更新記録方法及び装置
KR100208801B1 (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
US7818533B2 (en) Storing location identifier in array and array pointer in data structure for write process management
US6343343B1 (en) Disk arrays using non-standard sector sizes
US5805787A (en) Disk based disk cache interfacing system and method
WO2009084071A1 (ja) Raid制御装置及びraidシステム
EP0875831A2 (en) Speed enhancement of disk systems with redundancy-protected data via disk data placement method
JP2001043031A (ja) 分散パリティ生成機能を備えたディスクアレイ制御装置
JP2000020248A (ja) ディスクの障害回復方法、ディスクドライバおよび記録媒体
Katz A project on high performance I/0 subsystems

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees