JPH08263224A - 局所xor機能を有するデータ記憶システム - Google Patents
局所xor機能を有するデータ記憶システムInfo
- Publication number
- JPH08263224A JPH08263224A JP8025038A JP2503896A JPH08263224A JP H08263224 A JPH08263224 A JP H08263224A JP 8025038 A JP8025038 A JP 8025038A JP 2503896 A JP2503896 A JP 2503896A JP H08263224 A JPH08263224 A JP H08263224A
- Authority
- JP
- Japan
- Prior art keywords
- dasd
- data
- xor
- controller
- interface
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1054—Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 複数のXOR演算を記憶装置間で分散して実
行するデータ記憶システムを提供する。 【解決手段】 データ記憶システムが制御装置及び複数
のDASDのストリングを含み、各DASDが制御装置
からのコマンドに応答して、XOR機能及び他のDAS
Dへのデータ転送などの局所オペレーションを実行す
る。直列または並列バスを含むバスが、制御装置及びD
ASDを電気的に相互接続する。各DASDは記憶装
置、インタフェース、バッファ、及びプロセッサを含
む。バッファはインタフェース及び記憶装置から選択的
にデータを受信する。他のオペレーションに加え、プロ
セッサは制御装置からバッファ・インタフェースへのコ
マンドに応答して、バッファ内の選択データ項目に対し
てXOR演算を実行する。プロセッサは更に、演算結果
を別のDASDまたは制御装置に転送しうる。
行するデータ記憶システムを提供する。 【解決手段】 データ記憶システムが制御装置及び複数
のDASDのストリングを含み、各DASDが制御装置
からのコマンドに応答して、XOR機能及び他のDAS
Dへのデータ転送などの局所オペレーションを実行す
る。直列または並列バスを含むバスが、制御装置及びD
ASDを電気的に相互接続する。各DASDは記憶装
置、インタフェース、バッファ、及びプロセッサを含
む。バッファはインタフェース及び記憶装置から選択的
にデータを受信する。他のオペレーションに加え、プロ
セッサは制御装置からバッファ・インタフェースへのコ
マンドに応答して、バッファ内の選択データ項目に対し
てXOR演算を実行する。プロセッサは更に、演算結果
を別のDASDまたは制御装置に転送しうる。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はRAID(redundan
t arrays of inexpensive disks)などのデータ記憶媒
体のアレイに関し、特に、制御装置と、各々が受信デー
タを処理し、処理データを異なる記憶装置または制御装
置に送信するための局所排他的論理和(XOR)発生器
を含む複数のデータ記憶装置とを使用するデータ記憶シ
ステムに関する。従って、本発明のデータ記憶システム
は、複数のXOR演算の実行を要求するタスクを、それ
らのXOR演算を記憶装置間で分散して実行するように
動作する。
t arrays of inexpensive disks)などのデータ記憶媒
体のアレイに関し、特に、制御装置と、各々が受信デー
タを処理し、処理データを異なる記憶装置または制御装
置に送信するための局所排他的論理和(XOR)発生器
を含む複数のデータ記憶装置とを使用するデータ記憶シ
ステムに関する。従って、本発明のデータ記憶システム
は、複数のXOR演算の実行を要求するタスクを、それ
らのXOR演算を記憶装置間で分散して実行するように
動作する。
【0002】
【従来の技術】多くの技術者が、RAIDなどの拡張デ
ータ記憶システムを使用することにより、コンピュータ
の記憶能力を改善しようと努めてきた。一般的に、RA
ID技術は、複数の同一の直接アクセス記憶装置(DA
SD)を使用することにより、デジタル・データを記憶
する。RAID技術の概念は既知であり、RAID装置
の多くの異なる変形が開発されてきた。例えば、"A Cas
e for Redundant Arraysof Inexpensive Disks(RAI
D)"、Report No.UCB/CSD 87/391、December 1987(Pate
rsonらによる"A Case for Redundant Arrays of Inexpe
nsive Disks(RAID)"、Proceedings of the 1988 ACM SI
GMOD Conference on Management of Data, Chicago, I
L, June 1988としても引用される)を参照されたい。
ータ記憶システムを使用することにより、コンピュータ
の記憶能力を改善しようと努めてきた。一般的に、RA
ID技術は、複数の同一の直接アクセス記憶装置(DA
SD)を使用することにより、デジタル・データを記憶
する。RAID技術の概念は既知であり、RAID装置
の多くの異なる変形が開発されてきた。例えば、"A Cas
e for Redundant Arraysof Inexpensive Disks(RAI
D)"、Report No.UCB/CSD 87/391、December 1987(Pate
rsonらによる"A Case for Redundant Arrays of Inexpe
nsive Disks(RAID)"、Proceedings of the 1988 ACM SI
GMOD Conference on Management of Data, Chicago, I
L, June 1988としても引用される)を参照されたい。
【0003】典型的RAID装置は、RAID制御装置
と複数のDASDとを含む。各DASDはマイクロプロ
セッサ及び様々なメモリ・バッファなどの特定の電子回
路とと共に、複数のデータ記憶ディスクを含む。各DA
SDの特定部分が、他のDASDに対応するパリティ・
ビットを記憶するために割当てられる。しかしながら、
説明を容易にするために、RAIDはしばしば、パリテ
ィ情報の記憶を専用とする特定のDASDを有するよう
に述べられる。
と複数のDASDとを含む。各DASDはマイクロプロ
セッサ及び様々なメモリ・バッファなどの特定の電子回
路とと共に、複数のデータ記憶ディスクを含む。各DA
SDの特定部分が、他のDASDに対応するパリティ・
ビットを記憶するために割当てられる。しかしながら、
説明を容易にするために、RAIDはしばしば、パリテ
ィ情報の記憶を専用とする特定のDASDを有するよう
に述べられる。
【0004】RAIDシステムでは、データは通常、ア
レイの異なるDASDの対応ロケーションに渡り、デー
タをストライピングすることにより記憶される。記憶デ
ータのパリティ・ビットは、データにXOR機能を適用
することにより生成される。従って、あるDASDが故
障すると、喪失データが、残りのDASDからのデータ
及び対応パリティ・データにXOR機能を適用すること
により復元される。
レイの異なるDASDの対応ロケーションに渡り、デー
タをストライピングすることにより記憶される。記憶デ
ータのパリティ・ビットは、データにXOR機能を適用
することにより生成される。従って、あるDASDが故
障すると、喪失データが、残りのDASDからのデータ
及び対応パリティ・データにXOR機能を適用すること
により復元される。
【0005】多くのRAID記憶システムでは、次のよ
うな多数の標準機能が存在する。 1.順次書込み 2.更新書込み 3.キャッシュ・データによる更新 4.故障データDASD状況の更新 5.故障パリティDASD状況の更新 6.喪失データの再生(regenerate) 7.喪失データの復元(rebuild) 8.データの読出し
うな多数の標準機能が存在する。 1.順次書込み 2.更新書込み 3.キャッシュ・データによる更新 4.故障データDASD状況の更新 5.故障パリティDASD状況の更新 6.喪失データの再生(regenerate) 7.喪失データの復元(rebuild) 8.データの読出し
【0006】順次書込みは、単に、データ及びその対応
パリティ・ビットをDASDに記憶する。特に、書込み
では、DASDの対応ロケーションに渡り、データの複
数ブロック・グループをストライピングし、ストライプ
・データに対応するパリティ・ビットのブロックを計算
し、パリティ・ブロックをパリティDASDに記憶す
る。パリティ・ブロックは、例えば書込みデータのブロ
ックに対してXOR演算を実行することにより、計算さ
れる。
パリティ・ビットをDASDに記憶する。特に、書込み
では、DASDの対応ロケーションに渡り、データの複
数ブロック・グループをストライピングし、ストライプ
・データに対応するパリティ・ビットのブロックを計算
し、パリティ・ブロックをパリティDASDに記憶す
る。パリティ・ブロックは、例えば書込みデータのブロ
ックに対してXOR演算を実行することにより、計算さ
れる。
【0007】更新書込みは、新たなデータを"ターゲッ
ト"DASDに書込み、その新たなデータに対応するパ
リティ・ビットを更新する。特に更新では、新たなデー
タ・ブロックを制御装置からターゲットDASDに書込
み、更新データを反映する更新パリティ・ブロックを計
算し、更新パリティ・ブロックを記憶する。更新パリテ
ィ・ブロックは、例えば、新たな(更新)データ・ブロ
ック、更新データ・ブロックに対応する旧データ・ブロ
ック、及び対応する旧パリティ・ブロックにXOR演算
を実行することにより計算される。
ト"DASDに書込み、その新たなデータに対応するパ
リティ・ビットを更新する。特に更新では、新たなデー
タ・ブロックを制御装置からターゲットDASDに書込
み、更新データを反映する更新パリティ・ブロックを計
算し、更新パリティ・ブロックを記憶する。更新パリテ
ィ・ブロックは、例えば、新たな(更新)データ・ブロ
ック、更新データ・ブロックに対応する旧データ・ブロ
ック、及び対応する旧パリティ・ブロックにXOR演算
を実行することにより計算される。
【0008】キャッシュ・データによる更新は、制御装
置またはDASDの1つのキャッシュ・メモリから、タ
ーゲットDASDへ新たなデータを書込み、データ及び
そのパリティ・ビットを記憶する。より詳細には、キャ
ッシュ・データによる更新は、キャッシュ・データ・ブ
ロックのターゲットDASDへの書込み、更新データを
反映する更新パリティ・ブロックの計算、及び更新パリ
ティ・ブロックの記憶を含む。更新パリティ・ビット
は、例えば、新たな(更新)キャッシュ・データ、旧キ
ャッシュ・データ、及びキャッシュ・データに対応する
旧パリティ・ビットに対して、XOR演算を実行するこ
とにより計算される。
置またはDASDの1つのキャッシュ・メモリから、タ
ーゲットDASDへ新たなデータを書込み、データ及び
そのパリティ・ビットを記憶する。より詳細には、キャ
ッシュ・データによる更新は、キャッシュ・データ・ブ
ロックのターゲットDASDへの書込み、更新データを
反映する更新パリティ・ブロックの計算、及び更新パリ
ティ・ブロックの記憶を含む。更新パリティ・ビット
は、例えば、新たな(更新)キャッシュ・データ、旧キ
ャッシュ・データ、及びキャッシュ・データに対応する
旧パリティ・ビットに対して、XOR演算を実行するこ
とにより計算される。
【0009】故障データDASD状況の更新は、新たな
データによりあるDASDが更新されるべきであるが、
そのDASDが故障している状況において発生する。デ
ータが故障DASDに書込めないので、RAID装置が
せいぜい実行できることは、本来書込まれるべきデータ
を反映するように、パリティDASDを更新することで
ある。従って、このプロセスは、非故障データDASD
から"旧"データ・ブロックを読出し、このデータ及び新
データにもとづきパリティ・ブロックを計算し、更新パ
リティ・ビットをパリティDASD上に記憶する。パリ
ティ・ビットはもちろん、旧データ及び新データにXO
R演算を実行することにより計算される。
データによりあるDASDが更新されるべきであるが、
そのDASDが故障している状況において発生する。デ
ータが故障DASDに書込めないので、RAID装置が
せいぜい実行できることは、本来書込まれるべきデータ
を反映するように、パリティDASDを更新することで
ある。従って、このプロセスは、非故障データDASD
から"旧"データ・ブロックを読出し、このデータ及び新
データにもとづきパリティ・ブロックを計算し、更新パ
リティ・ビットをパリティDASD上に記憶する。パリ
ティ・ビットはもちろん、旧データ及び新データにXO
R演算を実行することにより計算される。
【0010】故障パリティDASD状況の更新は、デー
タ・ブロックがターゲットDASDにおいて更新される
が、パリティDASDが故障している状況において発生
する。このオペレーションでは、更新データ・ブロック
が単にターゲットDASDに書込まれる。パリティDA
SDを更新するステップは省略される。
タ・ブロックがターゲットDASDにおいて更新される
が、パリティDASDが故障している状況において発生
する。このオペレーションでは、更新データ・ブロック
が単にターゲットDASDに書込まれる。パリティDA
SDを更新するステップは省略される。
【0011】故障DASDからの喪失データの再生(re
generating)は、故障DASDからデータを復元し、そ
れをRAID制御装置に提供する。特に、このプロセス
は全ての非故障DASDから対応データ・ブロックを読
出し、読出されたデータ・ブロックにもとづき喪失デー
タ・ブロックを復元し、復元されたデータ・ブロックを
制御装置に転送する。喪失データ・ブロックは、例え
ば、非故障DASDから読出されるデータ・ブロックに
対して、XOR演算を実行することにより復元される。
generating)は、故障DASDからデータを復元し、そ
れをRAID制御装置に提供する。特に、このプロセス
は全ての非故障DASDから対応データ・ブロックを読
出し、読出されたデータ・ブロックにもとづき喪失デー
タ・ブロックを復元し、復元されたデータ・ブロックを
制御装置に転送する。喪失データ・ブロックは、例え
ば、非故障DASDから読出されるデータ・ブロックに
対して、XOR演算を実行することにより復元される。
【0012】復元(rebuilding)は、以前に故障した
(現在は使用可能な)ターゲットDASDからデータ・
ブロックを復元(reconstruct)し、復元されたデータ
・ブロックをターゲットDASDに書込み、パリティ・
ブロックを更新する。
(現在は使用可能な)ターゲットDASDからデータ・
ブロックを復元(reconstruct)し、復元されたデータ
・ブロックをターゲットDASDに書込み、パリティ・
ブロックを更新する。
【0013】データの読出しは、複数のDASDの1つ
に記憶されるデータ・ブロックを読出す。
に記憶されるデータ・ブロックを読出す。
【0014】従来、技術者達はRAIDにおける複数の
異なる変形を開発した。これらの多くは、ここでの議論
で使用されるRAID−5機構に向けられる。RAID
システムは通常、集中化または分散構成により構成され
る。集中化構成では、RAID制御装置がDASDのた
めに多くの機能を実行し、上述の様々なRAID機能を
実行する支配的な役割を演じる。この場合、制御装置は
RAIDシステムの"頭脳"のごとく作用し、コマンドを
個々のDASDに提供し、DASDから情報を収集し、
DASD内でのデータの処理及び記憶を制御する。制御
装置は例えばパリティ・ビットの生成を管理し、DAS
Dの1つが故障した場合のデータの復元を制御する。集
中化RAIDシステムの重要な特長の1つは、制御装置
がドライブに書込まれるデータまたはそこから取り出さ
れるデータに対して実行されなければならない全てのX
OR機能を実行することである。
異なる変形を開発した。これらの多くは、ここでの議論
で使用されるRAID−5機構に向けられる。RAID
システムは通常、集中化または分散構成により構成され
る。集中化構成では、RAID制御装置がDASDのた
めに多くの機能を実行し、上述の様々なRAID機能を
実行する支配的な役割を演じる。この場合、制御装置は
RAIDシステムの"頭脳"のごとく作用し、コマンドを
個々のDASDに提供し、DASDから情報を収集し、
DASD内でのデータの処理及び記憶を制御する。制御
装置は例えばパリティ・ビットの生成を管理し、DAS
Dの1つが故障した場合のデータの復元を制御する。集
中化RAIDシステムの重要な特長の1つは、制御装置
がドライブに書込まれるデータまたはそこから取り出さ
れるデータに対して実行されなければならない全てのX
OR機能を実行することである。
【0015】一方、分散システムは、かなりの責任を個
々のDASDに帰属させる。分散システムでは、制御装
置はある程度DASDを管理するが、通常、DASDの
1つが、他のDASDの特定のオペレーションを管理す
る重要な役割を担う。本発明を理解する上で有用な複数
の原理を用いる分散RAIDシステムの1つは、ここで
は"外部XOR"アプローチとして参照される。すなわ
ち、XOR機能は制御装置にとって"外部的"であるが、
DASDにとっては局所的である。こうした局所計算
は、喪失データの復元、パリティ計算などを支援するた
めに、順次結合されうる。図1に示されるように、外部
XORアプローチは、複数のDASD104乃至107
に接続される中央制御装置102を用いるRAID装置
100に関わる。各DASD104乃至107は、バッ
ファ、XOR回路、及びディスク・ドライブなどの記憶
装置を含む。例えば、DASD104は、バッファ10
4a、XOR回路104b、及びディスク・ドライブ1
04cを含む。
々のDASDに帰属させる。分散システムでは、制御装
置はある程度DASDを管理するが、通常、DASDの
1つが、他のDASDの特定のオペレーションを管理す
る重要な役割を担う。本発明を理解する上で有用な複数
の原理を用いる分散RAIDシステムの1つは、ここで
は"外部XOR"アプローチとして参照される。すなわ
ち、XOR機能は制御装置にとって"外部的"であるが、
DASDにとっては局所的である。こうした局所計算
は、喪失データの復元、パリティ計算などを支援するた
めに、順次結合されうる。図1に示されるように、外部
XORアプローチは、複数のDASD104乃至107
に接続される中央制御装置102を用いるRAID装置
100に関わる。各DASD104乃至107は、バッ
ファ、XOR回路、及びディスク・ドライブなどの記憶
装置を含む。例えば、DASD104は、バッファ10
4a、XOR回路104b、及びディスク・ドライブ1
04cを含む。
【0016】図1では、各DASD104乃至107
が、バス110を介して、他のDASD104乃至10
7及び制御装置102に接続される。外部XOR機構の
下で、制御装置102はイニシエータDASDを指定
し、単一のSCSIコマンドを指定イニシエータDAS
Dに発行することにより、アレイ・オペレーションを開
始する。図1の例では、イニシエータDASDはDAS
D107である。イニシエータDASD107は、制御
装置102により要求されるオペレーションを達成する
SCSIイニシエータの役割を担う。すなわち、イニシ
エータDASD107は、制御装置102にとって外部
的にオペレーションを達成し、終了時に終了ステータス
を制御装置102に報告する。一般に、エラー回復はD
ASDの役割である。しかしながら、DASDレベルに
おいて回復不能なエラーに対しては、エラー回復責任を
制御装置102に転嫁するプロシージャが存在する。
が、バス110を介して、他のDASD104乃至10
7及び制御装置102に接続される。外部XOR機構の
下で、制御装置102はイニシエータDASDを指定
し、単一のSCSIコマンドを指定イニシエータDAS
Dに発行することにより、アレイ・オペレーションを開
始する。図1の例では、イニシエータDASDはDAS
D107である。イニシエータDASD107は、制御
装置102により要求されるオペレーションを達成する
SCSIイニシエータの役割を担う。すなわち、イニシ
エータDASD107は、制御装置102にとって外部
的にオペレーションを達成し、終了時に終了ステータス
を制御装置102に報告する。一般に、エラー回復はD
ASDの役割である。しかしながら、DASDレベルに
おいて回復不能なエラーに対しては、エラー回復責任を
制御装置102に転嫁するプロシージャが存在する。
【0017】外部XORアプローチは、多数の魅力的な
特長を有する。例えば、このアプローチは、RAID制
御装置の作業負荷を軽減する。また、XOR機能の局所
化は、特殊RAID制御装置の必要を回避しうり、特定
のケースでは、RAID装置が一般のSCSI制御装置
と互換にさえなりうる。
特長を有する。例えば、このアプローチは、RAID制
御装置の作業負荷を軽減する。また、XOR機能の局所
化は、特殊RAID制御装置の必要を回避しうり、特定
のケースでは、RAID装置が一般のSCSI制御装置
と互換にさえなりうる。
【0018】しかしながら、特定のアプリケーションで
は、外部XORアプローチの下でのシステム性能が、ユ
ーザの期待にそぐわないことがありうる。例えば、制御
装置102が複数のイニシエータを指定する場合、DA
SD104乃至107が、同時に複数のイニシエータに
よる一貫性の無い制御に晒されうる。特に、制御装置に
よるコマンドの発行と、任意のDASDによるそのコマ
ンドの受信との間に遅延が存在しうる。従って、連続的
なコマンドが予測不能かつ不正な順序で受信され、実行
される機会が存在しうる。特定のケースでは、これはデ
ータの保全性を低下しうる。
は、外部XORアプローチの下でのシステム性能が、ユ
ーザの期待にそぐわないことがありうる。例えば、制御
装置102が複数のイニシエータを指定する場合、DA
SD104乃至107が、同時に複数のイニシエータに
よる一貫性の無い制御に晒されうる。特に、制御装置に
よるコマンドの発行と、任意のDASDによるそのコマ
ンドの受信との間に遅延が存在しうる。従って、連続的
なコマンドが予測不能かつ不正な順序で受信され、実行
される機会が存在しうる。特定のケースでは、これはデ
ータの保全性を低下しうる。
【0019】外部XORアプローチの別の潜在的欠点
は、計算効率に関わる。特にこのアプローチは、特定の
RAIDオペレーションにおいて過剰なタスクを実行す
る。例えば、図2は順次書込みオペレーションの間の、
外部XOR装置200の振舞いを示す。外部XOR装置
200は制御装置202、データDASD204乃至2
06、及びパリティDASD208を含む。外部XOR
装置200は、順次書込みオペレーションを次のように
実行する。第1に、制御装置202が、XORデータ書
込み(XDW)コマンド204a乃至206aを、それ
ぞれDASD204乃至206に発行する。各書込みコ
マンドと共に、制御装置202は、対応するDASDに
書込まれるデータ・ブロックを提供する。データ・ブロ
ックは204b乃至206bにより示される。
は、計算効率に関わる。特にこのアプローチは、特定の
RAIDオペレーションにおいて過剰なタスクを実行す
る。例えば、図2は順次書込みオペレーションの間の、
外部XOR装置200の振舞いを示す。外部XOR装置
200は制御装置202、データDASD204乃至2
06、及びパリティDASD208を含む。外部XOR
装置200は、順次書込みオペレーションを次のように
実行する。第1に、制御装置202が、XORデータ書
込み(XDW)コマンド204a乃至206aを、それ
ぞれDASD204乃至206に発行する。各書込みコ
マンドと共に、制御装置202は、対応するDASDに
書込まれるデータ・ブロックを提供する。データ・ブロ
ックは204b乃至206bにより示される。
【0020】コマンド及びデータ・ブロックの受信に際
し、DASD204乃至206は、適切なデータをそれ
らのディスク・ドライブに書込む。更に各DASDは、
XOR機能を新たなデータ及び置換される旧データに適
用する。これらのXOR演算の結果は、後にパリティ・
ビットを生成するために使用されるデータを提供し、パ
リティ・ビットはパリティDASD208により記憶さ
れる。従って、次のステップでは、DASD204乃至
206は、パリティDASD208に、XORパリティ
書込み(XPW)コマンド204d乃至206dと共
に、計算されたパリティ・ビット204c乃至206c
を送信する。次に、パリティDASD208は受信デー
タから最終パリティ・ビットを計算し、これがパリティ
DASD208のディスク・ドライブに書込まれる。後
述の説明で示されるように、外部XORアプローチは、
図2により示されるような状況において、過剰なオペレ
ーションを要求する。
し、DASD204乃至206は、適切なデータをそれ
らのディスク・ドライブに書込む。更に各DASDは、
XOR機能を新たなデータ及び置換される旧データに適
用する。これらのXOR演算の結果は、後にパリティ・
ビットを生成するために使用されるデータを提供し、パ
リティ・ビットはパリティDASD208により記憶さ
れる。従って、次のステップでは、DASD204乃至
206は、パリティDASD208に、XORパリティ
書込み(XPW)コマンド204d乃至206dと共
に、計算されたパリティ・ビット204c乃至206c
を送信する。次に、パリティDASD208は受信デー
タから最終パリティ・ビットを計算し、これがパリティ
DASD208のディスク・ドライブに書込まれる。後
述の説明で示されるように、外部XORアプローチは、
図2により示されるような状況において、過剰なオペレ
ーションを要求する。
【0021】更に、外部XORアプローチの別の潜在的
欠点は、特定のオペレーションが過度な負荷をイニシエ
ータDASDに課すことである。一例として、図3に示
される外部XOR装置200により実行される再生オペ
レーションが挙げられる。再生オペレーションは、故障
DASD300上に配置されるために取り出せない"ミ
ッシング(missing)"・データ・ブロックを復元するた
めに実行される。再生コマンドはまた再生データを制御
装置202に提供する。
欠点は、特定のオペレーションが過度な負荷をイニシエ
ータDASDに課すことである。一例として、図3に示
される外部XOR装置200により実行される再生オペ
レーションが挙げられる。再生オペレーションは、故障
DASD300上に配置されるために取り出せない"ミ
ッシング(missing)"・データ・ブロックを復元するた
めに実行される。再生コマンドはまた再生データを制御
装置202に提供する。
【0022】最初に制御装置202は、再生コマンド3
02をイニシエータDASDに発行する。図3の例で
は、イニシエータDASDはDASD208である。イ
ニシエータDASD208は次に、ミッシング・データ
・ブロックに対応するデータ・ブロックを取り出すため
に、読出しコマンド304乃至306を非故障DASD
204乃至206に送信する。それに応答して、各DA
SD204乃至206は、イニシエータDASD208
に要求データ・ブロック308乃至310を送信する。
イニシエータDASD208はまた、自身のディスク・
ドライブからも、ミッシング・データ・ブロックに対応
するデータ・ブロックを取り出す。次に制御装置202
がイニシエータDASD208に、XORデータ読出し
(XDR)コマンドを送信する。それに応答して、イニ
シエータDASD208はデータ・ブロックに対してX
OR演算を実行して、ミッシング・データ・ブロックを
効果的に再生し、再生データ・ブロックを制御装置20
2に返却する。
02をイニシエータDASDに発行する。図3の例で
は、イニシエータDASDはDASD208である。イ
ニシエータDASD208は次に、ミッシング・データ
・ブロックに対応するデータ・ブロックを取り出すため
に、読出しコマンド304乃至306を非故障DASD
204乃至206に送信する。それに応答して、各DA
SD204乃至206は、イニシエータDASD208
に要求データ・ブロック308乃至310を送信する。
イニシエータDASD208はまた、自身のディスク・
ドライブからも、ミッシング・データ・ブロックに対応
するデータ・ブロックを取り出す。次に制御装置202
がイニシエータDASD208に、XORデータ読出し
(XDR)コマンドを送信する。それに応答して、イニ
シエータDASD208はデータ・ブロックに対してX
OR演算を実行して、ミッシング・データ・ブロックを
効果的に再生し、再生データ・ブロックを制御装置20
2に返却する。
【0023】
【発明が解決しようとする課題】上述のように、外部X
ORアプローチは再生オペレーションの実行において、
イニシエータDASD208に大きく頼る。イニシエー
タDASD208はコマンドを他の各DASDに送信
し、そこからデータ・ブロックを受信し、自身のデータ
・ブロックの1つを取り出し、全ての抽出データ・ブロ
ックに対してXOR演算を実行し、XOR結果を制御装
置202に返却しなければならない。結果的に、イニシ
エータDASD208は、外部XOR装置200のオペ
レーションを多大に遅延する障害を有しうる。イニシエ
ータDASD208の重負荷により、XOR演算の実行
に相当な計算時間が必要とされる。加えて、この重負荷
は、イニシエータDASD208がメモリ・バッファ及
びバッファ・サイクルなどの、追加のハードウェアを使
用することを要求する。
ORアプローチは再生オペレーションの実行において、
イニシエータDASD208に大きく頼る。イニシエー
タDASD208はコマンドを他の各DASDに送信
し、そこからデータ・ブロックを受信し、自身のデータ
・ブロックの1つを取り出し、全ての抽出データ・ブロ
ックに対してXOR演算を実行し、XOR結果を制御装
置202に返却しなければならない。結果的に、イニシ
エータDASD208は、外部XOR装置200のオペ
レーションを多大に遅延する障害を有しうる。イニシエ
ータDASD208の重負荷により、XOR演算の実行
に相当な計算時間が必要とされる。加えて、この重負荷
は、イニシエータDASD208がメモリ・バッファ及
びバッファ・サイクルなどの、追加のハードウェアを使
用することを要求する。
【0024】更に、外部XOR構成は、制御装置からは
多大な作業負荷を免除するが、イニシエータDASDに
課せられる高度な責任が、事実上、イニシエータDAS
D自体を"制御装置"たらしめる。従って、イニシエータ
DASDが、他のDASDと通信し、それらを管理する
ためのマイクロコード及び制御回路などの、必要な知能
を含まねばならない。
多大な作業負荷を免除するが、イニシエータDASDに
課せられる高度な責任が、事実上、イニシエータDAS
D自体を"制御装置"たらしめる。従って、イニシエータ
DASDが、他のDASDと通信し、それらを管理する
ためのマイクロコード及び制御回路などの、必要な知能
を含まねばならない。
【0025】
【課題を解決するための手段】一般的に、本発明の1つ
の態様は、マシン読出し可能データを記憶するデータ記
憶システムに関する。このシステムは制御装置、複数D
ASD、及び制御装置とDASDを電気的に相互接続す
るバスを含む。各DASDはマシン読出し可能データを
記憶する記憶装置と、バスに電気的に接続されるインタ
フェースを含む。更に、各DASDはインタフェースか
ら受信されるデータを選択的に記憶する1つ以上のバッ
ファ、及び記憶装置を含む。各DASDは更に、制御装
置からのコマンドに応答して、バッファに受信されたデ
ータ・ブロックを選択し、選択ブロックに対してXOR
演算を実行するプロセッサを含む。プロセッサはまた、
その演算結果をバスを介して、別のDASDまたは制御
装置などの宛先に転送しうる。
の態様は、マシン読出し可能データを記憶するデータ記
憶システムに関する。このシステムは制御装置、複数D
ASD、及び制御装置とDASDを電気的に相互接続す
るバスを含む。各DASDはマシン読出し可能データを
記憶する記憶装置と、バスに電気的に接続されるインタ
フェースを含む。更に、各DASDはインタフェースか
ら受信されるデータを選択的に記憶する1つ以上のバッ
ファ、及び記憶装置を含む。各DASDは更に、制御装
置からのコマンドに応答して、バッファに受信されたデ
ータ・ブロックを選択し、選択ブロックに対してXOR
演算を実行するプロセッサを含む。プロセッサはまた、
その演算結果をバスを介して、別のDASDまたは制御
装置などの宛先に転送しうる。
【0026】本発明のデータ記憶システムは、複数XO
R演算の実行を要求するタスクを、それらXOR演算の
実行をDASD間で分散して実行する。より詳細には、
データ記憶システムがDASD間で、データを選択"デ
イジー・チェイン"順に順次的に転送するように動作す
る。複数DASDは、データをデイジー・チェイン内の
次のDASDに転送する以前に、データに対してXOR
演算を実行する。
R演算の実行を要求するタスクを、それらXOR演算の
実行をDASD間で分散して実行する。より詳細には、
データ記憶システムがDASD間で、データを選択"デ
イジー・チェイン"順に順次的に転送するように動作す
る。複数DASDは、データをデイジー・チェイン内の
次のDASDに転送する以前に、データに対してXOR
演算を実行する。
【0027】従って、本発明はそのユーザに複数の別個
の利点を提供する。第1に、本発明は以前の構成に勝る
信頼性を提供する。更に、本発明は、既知の構成に勝る
計算効率を提供する。本発明はまた、制御装置の作業負
荷を軽減し、DASD間で処理作業負荷を分散すること
により、任意のDASDの過剰作業を回避する。
の利点を提供する。第1に、本発明は以前の構成に勝る
信頼性を提供する。更に、本発明は、既知の構成に勝る
計算効率を提供する。本発明はまた、制御装置の作業負
荷を軽減し、DASD間で処理作業負荷を分散すること
により、任意のDASDの過剰作業を回避する。
【0028】
【発明の実施の形態】一般に、本発明は制御装置及び複
数のDASDを含むデータ記憶装置を含み、DASDは
制御装置の計算作業負荷を軽減するために、それらの間
でデータを処理し、順次転送することができ、それによ
り計算効率及びデータ信頼性の向上を達成する。
数のDASDを含むデータ記憶装置を含み、DASDは
制御装置の計算作業負荷を軽減するために、それらの間
でデータを処理し、順次転送することができ、それによ
り計算効率及びデータ信頼性の向上を達成する。
【0029】ハードウェア要素及び相互接続:図4は本
発明の好適なデータ記憶システム400を示す。システ
ム400は好適にはRAID−5プロトコルを実現する
が、RAID−1、RAID3または別のRAID構成
が使用されてもよい。システム400は制御装置402
を含み、これはDASD404乃至407に電気的に接
続される。図示の態様では、制御装置402は、本明細
書で述べられるオペレーションを実行する個別の回路要
素または特定のアプリケーション向け集積回路(ASI
C)を含む。代わりに、制御装置402が、本明細書で
述べられる機能を達成するために好適なソフトウェアを
実行するデジタル・コンピュータ・システムを含んでも
よい。
発明の好適なデータ記憶システム400を示す。システ
ム400は好適にはRAID−5プロトコルを実現する
が、RAID−1、RAID3または別のRAID構成
が使用されてもよい。システム400は制御装置402
を含み、これはDASD404乃至407に電気的に接
続される。図示の態様では、制御装置402は、本明細
書で述べられるオペレーションを実行する個別の回路要
素または特定のアプリケーション向け集積回路(ASI
C)を含む。代わりに、制御装置402が、本明細書で
述べられる機能を達成するために好適なソフトウェアを
実行するデジタル・コンピュータ・システムを含んでも
よい。
【0030】好適な実施例では、DASD404乃至4
07及び制御装置402は、バス410により接続され
る。より詳細には、制御装置402はインタフェース4
11を含み、各DASD404乃至407はインタフェ
ース412乃至415をそれぞれ含む。インタフェース
412乃至415は、好適には直列記憶アーキテクチャ
などの、SCSIコマンド・セットと互換の直列インタ
フェースを含む。バス410はインタフェース411乃
至415を1連続ループに相互接続し、各インタフェー
スは2つの隣接インタフェース間に接続される。情報を
2重DASDインタフェース(図示せず)間で伝達した
り、バス410が故障の場合のバックアップを提供する
ために、2重バス(図示せず)も提供されうる。
07及び制御装置402は、バス410により接続され
る。より詳細には、制御装置402はインタフェース4
11を含み、各DASD404乃至407はインタフェ
ース412乃至415をそれぞれ含む。インタフェース
412乃至415は、好適には直列記憶アーキテクチャ
などの、SCSIコマンド・セットと互換の直列インタ
フェースを含む。バス410はインタフェース411乃
至415を1連続ループに相互接続し、各インタフェー
スは2つの隣接インタフェース間に接続される。情報を
2重DASDインタフェース(図示せず)間で伝達した
り、バス410が故障の場合のバックアップを提供する
ために、2重バス(図示せず)も提供されうる。
【0031】制御装置402及びDASD404乃至4
07を相互接続する代わりに、他の構成も使用されう
る。例えば制御装置402及びDASD404乃至40
7が共通バスに並列に接続されたり、ファイバ・チャネ
ル・アービトレーテッド・ループ・タイプの相互接続が
使用されてもよい。或いは、制御装置と各DASD40
4乃至407間、及び任意のDASDと別のDASD間
で信号を交換する特定の手段を提供する、異なる相互接
続機構が使用されてもよい。
07を相互接続する代わりに、他の構成も使用されう
る。例えば制御装置402及びDASD404乃至40
7が共通バスに並列に接続されたり、ファイバ・チャネ
ル・アービトレーテッド・ループ・タイプの相互接続が
使用されてもよい。或いは、制御装置と各DASD40
4乃至407間、及び任意のDASDと別のDASD間
で信号を交換する特定の手段を提供する、異なる相互接
続機構が使用されてもよい。
【0032】図示の態様では、各DASD404乃至4
07がインタフェース、プロセッサ、バッファ及び記憶
装置を含む。例えば図4でDASD404はインタフェ
ース412、プロセッサ418、データ記憶装置420
及びバッファ422を含む。典型的なDASD500の
構成要素が、図5に詳細に示される。DASD500は
インタフェース502、プロセッサ504、データ記憶
装置506、及びバッファ508を含む。インタフェー
ス502は、第1及び第2のバッファ514、516を
含み、これらはそれぞれバス410の第1の終端510
及び第2の終端512に電気的に接続される。インタフ
ェース502はまたゲート518を含み、これはバス4
10の終端510、512間で信号を選択的に交換し、
更にプロセッサ504がバス410からの受信データに
オペレーションを実行することを支援する。
07がインタフェース、プロセッサ、バッファ及び記憶
装置を含む。例えば図4でDASD404はインタフェ
ース412、プロセッサ418、データ記憶装置420
及びバッファ422を含む。典型的なDASD500の
構成要素が、図5に詳細に示される。DASD500は
インタフェース502、プロセッサ504、データ記憶
装置506、及びバッファ508を含む。インタフェー
ス502は、第1及び第2のバッファ514、516を
含み、これらはそれぞれバス410の第1の終端510
及び第2の終端512に電気的に接続される。インタフ
ェース502はまたゲート518を含み、これはバス4
10の終端510、512間で信号を選択的に交換し、
更にプロセッサ504がバス410からの受信データに
オペレーションを実行することを支援する。
【0033】プロセッサ504はバッファ514、51
6に電気的に接続され、それらとデータを交換する。プ
ロセッサ504はマイクロプロセッサ、個別論理回路、
またはASICを含み、データを処理し本発明に従いD
ASD500のオペレーションを管理する。図示の態様
では、プロセッサ504は、例えばモデル80186マ
イクロプロセッサ、またはウェスタン・デジタル社のモ
デルWD33C96及びWD61C40回路の組合わせ
を含みうる。プロセッサ504は、記憶装置506及び
バッファ508にも電気的に接続される。
6に電気的に接続され、それらとデータを交換する。プ
ロセッサ504はマイクロプロセッサ、個別論理回路、
またはASICを含み、データを処理し本発明に従いD
ASD500のオペレーションを管理する。図示の態様
では、プロセッサ504は、例えばモデル80186マ
イクロプロセッサ、またはウェスタン・デジタル社のモ
デルWD33C96及びWD61C40回路の組合わせ
を含みうる。プロセッサ504は、記憶装置506及び
バッファ508にも電気的に接続される。
【0034】図示の態様では、記憶装置506は、1つ
以上の回転磁気記録媒体を有するハード・ディスク・ド
ライブを含みうる。或いは、DASD404乃至407
が光ディスク・ドライブ、磁気テープ・ドライブ、フロ
ッピーまたはリジッド・ディスケット、ランダム・アク
セス・メモリ(RAM)、または他の好適なコンピュー
タ読出し可能データ記憶装置を含んでもよい。バッファ
508、514及び516は、好適にはDRAMバッフ
ァを含み、バッファ508は後述される理由により、複
数の従属バッファに区分化されることが望ましい。
以上の回転磁気記録媒体を有するハード・ディスク・ド
ライブを含みうる。或いは、DASD404乃至407
が光ディスク・ドライブ、磁気テープ・ドライブ、フロ
ッピーまたはリジッド・ディスケット、ランダム・アク
セス・メモリ(RAM)、または他の好適なコンピュー
タ読出し可能データ記憶装置を含んでもよい。バッファ
508、514及び516は、好適にはDRAMバッフ
ァを含み、バッファ508は後述される理由により、複
数の従属バッファに区分化されることが望ましい。
【0035】オペレーション方法:上述のデータ記憶シ
ステムの様々な態様に加え、本発明はこうしたシステム
をオペレートする方法を包含する。一般に、本発明のデ
ータ記憶システムをオペレートするために、制御装置4
02(図4)はコマンド及びデータをバス410を介し
て、DASD404乃至407に送信する。DASD4
04乃至407は、データ記憶システム全体の読出し、
書込み、再生、及び他のオペレーションの実行を支援す
るために要求される様々な局所タスクを実行して応答す
る。本発明の図示の態様の利点は、XOR演算がDAS
D404乃至407間で分散され、XOR演算を要求す
る所与の機能に対して、どのDASDも複数のXOR演
算を実行するように要求されず、従って処理作業負荷の
過度な分配を請け負わないことである。
ステムの様々な態様に加え、本発明はこうしたシステム
をオペレートする方法を包含する。一般に、本発明のデ
ータ記憶システムをオペレートするために、制御装置4
02(図4)はコマンド及びデータをバス410を介し
て、DASD404乃至407に送信する。DASD4
04乃至407は、データ記憶システム全体の読出し、
書込み、再生、及び他のオペレーションの実行を支援す
るために要求される様々な局所タスクを実行して応答す
る。本発明の図示の態様の利点は、XOR演算がDAS
D404乃至407間で分散され、XOR演算を要求す
る所与の機能に対して、どのDASDも複数のXOR演
算を実行するように要求されず、従って処理作業負荷の
過度な分配を請け負わないことである。
【0036】コマンド・セット:本発明の図示の態様で
は、制御装置402は様々なコマンドを選択し、DAS
D404乃至407に発行することにより、様々な特定
のオペレーション(後述)を実行する。本発明の図示の
態様では、各DASDがそのゲート518により、プロ
セッサ504とバッファ514、516との間で信号を
選択的に交換しうる。例えば、制御装置402がDAS
D406に対してコマンドを発行する場合、制御装置4
02はそのコマンドをバス410上に出力する。コマン
ドはインタフェース412、413及び414を介し
て、インタフェース415に転送される。この状況で
は、各インタフェース412、413、414のゲート
518は、コマンドが別のDASDに向けられることを
認識し、信号をバッファ514からバッファ516に転
送し、事実上、バス410の終端510、512を接続
する。
は、制御装置402は様々なコマンドを選択し、DAS
D404乃至407に発行することにより、様々な特定
のオペレーション(後述)を実行する。本発明の図示の
態様では、各DASDがそのゲート518により、プロ
セッサ504とバッファ514、516との間で信号を
選択的に交換しうる。例えば、制御装置402がDAS
D406に対してコマンドを発行する場合、制御装置4
02はそのコマンドをバス410上に出力する。コマン
ドはインタフェース412、413及び414を介し
て、インタフェース415に転送される。この状況で
は、各インタフェース412、413、414のゲート
518は、コマンドが別のDASDに向けられることを
認識し、信号をバッファ514からバッファ516に転
送し、事実上、バス410の終端510、512を接続
する。
【0037】各コマンドは、DASD404乃至407
により認識される全てのコマンドを含む"コマンド・セ
ット"から選択される。本発明の図示の態様では、コマ
ンド・セットが次のコマンドを含みうる。WRITE、
XT、XW、XTW、XTW/NR、TW、READ、
及びTRANSFER。
により認識される全てのコマンドを含む"コマンド・セ
ット"から選択される。本発明の図示の態様では、コマ
ンド・セットが次のコマンドを含みうる。WRITE、
XT、XW、XTW、XTW/NR、TW、READ、
及びTRANSFER。
【0038】WRITE:このコマンドは、ターゲット
DASD500に、特定の入来データをその記憶装置5
06に記憶するように指令する。この点に関し、"入来"
データは、インタフェース502によりバス410から
獲得されるデータを指す。従って、入来データは制御装
置402、別のDASD、または別の制御装置(図示せ
ず)などの発信元から発信されうる。入来データが制御
装置402以外の発信元から提供される場合、制御装置
402もまたTRANSFERコマンド(後述)をデー
タ発信元に送信する。
DASD500に、特定の入来データをその記憶装置5
06に記憶するように指令する。この点に関し、"入来"
データは、インタフェース502によりバス410から
獲得されるデータを指す。従って、入来データは制御装
置402、別のDASD、または別の制御装置(図示せ
ず)などの発信元から発信されうる。入来データが制御
装置402以外の発信元から提供される場合、制御装置
402もまたTRANSFERコマンド(後述)をデー
タ発信元に送信する。
【0039】XT:このコマンドは、ターゲットDAS
D500に、特定のデータをその記憶装置506から読
出し、そのデータと特定の入来データの組合わせにXO
Rを実行し、XOR結果を2次ターゲットに転送するよ
うに指令する。ここでの説明の都合上、"2次ターゲッ
ト"は別のDASD、制御装置402、または異なる制
御装置(図示せず)を含みうるものとする。WRITE
コマンド同様、入来データは制御装置402、別のDA
SD、または別の制御装置(図示せず)などの発信元か
ら発信されうる。入来データが制御装置402以外の発
信元から提供される場合、制御装置402もまたTRA
NSFERコマンドをデータ発信元に送信する。
D500に、特定のデータをその記憶装置506から読
出し、そのデータと特定の入来データの組合わせにXO
Rを実行し、XOR結果を2次ターゲットに転送するよ
うに指令する。ここでの説明の都合上、"2次ターゲッ
ト"は別のDASD、制御装置402、または異なる制
御装置(図示せず)を含みうるものとする。WRITE
コマンド同様、入来データは制御装置402、別のDA
SD、または別の制御装置(図示せず)などの発信元か
ら発信されうる。入来データが制御装置402以外の発
信元から提供される場合、制御装置402もまたTRA
NSFERコマンドをデータ発信元に送信する。
【0040】ターゲットDASD500がXTコマンド
を受信すると、インタフェース502が入来データを受
信し、記憶装置506がXTコマンドにより指定される
データを読出す。これらのデータ項目は、好適には続く
処理のためにバッファ508に記憶される。特に、プロ
セッサ504は、バッファ508内に含まれる読出され
たデータ及び入来データに対して、XOR演算を実行す
る。次にターゲットDASD500が2次イニシエータ
として、限定的役割を請け負う。特に、プロセッサ50
4はTRANSFERコマンド(後述)を発行して、X
OR結果をバス410を介して、指定2次ターゲットに
転送する。
を受信すると、インタフェース502が入来データを受
信し、記憶装置506がXTコマンドにより指定される
データを読出す。これらのデータ項目は、好適には続く
処理のためにバッファ508に記憶される。特に、プロ
セッサ504は、バッファ508内に含まれる読出され
たデータ及び入来データに対して、XOR演算を実行す
る。次にターゲットDASD500が2次イニシエータ
として、限定的役割を請け負う。特に、プロセッサ50
4はTRANSFERコマンド(後述)を発行して、X
OR結果をバス410を介して、指定2次ターゲットに
転送する。
【0041】ターゲットDASD500は、実現される
DASDの特定の態様に従い、多彩な方法により2次タ
ーゲットを識別しうる。1つの態様では、ターゲットD
ASD500はDASD500に局所的に記憶されるテ
ーブルを調査し、XOR結果の送り先を決定する。この
テーブルは、ターゲットDASD500と他のDASD
との関係、制御装置402から受信されるコマンド、及
びXORデータの発信元を考慮する。この情報は、ター
ゲットDASD500が適切な2次ターゲットを選択す
るために使用される。別の態様では、制御装置402か
らのコマンドが、ターゲットDASD500に情報の転
送先を指令するパラメータを含む。上述の両方の態様は
本開示を参考に、当業者により実現されよう。
DASDの特定の態様に従い、多彩な方法により2次タ
ーゲットを識別しうる。1つの態様では、ターゲットD
ASD500はDASD500に局所的に記憶されるテ
ーブルを調査し、XOR結果の送り先を決定する。この
テーブルは、ターゲットDASD500と他のDASD
との関係、制御装置402から受信されるコマンド、及
びXORデータの発信元を考慮する。この情報は、ター
ゲットDASD500が適切な2次ターゲットを選択す
るために使用される。別の態様では、制御装置402か
らのコマンドが、ターゲットDASD500に情報の転
送先を指令するパラメータを含む。上述の両方の態様は
本開示を参考に、当業者により実現されよう。
【0042】XW:このコマンドはターゲットDASD
500に、特定の入来データ及びその記憶装置506か
らの特定のデータに対して、XOR演算を実行し、XO
R結果を記憶装置に書込むように指令する。XTコマン
ド同様、入来データは制御装置402、別のDASD、
または別の制御装置(図示せず)などの発信元から発信
されうる。
500に、特定の入来データ及びその記憶装置506か
らの特定のデータに対して、XOR演算を実行し、XO
R結果を記憶装置に書込むように指令する。XTコマン
ド同様、入来データは制御装置402、別のDASD、
または別の制御装置(図示せず)などの発信元から発信
されうる。
【0043】ターゲットDASD500がXWコマンド
を受信すると、インタフェース502が入来データを受
信し、記憶装置506がコマンドにより指定されるデー
タを読出す。これらのデータ項目は、好適には続く処理
のためにバッファ508に記憶される。次に、プロセッ
サ504が、バッファ508に含まれる2つのデータ項
目に対して、XOR演算を実行し、記憶装置506がX
OR結果を記憶する。
を受信すると、インタフェース502が入来データを受
信し、記憶装置506がコマンドにより指定されるデー
タを読出す。これらのデータ項目は、好適には続く処理
のためにバッファ508に記憶される。次に、プロセッ
サ504が、バッファ508に含まれる2つのデータ項
目に対して、XOR演算を実行し、記憶装置506がX
OR結果を記憶する。
【0044】XTW:このコマンドはターゲットDAS
D500に、特定の入来データ及びその記憶装置506
からの特定のデータに対して、XOR演算を実行し、入
来データをその記憶装置506に書込み、XOR結果を
2次ターゲットに転送するように指令する。インタフェ
ース502はバス410を介して入来データを受信し、
入来データは制御装置402、別のDASD、または別
の発信元(図示せず)から発信されうる。
D500に、特定の入来データ及びその記憶装置506
からの特定のデータに対して、XOR演算を実行し、入
来データをその記憶装置506に書込み、XOR結果を
2次ターゲットに転送するように指令する。インタフェ
ース502はバス410を介して入来データを受信し、
入来データは制御装置402、別のDASD、または別
の発信元(図示せず)から発信されうる。
【0045】ターゲットDASD500がXTWコマン
ドを受信すると、記憶装置506がコマンドにより指定
されるデータを読出し、インタフェース502が入来デ
ータを受信し、プロセッサ504が2つのデータ項目に
対して、XOR演算を実行する。好適には、これら2つ
のデータ項目はプロセッサ504を支援するために、バ
ッファ508に記憶される。次に、記憶装置506が入
来データを記憶する。次にターゲットDASD500が
2次イニシエータとして、限定的役割を請け負い、プロ
セッサ504はTRANSFERコマンド(後述)を発
行して、XOR結果をインタフェース502及びバス4
10を介して、指定2次ターゲットに転送する。
ドを受信すると、記憶装置506がコマンドにより指定
されるデータを読出し、インタフェース502が入来デ
ータを受信し、プロセッサ504が2つのデータ項目に
対して、XOR演算を実行する。好適には、これら2つ
のデータ項目はプロセッサ504を支援するために、バ
ッファ508に記憶される。次に、記憶装置506が入
来データを記憶する。次にターゲットDASD500が
2次イニシエータとして、限定的役割を請け負い、プロ
セッサ504はTRANSFERコマンド(後述)を発
行して、XOR結果をインタフェース502及びバス4
10を介して、指定2次ターゲットに転送する。
【0046】XTW/NR:このコマンドはターゲット
DASD500に、入来データの旧ブロック及び新ブロ
ックに対してXOR演算を実行し、新データ・ブロック
をターゲットDASDの記憶装置に書込み、XOR結果
を2次ターゲットに転送するように指令する。新たな入
来データ・ブロックは制御装置402から発信され、旧
データ・ブロックは制御装置402または別のDASD
から発信されうる。ターゲットDASDはバス410を
介して、入来データの新旧両ブロックを受信する。
DASD500に、入来データの旧ブロック及び新ブロ
ックに対してXOR演算を実行し、新データ・ブロック
をターゲットDASDの記憶装置に書込み、XOR結果
を2次ターゲットに転送するように指令する。新たな入
来データ・ブロックは制御装置402から発信され、旧
データ・ブロックは制御装置402または別のDASD
から発信されうる。ターゲットDASDはバス410を
介して、入来データの新旧両ブロックを受信する。
【0047】ターゲットDASD500がXTW/NR
コマンドを受信すると、インタフェース502が2つの
入来データ・ブロックを受信し、バッファ508が好適
にはデータ・ブロックを記憶する。次にプロセッサ50
4が2つのデータ・ブロックに対してXOR演算を実行
し、記憶装置506が新たなデータ・ブロックを記憶す
る。2つのデータ・ブロックが制御装置402から受信
される場合、新データ・ブロックは、例えばターゲット
DASD500に転送される最初のデータ・ブロックで
あることから識別される。ターゲットDASD500が
制御装置402から新データ・ブロックを受信し、旧デ
ータ・ブロックを別のDASDから受信する場合、ター
ゲットDASDの記憶装置506は、制御装置402か
ら受信されるデータ・ブロック(すなわち新データ・ブ
ロック)を記憶する。
コマンドを受信すると、インタフェース502が2つの
入来データ・ブロックを受信し、バッファ508が好適
にはデータ・ブロックを記憶する。次にプロセッサ50
4が2つのデータ・ブロックに対してXOR演算を実行
し、記憶装置506が新たなデータ・ブロックを記憶す
る。2つのデータ・ブロックが制御装置402から受信
される場合、新データ・ブロックは、例えばターゲット
DASD500に転送される最初のデータ・ブロックで
あることから識別される。ターゲットDASD500が
制御装置402から新データ・ブロックを受信し、旧デ
ータ・ブロックを別のDASDから受信する場合、ター
ゲットDASDの記憶装置506は、制御装置402か
ら受信されるデータ・ブロック(すなわち新データ・ブ
ロック)を記憶する。
【0048】記憶装置506が入来データから新データ
・ブロックを記憶した後、ターゲットDASD500は
2次イニシエータとして、限定的役割を請け負う。プロ
セッサ504はTRANSFERコマンドを発行して、
XOR結果をインタフェース502及びバス410を介
して、指定2次ターゲットに転送する。
・ブロックを記憶した後、ターゲットDASD500は
2次イニシエータとして、限定的役割を請け負う。プロ
セッサ504はTRANSFERコマンドを発行して、
XOR結果をインタフェース502及びバス410を介
して、指定2次ターゲットに転送する。
【0049】TW:このコマンドはDASD500に、
入来データをその記憶装置506に書込み、また入来デ
ータを2次ターゲットに転送するように指令する。特
に、TWコマンドに応答して、インタフェース502が
入来データを受信し、記憶装置506が入来データを記
憶し、DASD500が2次イニシエータとして限定的
役割を請け負う。プロセッサ504はTRANSFER
コマンドを発行し、データを2次ターゲットに転送す
る。
入来データをその記憶装置506に書込み、また入来デ
ータを2次ターゲットに転送するように指令する。特
に、TWコマンドに応答して、インタフェース502が
入来データを受信し、記憶装置506が入来データを記
憶し、DASD500が2次イニシエータとして限定的
役割を請け負う。プロセッサ504はTRANSFER
コマンドを発行し、データを2次ターゲットに転送す
る。
【0050】READ:このコマンドはターゲットDA
SD500に、その記憶装置506の指定アドレスから
データを読出し、読出したデータをバス410を介して
2次ターゲットに転送するように指令する。READコ
マンドは、データを読出す記憶装置506のアドレスを
指定する。記憶装置506から読出されたデータは、図
示の態様では、バッファ508に転送され、次にインタ
フェース502を介して、2次ターゲットに転送され
る。
SD500に、その記憶装置506の指定アドレスから
データを読出し、読出したデータをバス410を介して
2次ターゲットに転送するように指令する。READコ
マンドは、データを読出す記憶装置506のアドレスを
指定する。記憶装置506から読出されたデータは、図
示の態様では、バッファ508に転送され、次にインタ
フェース502を介して、2次ターゲットに転送され
る。
【0051】TRANSFER:このコマンドはデータ
発信元により発行され、ターゲットDASD500に、
データ発信元からのデータをその記憶装置506に受信
するように準備させる。2次ターゲットが転送データを
受信すると、2次ターゲットは、以前に制御装置402
により指令されたオペレーションを完了することができ
る。より詳細には、TRANSFERコマンドは第1の
DASDにより、制御装置402により以前に発行され
たコマンドを完了するために使用され、それにより、第
2のDASDが第1のDASDからデータを受信するこ
とを支援する。特に、この態様では、第1のDASDが
TRANSFERコマンドを第2のDASDに送信し、
データが第1のDASDから第2のDASDへ転送され
ることを事前に警告する。
発信元により発行され、ターゲットDASD500に、
データ発信元からのデータをその記憶装置506に受信
するように準備させる。2次ターゲットが転送データを
受信すると、2次ターゲットは、以前に制御装置402
により指令されたオペレーションを完了することができ
る。より詳細には、TRANSFERコマンドは第1の
DASDにより、制御装置402により以前に発行され
たコマンドを完了するために使用され、それにより、第
2のDASDが第1のDASDからデータを受信するこ
とを支援する。特に、この態様では、第1のDASDが
TRANSFERコマンドを第2のDASDに送信し、
データが第1のDASDから第2のDASDへ転送され
ることを事前に警告する。
【0052】包括的(comprehensive)マスタ・オペレ
ーション:上述のコマンド・セットは、特定の結果を獲
得するために、個々のDASDに転送される個々のコマ
ンドのグループを含む。より重要な点は、これらのコマ
ンドの内の選択コマンドを共通体系として複数DASD
に発行することにより、制御装置402がDASD内で
包括的マスタ・オペレーションを開始することができ、
実際に最小の作業負荷が制御装置402により実行され
ることである。本発明の重要な特長の1つは、以降で詳
述されるように、特定のマスタ・オペレーションがDA
SD404乃至407を通じて、データの"デイジー・
チェイン"転送を有利に使用しうることである。デイジ
ー・チェイン・データ転送により、データは各DASD
を通じて直列に渡される。すなわち、イニシエータDA
SDから開始し、複数の中間DASDを通過し、最終的
に受信側DASDに到来する。好適には、データはデイ
ジー・チェイン内の各DASDを通じて1度だけ転送さ
れる。後述されるように、特定のケースでは、DASD
がデータをその転送以前に処理し、また他のケースで
は、DASDがデータを処理すること無く、単に転送す
る。すなわち、コンジット(conduit)として機能す
る。この処理の例として、各中間DASDが、デイジー
・チェイン内の直前のDASDから受信されるデータ、
並びに制御装置402またはその中間DASDの記憶装
置から受信される別のデータ項目に対して、XOR演算
を実行する。このように、本発明のデイジー・チェイン
転送はDASD間のXORタスクについて述べ、それに
より制御装置402の負荷を軽減し、どのDASDも不
均等な負荷を負わないことを保証する。
ーション:上述のコマンド・セットは、特定の結果を獲
得するために、個々のDASDに転送される個々のコマ
ンドのグループを含む。より重要な点は、これらのコマ
ンドの内の選択コマンドを共通体系として複数DASD
に発行することにより、制御装置402がDASD内で
包括的マスタ・オペレーションを開始することができ、
実際に最小の作業負荷が制御装置402により実行され
ることである。本発明の重要な特長の1つは、以降で詳
述されるように、特定のマスタ・オペレーションがDA
SD404乃至407を通じて、データの"デイジー・
チェイン"転送を有利に使用しうることである。デイジ
ー・チェイン・データ転送により、データは各DASD
を通じて直列に渡される。すなわち、イニシエータDA
SDから開始し、複数の中間DASDを通過し、最終的
に受信側DASDに到来する。好適には、データはデイ
ジー・チェイン内の各DASDを通じて1度だけ転送さ
れる。後述されるように、特定のケースでは、DASD
がデータをその転送以前に処理し、また他のケースで
は、DASDがデータを処理すること無く、単に転送す
る。すなわち、コンジット(conduit)として機能す
る。この処理の例として、各中間DASDが、デイジー
・チェイン内の直前のDASDから受信されるデータ、
並びに制御装置402またはその中間DASDの記憶装
置から受信される別のデータ項目に対して、XOR演算
を実行する。このように、本発明のデイジー・チェイン
転送はDASD間のXORタスクについて述べ、それに
より制御装置402の負荷を軽減し、どのDASDも不
均等な負荷を負わないことを保証する。
【0053】図6乃至図11に示されるように、これら
の包括的マスタ・オペレーションには、UPDATE、REGENE
RATE、REBUILD、UPDATE(CACHED DATA)、UPDATE(FAIL
ED DASD)、及びWRITE STRIPEが含まれる。
の包括的マスタ・オペレーションには、UPDATE、REGENE
RATE、REBUILD、UPDATE(CACHED DATA)、UPDATE(FAIL
ED DASD)、及びWRITE STRIPEが含まれる。
【0054】UPDATE(更新):このオペレーションは一
般に、新たなデータ・ブロックをターゲットDASDに
書込み、新たなデータに対応するパリティ・ビットを更
新する。更新書込み(UPDATE WRITE)オペレーションに
ついて、図6を参照して詳細に説明しよう。図6は、制
御装置601及びDASD602乃至605を含むデー
タ記憶システム600を示す。DASD605はパリテ
ィDASDとして指定される。しかしながら、各DAS
Dの特定部分を、他のディスクDASDに対応するパリ
ティ・ビットを記憶するように割当ててもよい。ここで
は説明の都合上、システム600が、パリティ情報を専
用に記憶する特定のDASD605を有するものとす
る。
般に、新たなデータ・ブロックをターゲットDASDに
書込み、新たなデータに対応するパリティ・ビットを更
新する。更新書込み(UPDATE WRITE)オペレーションに
ついて、図6を参照して詳細に説明しよう。図6は、制
御装置601及びDASD602乃至605を含むデー
タ記憶システム600を示す。DASD605はパリテ
ィDASDとして指定される。しかしながら、各DAS
Dの特定部分を、他のディスクDASDに対応するパリ
ティ・ビットを記憶するように割当ててもよい。ここで
は説明の都合上、システム600が、パリティ情報を専
用に記憶する特定のDASD605を有するものとす
る。
【0055】制御装置601は、XTWコマンド608
及び新たなデータ・ブロック610をDASD602
に、またXWコマンド609をDASD605に、次の
シーケンスの実行に適切なパラメータと一緒に送信する
ことにより、更新オペレーションを開始する。上述のX
TWコマンドに従い、DASD602が新たなデータ6
10及びその記憶装置からの対応データに対して、XO
R演算を実行し、XOR結果615を生成する。次にD
ASD602は新たなデータ610をその記憶装置に書
込み、XOR結果をパリティDASD605に転送す
る。パリティDASD605は受信XWコマンド609
に従い、受信XOR結果615及びその記憶装置からの
読出しデータに対してXOR演算を実行し、このXOR
演算結果をその記憶装置に書込む。
及び新たなデータ・ブロック610をDASD602
に、またXWコマンド609をDASD605に、次の
シーケンスの実行に適切なパラメータと一緒に送信する
ことにより、更新オペレーションを開始する。上述のX
TWコマンドに従い、DASD602が新たなデータ6
10及びその記憶装置からの対応データに対して、XO
R演算を実行し、XOR結果615を生成する。次にD
ASD602は新たなデータ610をその記憶装置に書
込み、XOR結果をパリティDASD605に転送す
る。パリティDASD605は受信XWコマンド609
に従い、受信XOR結果615及びその記憶装置からの
読出しデータに対してXOR演算を実行し、このXOR
演算結果をその記憶装置に書込む。
【0056】このように、新たなデータ・ブロック61
0がDASD602に書込まれ、対応パリティがパリテ
ィDASD605内で更新される。
0がDASD602に書込まれ、対応パリティがパリテ
ィDASD605内で更新される。
【0057】REGENERATE(再生):REGENERATEコマンド
が図7に示され、ここでデータ記憶システム700は制
御装置701及びDASD702乃至706を含み、D
ASD706は故障している。制御装置701は、RE
ADコマンド708をDASD702に、またXTコマ
ンド710乃至712をDASD703乃至705に、
次のシーケンスの実行に適切なパラメータと一緒に送信
することにより、再生オペレーションを開始する。上述
のREADコマンドに従い、DASD702がコマンド
708により要求されるデータ・ブロックをその記憶装
置から読出し、それをDASD703に転送する。各D
ASD703乃至704が別のDASDからデータ・ブ
ロックを受信すると、それらはそのデータ・ブロック及
びその記憶装置からの対応データに対してXOR演算を
実行し、XOR結果を次のDASDに順番に転送する。
DASD705の場合には、XOR結果は制御装置70
1に返送される。コマンド708、710乃至712に
付随して制御装置701により発行されるパラメータ
は、DASD702乃至705間のデータ転送の順序を
決定する(例えばDASD702からDASD703
へ、次にDASD704へなど)。
が図7に示され、ここでデータ記憶システム700は制
御装置701及びDASD702乃至706を含み、D
ASD706は故障している。制御装置701は、RE
ADコマンド708をDASD702に、またXTコマ
ンド710乃至712をDASD703乃至705に、
次のシーケンスの実行に適切なパラメータと一緒に送信
することにより、再生オペレーションを開始する。上述
のREADコマンドに従い、DASD702がコマンド
708により要求されるデータ・ブロックをその記憶装
置から読出し、それをDASD703に転送する。各D
ASD703乃至704が別のDASDからデータ・ブ
ロックを受信すると、それらはそのデータ・ブロック及
びその記憶装置からの対応データに対してXOR演算を
実行し、XOR結果を次のDASDに順番に転送する。
DASD705の場合には、XOR結果は制御装置70
1に返送される。コマンド708、710乃至712に
付随して制御装置701により発行されるパラメータ
は、DASD702乃至705間のデータ転送の順序を
決定する(例えばDASD702からDASD703
へ、次にDASD704へなど)。
【0058】このように、故障DASD706の所望の
ロケーションからのデータが、DASD702乃至70
5内のデイジー・チェインXOR計算により復元され、
制御装置701に提供される。
ロケーションからのデータが、DASD702乃至70
5内のデイジー・チェインXOR計算により復元され、
制御装置701に提供される。
【0059】REBUILD(復元):REBUILDコマンドが図8
に示され、ここでデータ記憶システム800は制御装置
801及びDASD802乃至805を含む。DASD
805は、復元されなければならないデータを有するド
ライブとして指定される。制御装置801は、READ
コマンド808をDASD802に送信し、XTコマン
ド810乃至811をDASD803乃至804に送信
し、WRITEコマンド814をDASD805に送信
することにより、復元オペレーションを開始する。全て
のコマンドは、続くシーケンスの実行に適切なパラメー
タを添付される。上述のREADコマンドに従い、DA
SD802はREADコマンド808により要求される
データを、その記憶装置から読出し、それをDASD8
03に転送する。DASD803がデータ・ブロックを
DASD802から受信すると、これはこのデータ・ブ
ロック及びその記憶装置からの対応データにXOR演算
を実行し、XOR結果を次のDASD804に順番に転
送する。DASD804はDASD803と同様なオペ
レーションを実行する。DASD805は単にXOR結
果をDASD804から受信し、その結果を自身の記憶
装置(すなわちDASD805の記憶装置)に記憶す
る。
に示され、ここでデータ記憶システム800は制御装置
801及びDASD802乃至805を含む。DASD
805は、復元されなければならないデータを有するド
ライブとして指定される。制御装置801は、READ
コマンド808をDASD802に送信し、XTコマン
ド810乃至811をDASD803乃至804に送信
し、WRITEコマンド814をDASD805に送信
することにより、復元オペレーションを開始する。全て
のコマンドは、続くシーケンスの実行に適切なパラメー
タを添付される。上述のREADコマンドに従い、DA
SD802はREADコマンド808により要求される
データを、その記憶装置から読出し、それをDASD8
03に転送する。DASD803がデータ・ブロックを
DASD802から受信すると、これはこのデータ・ブ
ロック及びその記憶装置からの対応データにXOR演算
を実行し、XOR結果を次のDASD804に順番に転
送する。DASD804はDASD803と同様なオペ
レーションを実行する。DASD805は単にXOR結
果をDASD804から受信し、その結果を自身の記憶
装置(すなわちDASD805の記憶装置)に記憶す
る。
【0060】このように、DASD805の所望のロケ
ーションからのデータが、DASD803乃至804の
デイジー・チェインXOR計算により復元され、DAS
D805の適切なロケーションに書き戻される。上述の
再生オペレーションと同様、コマンド808、810乃
至811及び814に付随して、制御装置801により
発行されるパラメータが、DASD802乃至805間
のデータ転送の順序を決定する。
ーションからのデータが、DASD803乃至804の
デイジー・チェインXOR計算により復元され、DAS
D805の適切なロケーションに書き戻される。上述の
再生オペレーションと同様、コマンド808、810乃
至811及び814に付随して、制御装置801により
発行されるパラメータが、DASD802乃至805間
のデータ転送の順序を決定する。
【0061】UPDATE(CACHED DATA)(キャッシュ・デー
タによる更新):UPDATE(CACHED DATA)コマンドが図9
に示され、ここでデータ記憶システム900は、制御装
置901及びDASD902乃至905を含む。DAS
D905はパリティDASDとして指定される。しかし
ながら、各DASDの特定部分を、他のDASDに対応
するパリティ・ビットを記憶するように割当ててもよ
い。ここでは説明の都合上、システム900が、パリテ
ィ情報を専用に記憶する特定のDASD905を有する
ものとする。
タによる更新):UPDATE(CACHED DATA)コマンドが図9
に示され、ここでデータ記憶システム900は、制御装
置901及びDASD902乃至905を含む。DAS
D905はパリティDASDとして指定される。しかし
ながら、各DASDの特定部分を、他のDASDに対応
するパリティ・ビットを記憶するように割当ててもよ
い。ここでは説明の都合上、システム900が、パリテ
ィ情報を専用に記憶する特定のDASD905を有する
ものとする。
【0062】キャッシュ・データによる更新オペレーシ
ョンは、一般に、新たなデータ・ブロックをターゲット
DASD902に記憶することにより、ターゲットDA
SDを更新し、それに従いパリティDASD905を更
新する。しかしながら、図6の更新オペレーションと異
なり、新たなデータ・ブロックにより置換される旧デー
タ・ブロックが、以前に制御装置901にキャッシュさ
れている。従って、ターゲットDASD902は旧デー
タをその記憶装置から読出す必要はなく、オペレーショ
ンはより迅速に実行される。
ョンは、一般に、新たなデータ・ブロックをターゲット
DASD902に記憶することにより、ターゲットDA
SDを更新し、それに従いパリティDASD905を更
新する。しかしながら、図6の更新オペレーションと異
なり、新たなデータ・ブロックにより置換される旧デー
タ・ブロックが、以前に制御装置901にキャッシュさ
れている。従って、ターゲットDASD902は旧デー
タをその記憶装置から読出す必要はなく、オペレーショ
ンはより迅速に実行される。
【0063】制御装置901は、XTW/NRコマンド
908、新たなデータ・ブロック912、及び旧データ
・ブロック913をDASD902に送信することによ
り、キャッシュ・データによる更新オペレーションを開
始する。制御装置901はXWコマンド910をパリテ
ィDASD905に送信する。これらのコマンドは、続
くシーケンスの実行に適切なパラメータと一緒に送信さ
れる。上述のXTW/NRコマンドに従い、DASD9
02がデータ・ブロック912乃至913に対してXO
R演算を実行し、新たなデータ・ブロック912をDA
SD902の記憶装置に書込み、XOR結果をパリティ
DASD905に転送する。パリティDASD905は
XWコマンド(上述)910に従い、受信XOR結果及
びその記憶装置からの対応データに対してXOR演算を
実行し、最終XOR結果を計算する。次にパリティDA
SD905が最終XOR結果を、その記憶装置の対応ロ
ケーションに記憶する。
908、新たなデータ・ブロック912、及び旧データ
・ブロック913をDASD902に送信することによ
り、キャッシュ・データによる更新オペレーションを開
始する。制御装置901はXWコマンド910をパリテ
ィDASD905に送信する。これらのコマンドは、続
くシーケンスの実行に適切なパラメータと一緒に送信さ
れる。上述のXTW/NRコマンドに従い、DASD9
02がデータ・ブロック912乃至913に対してXO
R演算を実行し、新たなデータ・ブロック912をDA
SD902の記憶装置に書込み、XOR結果をパリティ
DASD905に転送する。パリティDASD905は
XWコマンド(上述)910に従い、受信XOR結果及
びその記憶装置からの対応データに対してXOR演算を
実行し、最終XOR結果を計算する。次にパリティDA
SD905が最終XOR結果を、その記憶装置の対応ロ
ケーションに記憶する。
【0064】このように、新たなデータ・ブロック91
2がDASD902に書込まれ、対応パリティがパリテ
ィDASD905内で更新される。
2がDASD902に書込まれ、対応パリティがパリテ
ィDASD905内で更新される。
【0065】UPDATE(FAILED DASD)(故障DASD状況
の更新):このオペレーションは一般に、DASDの故
障のために更新できないデータ・ブロックに対応するパ
リティ・ビットを更新する。図10を参照して、故障D
ASD状況の更新オペレーションをより詳しく説明しよ
う。図10において、データ記憶システム1000は、
制御装置1001及びDASD1002乃至1005を
含む。DASD1005はパリティDASDとして指定
される。しかしながら、各DASDの特定部分を、他の
DASDに対応するパリティ・ビットを記憶するように
割当ててもよい。ここでは説明の都合上、システム10
00が、パリティ情報を専用に記憶する特定のDASD
1005を有するものとする。
の更新):このオペレーションは一般に、DASDの故
障のために更新できないデータ・ブロックに対応するパ
リティ・ビットを更新する。図10を参照して、故障D
ASD状況の更新オペレーションをより詳しく説明しよ
う。図10において、データ記憶システム1000は、
制御装置1001及びDASD1002乃至1005を
含む。DASD1005はパリティDASDとして指定
される。しかしながら、各DASDの特定部分を、他の
DASDに対応するパリティ・ビットを記憶するように
割当ててもよい。ここでは説明の都合上、システム10
00が、パリティ情報を専用に記憶する特定のDASD
1005を有するものとする。
【0066】制御装置1001は、XTコマンド100
8及び新データ・ブロック1009をターゲットDAS
D1002に送信し、XTコマンド1010乃至101
1をDASD1003乃至1004に送信し、WRIT
Eコマンド1012をDASD1005に送信すること
により、故障DASD状況の更新オペレーションを開始
する。全てのコマンドは、続くシーケンスの実行に適切
なパラメータを付随される。上述のXTコマンドに従
い、最初のDASD1002は、新たなデータ1009
及びその記憶装置からの対応データに対してXOR演算
を実行し、XOR結果をDASD1003に転送する。
8及び新データ・ブロック1009をターゲットDAS
D1002に送信し、XTコマンド1010乃至101
1をDASD1003乃至1004に送信し、WRIT
Eコマンド1012をDASD1005に送信すること
により、故障DASD状況の更新オペレーションを開始
する。全てのコマンドは、続くシーケンスの実行に適切
なパラメータを付随される。上述のXTコマンドに従
い、最初のDASD1002は、新たなデータ1009
及びその記憶装置からの対応データに対してXOR演算
を実行し、XOR結果をDASD1003に転送する。
【0067】同様に、DASD1003乃至1004
は、それぞれDASD1002、1003から受信され
るデータ、及びそれらの記憶装置からの対応データに対
して、XOR演算を実行する。これらのXOR結果は、
図10に示されるように、それぞれDASD1004及
び1005に転送される。上述のWRITEコマンドに
従い、パリティDASD1005がDASD1004か
らXOR結果を受信し、それをDASD1005の記憶
装置に書込むことにより、この結果を記憶する。
は、それぞれDASD1002、1003から受信され
るデータ、及びそれらの記憶装置からの対応データに対
して、XOR演算を実行する。これらのXOR結果は、
図10に示されるように、それぞれDASD1004及
び1005に転送される。上述のWRITEコマンドに
従い、パリティDASD1005がDASD1004か
らXOR結果を受信し、それをDASD1005の記憶
装置に書込むことにより、この結果を記憶する。
【0068】このように、新たなデータ・ブロック10
09が故障DASD1006に書込まれないものの、D
ASD1002乃至1004のデイジー・チェインXO
R計算により、パリティDASD1005が更新され
る。
09が故障DASD1006に書込まれないものの、D
ASD1002乃至1004のデイジー・チェインXO
R計算により、パリティDASD1005が更新され
る。
【0069】WRITE STRIPE(ストライプ書込み):この
オペレーションは一般に、新データ・ブロックの"スト
ライプ"をDASDに書込み、新データ・ブロックに対
応するパリティ・ビットを更新する。図11を参照し
て、ストライプ書込みオペレーションを詳細に説明しよ
う。データ記憶システム1100は、制御装置1101
及びDASD1102乃至1105を含み、DASD1
105はパリティDASDとして指定される。しかしな
がら、各DASDの特定部分を、他のDASDに対応す
るパリティ・ビットを記憶するように割当ててもよい。
ここでは説明の都合上、システム1100が、パリティ
情報を専用に記憶する特定のDASD1105を有する
ものとする。
オペレーションは一般に、新データ・ブロックの"スト
ライプ"をDASDに書込み、新データ・ブロックに対
応するパリティ・ビットを更新する。図11を参照し
て、ストライプ書込みオペレーションを詳細に説明しよ
う。データ記憶システム1100は、制御装置1101
及びDASD1102乃至1105を含み、DASD1
105はパリティDASDとして指定される。しかしな
がら、各DASDの特定部分を、他のDASDに対応す
るパリティ・ビットを記憶するように割当ててもよい。
ここでは説明の都合上、システム1100が、パリティ
情報を専用に記憶する特定のDASD1105を有する
ものとする。
【0070】制御装置1101は、TWコマンド110
8及び新データ・ブロック1109をDASD1102
に送信し、XTW/NRコマンド1110及び新データ
・ブロック1111をDASD1103に送信し、XT
W/NRコマンド1112及び新データ・ブロック11
13をDASD1104に送信し、WRITEコマンド
1114をDASD1105に送信することにより、ス
トライプ書込みオペレーションを開始する。これらのコ
マンドは、続くシーケンスの実行に適切なパラメータと
一緒に送信される。上述のTWコマンドに従い、DAS
D1102はデータ・ブロック1109を受信し、それ
をDASD1102に対応する記憶装置に記憶する。D
ASD1102は更に受信データ・ブロック1109を
DASD1103に転送する。上述のXTW/NRコマ
ンドに従い、DASD1103は、新データ・ブロック
1111及びDASD1102から転送されるデータ・
ブロックを受信し、これら2つのデータ・ブロックに対
してXOR演算を実行する。DASD1103もまた新
データ・ブロック1111をその記憶装置に書込み、そ
のXOR結果をDASD1104に転送する。同様に、
DASD1104は、新データ・ブロック1113及び
DASD1103から転送されるデータ・ブロックを受
信し、これら2つのデータ・ブロックに対してXOR演
算を実行する。DASD1104もまた新データ・ブロ
ック1113をその記憶装置に書込み、そのXOR結果
をDASD1105に転送する。WRITEコマンド1
114に従い、パリティDASD1105がDASD1
104から受信されるXOR結果を、パリティDASD
1105の記憶装置に書込む。
8及び新データ・ブロック1109をDASD1102
に送信し、XTW/NRコマンド1110及び新データ
・ブロック1111をDASD1103に送信し、XT
W/NRコマンド1112及び新データ・ブロック11
13をDASD1104に送信し、WRITEコマンド
1114をDASD1105に送信することにより、ス
トライプ書込みオペレーションを開始する。これらのコ
マンドは、続くシーケンスの実行に適切なパラメータと
一緒に送信される。上述のTWコマンドに従い、DAS
D1102はデータ・ブロック1109を受信し、それ
をDASD1102に対応する記憶装置に記憶する。D
ASD1102は更に受信データ・ブロック1109を
DASD1103に転送する。上述のXTW/NRコマ
ンドに従い、DASD1103は、新データ・ブロック
1111及びDASD1102から転送されるデータ・
ブロックを受信し、これら2つのデータ・ブロックに対
してXOR演算を実行する。DASD1103もまた新
データ・ブロック1111をその記憶装置に書込み、そ
のXOR結果をDASD1104に転送する。同様に、
DASD1104は、新データ・ブロック1113及び
DASD1103から転送されるデータ・ブロックを受
信し、これら2つのデータ・ブロックに対してXOR演
算を実行する。DASD1104もまた新データ・ブロ
ック1113をその記憶装置に書込み、そのXOR結果
をDASD1105に転送する。WRITEコマンド1
114に従い、パリティDASD1105がDASD1
104から受信されるXOR結果を、パリティDASD
1105の記憶装置に書込む。
【0071】このように、各データ・ブロックが対応D
ASDドライブ1102乃至1104に書込まれ、対応
パリティ・ビットがDASD1102乃至1104のデ
イジー・チェインXOR計算により更新され、更新パリ
ティ・ビットがパリティDASD1105に記憶され
る。
ASDドライブ1102乃至1104に書込まれ、対応
パリティ・ビットがDASD1102乃至1104のデ
イジー・チェインXOR計算により更新され、更新パリ
ティ・ビットがパリティDASD1105に記憶され
る。
【0072】他の包括的マスタオペレーション:上述の
包括的マスタ・オペレーションに加え、ここで述べられ
るコマンド・セットが、本発明のデータ記憶システムと
一緒に、様々な他のオペレーションを実行するために使
用されうる。更に、新たなコマンド及びここで述べられ
るコマンドの適応が、本発明の範囲内で、データ記憶シ
ステムにおいて実現されうる。こうしたオペレーション
及びコマンドは、当業者の能力の範囲内で達成されよ
う。また、ここでは本発明の特定の実施例についてのみ
述べてきたが、当業者には本発明の範囲から逸脱するこ
と無しに、様々な変更及び他の実施例が実現可能である
ことが理解されよう。
包括的マスタ・オペレーションに加え、ここで述べられ
るコマンド・セットが、本発明のデータ記憶システムと
一緒に、様々な他のオペレーションを実行するために使
用されうる。更に、新たなコマンド及びここで述べられ
るコマンドの適応が、本発明の範囲内で、データ記憶シ
ステムにおいて実現されうる。こうしたオペレーション
及びコマンドは、当業者の能力の範囲内で達成されよ
う。また、ここでは本発明の特定の実施例についてのみ
述べてきたが、当業者には本発明の範囲から逸脱するこ
と無しに、様々な変更及び他の実施例が実現可能である
ことが理解されよう。
【0073】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0074】(1)マシン読出し可能データを記憶する
装置で使用されるDASDであって、前記装置が制御装
置、複数のDASD、及び前記制御装置と前記DASD
を電気的に相互接続するバスを含み、前記複数のDAS
Dのうちの1つが、前記制御装置の各オペレーションに
おけるパリティDASDとして指定されるものにおい
て、マシン読出し可能データを記憶する記憶装置と、前
記バスに電気的に接続されるインタフェースと、前記イ
ンタフェース及び前記記憶装置に動作的に接続される少
なくとも1つのバッファと、前記バッファに電気的に接
続され、前記制御装置から前記インタフェースを介して
コマンドを受信し、該コマンドに応答して、前記バッフ
ァ内に記憶されるデータ項目を選択し、前記選択データ
項目に対してXOR演算を実行し、該XOR演算結果を
前記バスを介して、前記コマンドにより指定される、前
記DASDの1つまたは前記制御装置を含む宛先に送信
するプロセッサと、を含む、DASD。 (2)前記プロセッサがマイクロプロセッサを含む、上
記(1)記載のDASD。 (3)前記プロセッサがASICを含む、上記(1)記
載のDASD。 (4)前記プロセッサが個別回路要素のアセンブリから
成る論理回路を含む、上記(1)記載のDASD。 (5)前記記憶装置が、少なくとも1つの磁気記録ディ
スクを含むディスク・ドライブを含む、上記(1)記載
のDASD。 (6)前記インタフェースが直列インタフェースを含
む、上記(1)記載のDASD。 (7)前記インタフェースが並列インタフェースを含
む、上記(1)記載のDASD。 (8)バスにより相互接続される複数のメンバを含むデ
ータ記憶システムにおいて使用されるDASDであっ
て、前記メンバが前記制御装置及び前記複数のDASD
を含むものにおいて、前記バスに電気的に接続されるイ
ンタフェースと、データ記憶装置と、前記インタフェー
ス及び前記記憶装置に動作的に接続され、それらから受
信されるデータを選択的に記憶するバッファと、前記バ
ッファに電気的に接続され、前記制御装置から前記イン
タフェースを介して受信されるコマンドに応答して、次
のステップ、すなわち、前記バッファと前記インタフェ
ース間でデータを選択的に転送するステップ、前記記憶
装置と前記バッファ間でデータを交換するステップ、前
記バッファ内に含まれる前記選択データ項目に対してX
OR演算を実行するステップ、及び前記インタフェース
から選択される前記メンバにデータを転送するステップ
の少なくとも1つを実行するようにプログラムされるプ
ロセッサと、を含む、DASD。 (9)前記プロセッサが、前記制御装置からの少なくと
も1つの所定のコマンドに応答して、前記記憶装置から
選択データを読出し、該選択データを選択される前記メ
ンバに転送するステップを実行するようにプログラムさ
れる、上記(8)記載のDASD。 (10)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される前記選択データを前記記憶装置に
書込むステップを実行するようにプログラムされる、上
記(8)記載のDASD。 (11)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら選択データを読出し、前記インタフェースにより受信
されるデータ及び前記選択データに対してXOR演算を
実行し、該XOR演算結果を選択される前記メンバに転
送するステップを実行するようにプログラムされる、上
記(8)記載のDASD。 (12)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら前記選択データを読出し、前記インタフェースにより
受信されるデータ及び前記選択データに対してXOR演
算を実行し、該XOR演算結果を選択される前記メンバ
に転送し、前記インタフェースにより受信される前記デ
ータを前記記憶装置に書込むステップを実行するように
プログラムされる、上記(8)記載のDASD。 (13)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら前記選択データを読出し、前記インタフェースにより
受信されるデータ及び前記選択データに対してXOR演
算を実行し、該XOR演算結果を前記記憶装置に書込む
ステップを実行するようにプログラムされる、上記
(8)記載のDASD。 (14)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される前記選択データを前記記憶装置に
書込み、前記選択データを選択される前記メンバに転送
するステップを実行するようにプログラムされる、上記
(8)記載のDASD。 (15)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される2つのデータ項目に対してXOR
演算を実行し、該XOR演算結果を選択される前記メン
バに転送し、選択される一方の前記受信データ項目を前
記記憶装置に書込むステップを実行するようにプログラ
ムされる、上記(8)記載のDASD。 (16)マシン読出し可能データを記憶するシステムで
あって、制御装置及び複数のDASDを含む複数のメン
バと、前記メンバを電気的に相互接続してループを形成
するバスと、を含み、前記の各DASDが、マシン読出
し可能データを記憶する記憶装置と、前記バスに電気的
に接続されるインタフェースと、前記インタフェース及
び前記記憶装置に動作的に接続され、前記インタフェー
ス及び前記記憶装置から受信されるデータを選択的に記
憶する少なくとも1つのバッファと、前記バッファに電
気的に接続され、前記制御装置から前記インタフェース
を介してコマンドを受信し、所定のコマンドに応答し
て、前記バッファ内に記憶される前記データ項目を選択
し、前記選択データ項目に対してXOR演算を実行し、
該XOR演算結果を前記バスを介して、選択される前記
メンバを含む宛先に送信するXOR発生器と、を含む、
システム。 (17)前記プロセッサがマイクロプロセッサを含む、
上記(16)記載のシステム。 (18)前記プロセッサがASICを含む、上記(1
6)記載のシステム。 (19)前記プロセッサが個別回路要素のアセンブリか
ら成る論理回路を含む、上記(16)記載のシステム。 (20)前記記憶装置が、少なくとも1つの磁気記録デ
ィスクを含むディスク・ドライブを含む、上記(16)
記載のシステム。 (21)前記インタフェースが直列インタフェースを含
む、上記(16)記載のシステム。 (22)前記インタフェースが並列インタフェースを含
む、上記(16)記載のシステム。 (23)前記複数のDASDがRAIDプロトコルに従
い構成される、上記(16)記載のシステム。 (24)前記RAIDプロトコルがRAID−5を含
む、上記(23)記載のシステム。 (25)複数のXOR演算の実行を要求するタスクを実
行するように構成されるデータ記憶システムであって、
コマンドを転送する制御装置と、前記コマンドに応答し
て、前記XOR演算の実行をDASD間で分散すること
により、前記タスクを実行するDASDアレイと、前記
DASD及び前記制御装置を相互接続するバスと、を含
む、データ記憶システム。 (26)データ記憶システムを動作させる方法であっ
て、制御装置及び複数のDASDのストリングを含む複
数のメンバと、前記複数のメンバを電気的に相互接続す
るバスと、を含み、各DASDが、前記バスに電気的に
接続されるインタフェースと、データ記憶装置と、前記
インタフェース及び前記記憶装置に動作的に接続される
バッファと、前記バッファに動作的に接続されるプロセ
ッサと、を含み、使用可能な前記DASDを識別するス
テップと、前記制御装置から前記識別されたDASDに
個々にコマンドを送信するステップと、前記コマンドに
応答して、データが前記識別されたDASDを所定順序
でデイジー・チェイン転送されるように、前記識別され
たDASDを動作させるステップと、を含み、データが
イニシエータDASDから始まり、複数の中間DASD
を経由してレシーバDASDに至る前記各DASDによ
り、順次転送及び受信され、前記の各中間DASDが、
前記デイジー・チェインに沿って受信される前記データ
を前記所定順序に従う次のDASDに転送する以前に、
前記受信データ項目及び別のデータ項目に対して、XO
R演算を実行する、方法。 (27)前記別のデータ項目が前記制御装置から受信さ
れる前記データ項目を含む、上記(26)記載の方法。 (28)前記別のデータ項目が前記中間DASDのそれ
ぞれの前記記憶装置から読出される前記データ項目を含
む、上記(26)記載の方法。 (29)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、選択DASDの前記記憶装置から
前記データを読出し、読出したデータを選択される前記
メンバに転送するように、前記選択DASDをオペレー
トするステップを含む、上記(26)記載の方法。 (30)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記インタフェースにより受信さ
れる前記データを前記選択DASDの前記記憶装置に書
込むように、前記選択DASDをオペレートするステッ
プを含む、上記(26)記載の方法。 (31)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を選択される前記メンバに転送するように、前記選択
DASDをオペレートするステップを含む、上記(2
6)記載の方法。 (32)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を選択される前記メンバに転送し、前記選択DASD
の前記インタフェースにより受信された前記データを該
選択DASDの前記記憶装置に書込むように、前記選択
DASDをオペレートするステップを含む、上記(2
6)記載の方法。 (33)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を前記選択DASDの前記記憶装置に書込むように、
前記選択DASDをオペレートするステップを含む、上
記(26)記載の方法。 (34)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記インタフ
ェースにより受信される前記選択データを前記選択DA
SDの前記記憶装置に書込み、前記受信データを選択さ
れる前記メンバに転送するように、前記選択DASDを
オペレートするステップを含む、上記(26)記載の方
法。 (35)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記インタフ
ェースにより受信される2つの前記データ項目に対して
XOR演算を実行し、該XOR演算結果を選択される前
記メンバに転送し、選択される一方の前記受信データ項
目を前記選択DASDの前記記憶装置に書込むように、
前記選択DASDをオペレートするステップを含む、上
記(26)記載の方法。 (36)制御装置、DASDアレイ、及び前記DASD
及び前記制御装置を相互接続するバスを含むデータ記憶
システムにおいて、複数のXOR演算の実行を要求する
タスクを実行するように、前記データ記憶システムを動
作させる方法であって、前記制御装置から前記バスを介
して前記DASDにコマンドを転送するステップと、前
記コマンドに応答して、前記XOR演算の実行を前記D
ASD間で分散することにより、前記タスクを実行する
ように、前記DASDをオペレートするステップと、を
含む、方法。 (37)前記オペレーティング・ステップが、データを
前記DASD間で選択順に順次転送するように、前記D
ASDをオペレートするステップを含み、前記複数のD
ASDが前記選択順序に従い前記データを別のDASD
に転送する以前に、該データに対して前記XOR演算を
実行する、上記(36)記載の方法。 (38)前記オペレーティング・ステップが再生オペレ
ーションを含み、該再生オペレーションが、第1のDA
SDの第1の記憶ロケーションから第1のデータ・ブロ
ックを読出し、前記第1のデータ・ブロックを第2のD
ASDに転送するように、前記第1のDASDをオペレ
ートするステップと、前記第2のDASDをオペレート
するステップであって、前記第1のデータ・ブロックを
前記第1のDASDから受信するステップと、前記第2
のDASDの記憶ロケーションから、前記第1のデータ
・ブロックに対応する第2のデータ・ブロックを読出す
ステップと、前記第1及び前記第2のデータ・ブロック
に対してXOR演算を実行し、第1のXOR結果を生成
するステップと、前記第1のXOR結果を第3のDAS
Dに転送するステップと、を含む前記オペレーティング
・ステップと、前記第3のDASDをオペレートするス
テップであって、前記第1のXOR結果を前記第2のD
ASDから受信するステップと、前記第3のDASDの
記憶ロケーションから、前記第1及び前記第2のデータ
・ブロックに対応する第3のデータ・ブロックを読出す
ステップと、前記第1のXOR結果及び前記第3のデー
タ・ブロックに対してXOR演算を実行し、第2のXO
R結果を生成するステップと、前記第2のXOR結果を
前記制御装置に転送するステップと、を含む前記オペレ
ーティング・ステップと、を含む、上記(36)記載の
方法。 (39)前記オペレーティング・ステップが復元オペレ
ーションを含み、該復元オペレーションが、前記第1の
DASDの前記第1の記憶ロケーションから第1のデー
タ・ブロックを読出すように、前記第1のDASDをオ
ペレートするステップと、第2のDASDをオペレート
するステップであって、前記第1のデータ・ブロックを
前記第1のDASDから受信するステップと、前記第2
のDASDの記憶ロケーションから、前記第1のデータ
・ブロックに対応する前記第2のデータ・ブロックを読
出すステップと、前記第1及び前記第2のデータ・ブロ
ックに対してXOR演算を実行し、第1のXOR結果を
生成するステップと、前記第1のXOR結果を前記第3
のDASDに転送するステップと、を含む前記オペレー
ティング・ステップと、前記第3のDASDをオペレー
トするステップであって、前記第1のXOR結果を前記
第2のDASDから受信するステップと、前記第3のD
ASDの記憶ロケーションから、前記第1及び前記第2
のデータ・ブロックに対応する前記第3のデータ・ブロ
ックを読出すステップと、前記第1のXOR結果及び前
記第3のデータ・ブロックに対してXOR演算を実行
し、第2のXOR結果を生成するステップと、前記第2
のXOR結果を第4のDASDに転送するステップと、
を含む前記オペレーティング・ステップと、前記第4の
DASDをオペレートするステップであって、前記第2
のXOR結果を前記第3のDASDから受信するステッ
プと、前記第2のXOR結果を前記第4のDASDの記
憶ロケーションに書込むステップと、を含む前記オペレ
ーティング・ステップと、を含む、上記(36)記載の
方法。 (40)前記オペレーティング・ステップが更新オペレ
ーションを含み、該更新オペレーションが、前記第1の
データ・ブロックを前記制御装置から前記第1のDAS
Dの前記第1の記憶ロケーションに転送するステップ
と、前記第1のDASDをオペレートするステップであ
って、前記第1のデータ・ブロックを前記制御装置から
受信するステップと、前記第1のDASDの前記記憶ロ
ケーションから、前記第1のデータ・ブロックに対応す
る第2のデータ・ブロックを読出すステップと、前記第
1及び前記第2のデータ・ブロックに対してXOR演算
を実行し、第1のXOR結果を生成するステップと、前
記第1のXOR結果を前記第2のDASDに転送するス
テップと、を含む前記オペレーティング・ステップと、
前記第2のDASDをオペレートするステップであっ
て、前記第1のXOR結果を前記第1のDASDから受
信するステップと、前記第2のDASDの前記記憶ロケ
ーションから、前記第1及び前記第2のデータ・ブロッ
クに対応する前記第3のデータ・ブロックを読出すステ
ップと、前記第2及び前記第3のデータ・ブロックに対
してXOR演算を実行し、第2のXOR結果を生成する
ステップと、前記第2のXOR結果を前記第3のDAS
Dに転送するステップと、を含む前記オペレーティング
・ステップと、前記第3のDASDをオペレートするス
テップであって、前記第2のXOR結果を前記第2のD
ASDから受信するステップと、前記第2のXOR結果
を前記第3のDASDの記憶ロケーションに書込むステ
ップと、を含む前記オペレーティング・ステップと、を
含む、上記(36)記載の方法。 (41)前記オペレーティング・ステップがストライプ
書込みオペレーションを含み、該ストライプ書込みオペ
レーションが、第1のデータ・ブロックを前記制御装置
から前記第1のDASDの前記第1の記憶ロケーション
に転送するステップと、前記第1のDASDをオペレー
トするステップであって、前記第1のデータ・ブロック
を前記制御装置から受信するステップと、前記第1のデ
ータ・ブロックを前記第1のDASDの記憶ロケーショ
ンに書込むステップと、前記第1のデータ・ブロックを
前記第2のDASDに転送するステップと、を含む前記
オペレーティング・ステップと、前記第2のDASDを
オペレートするステップであって、前記第2のデータ・
ブロックを前記制御装置から受信するステップと、前記
第2のデータ・ブロックを前記第2のDASDの記憶ロ
ケーションに書込むステップと、前記第1及び前記第2
のデータ・ブロックに対してXOR演算を実行し、第1
のXOR結果を生成するステップと、前記第1のXOR
結果を前記第3のDASDに転送するステップと、を含
む前記オペレーティング・ステップと、前記第3のDA
SDをオペレートするステップであって、前記第3のデ
ータ・ブロックを前記制御装置から受信するステップ
と、前記第3のデータ・ブロックを前記第3のDASD
の記憶ロケーションに書込むステップと、前記第1のX
OR結果を前記第2のDASDから受信するステップ
と、前記第1のXOR結果及び前記第3のデータ・ブロ
ックに対してXOR演算を実行し、第2のXOR結果を
生成するステップと、前記第2のXOR結果を前記第4
のDASDに転送するステップと、を含む前記オペレー
ティング・ステップと、前記第4のDASDをオペレー
トするステップであって、前記第2のXOR結果を前記
第3のDASDから受信するステップと、前記第2のX
OR結果を前記第4のDASDの記憶ロケーションに書
込むステップと、を含む前記オペレーティング・ステッ
プと、を含む、上記(36)記載の方法。
装置で使用されるDASDであって、前記装置が制御装
置、複数のDASD、及び前記制御装置と前記DASD
を電気的に相互接続するバスを含み、前記複数のDAS
Dのうちの1つが、前記制御装置の各オペレーションに
おけるパリティDASDとして指定されるものにおい
て、マシン読出し可能データを記憶する記憶装置と、前
記バスに電気的に接続されるインタフェースと、前記イ
ンタフェース及び前記記憶装置に動作的に接続される少
なくとも1つのバッファと、前記バッファに電気的に接
続され、前記制御装置から前記インタフェースを介して
コマンドを受信し、該コマンドに応答して、前記バッフ
ァ内に記憶されるデータ項目を選択し、前記選択データ
項目に対してXOR演算を実行し、該XOR演算結果を
前記バスを介して、前記コマンドにより指定される、前
記DASDの1つまたは前記制御装置を含む宛先に送信
するプロセッサと、を含む、DASD。 (2)前記プロセッサがマイクロプロセッサを含む、上
記(1)記載のDASD。 (3)前記プロセッサがASICを含む、上記(1)記
載のDASD。 (4)前記プロセッサが個別回路要素のアセンブリから
成る論理回路を含む、上記(1)記載のDASD。 (5)前記記憶装置が、少なくとも1つの磁気記録ディ
スクを含むディスク・ドライブを含む、上記(1)記載
のDASD。 (6)前記インタフェースが直列インタフェースを含
む、上記(1)記載のDASD。 (7)前記インタフェースが並列インタフェースを含
む、上記(1)記載のDASD。 (8)バスにより相互接続される複数のメンバを含むデ
ータ記憶システムにおいて使用されるDASDであっ
て、前記メンバが前記制御装置及び前記複数のDASD
を含むものにおいて、前記バスに電気的に接続されるイ
ンタフェースと、データ記憶装置と、前記インタフェー
ス及び前記記憶装置に動作的に接続され、それらから受
信されるデータを選択的に記憶するバッファと、前記バ
ッファに電気的に接続され、前記制御装置から前記イン
タフェースを介して受信されるコマンドに応答して、次
のステップ、すなわち、前記バッファと前記インタフェ
ース間でデータを選択的に転送するステップ、前記記憶
装置と前記バッファ間でデータを交換するステップ、前
記バッファ内に含まれる前記選択データ項目に対してX
OR演算を実行するステップ、及び前記インタフェース
から選択される前記メンバにデータを転送するステップ
の少なくとも1つを実行するようにプログラムされるプ
ロセッサと、を含む、DASD。 (9)前記プロセッサが、前記制御装置からの少なくと
も1つの所定のコマンドに応答して、前記記憶装置から
選択データを読出し、該選択データを選択される前記メ
ンバに転送するステップを実行するようにプログラムさ
れる、上記(8)記載のDASD。 (10)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される前記選択データを前記記憶装置に
書込むステップを実行するようにプログラムされる、上
記(8)記載のDASD。 (11)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら選択データを読出し、前記インタフェースにより受信
されるデータ及び前記選択データに対してXOR演算を
実行し、該XOR演算結果を選択される前記メンバに転
送するステップを実行するようにプログラムされる、上
記(8)記載のDASD。 (12)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら前記選択データを読出し、前記インタフェースにより
受信されるデータ及び前記選択データに対してXOR演
算を実行し、該XOR演算結果を選択される前記メンバ
に転送し、前記インタフェースにより受信される前記デ
ータを前記記憶装置に書込むステップを実行するように
プログラムされる、上記(8)記載のDASD。 (13)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記記憶装置か
ら前記選択データを読出し、前記インタフェースにより
受信されるデータ及び前記選択データに対してXOR演
算を実行し、該XOR演算結果を前記記憶装置に書込む
ステップを実行するようにプログラムされる、上記
(8)記載のDASD。 (14)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される前記選択データを前記記憶装置に
書込み、前記選択データを選択される前記メンバに転送
するステップを実行するようにプログラムされる、上記
(8)記載のDASD。 (15)前記プロセッサが、前記制御装置からの少なく
とも1つの所定のコマンドに応答して、前記インタフェ
ースにより受信される2つのデータ項目に対してXOR
演算を実行し、該XOR演算結果を選択される前記メン
バに転送し、選択される一方の前記受信データ項目を前
記記憶装置に書込むステップを実行するようにプログラ
ムされる、上記(8)記載のDASD。 (16)マシン読出し可能データを記憶するシステムで
あって、制御装置及び複数のDASDを含む複数のメン
バと、前記メンバを電気的に相互接続してループを形成
するバスと、を含み、前記の各DASDが、マシン読出
し可能データを記憶する記憶装置と、前記バスに電気的
に接続されるインタフェースと、前記インタフェース及
び前記記憶装置に動作的に接続され、前記インタフェー
ス及び前記記憶装置から受信されるデータを選択的に記
憶する少なくとも1つのバッファと、前記バッファに電
気的に接続され、前記制御装置から前記インタフェース
を介してコマンドを受信し、所定のコマンドに応答し
て、前記バッファ内に記憶される前記データ項目を選択
し、前記選択データ項目に対してXOR演算を実行し、
該XOR演算結果を前記バスを介して、選択される前記
メンバを含む宛先に送信するXOR発生器と、を含む、
システム。 (17)前記プロセッサがマイクロプロセッサを含む、
上記(16)記載のシステム。 (18)前記プロセッサがASICを含む、上記(1
6)記載のシステム。 (19)前記プロセッサが個別回路要素のアセンブリか
ら成る論理回路を含む、上記(16)記載のシステム。 (20)前記記憶装置が、少なくとも1つの磁気記録デ
ィスクを含むディスク・ドライブを含む、上記(16)
記載のシステム。 (21)前記インタフェースが直列インタフェースを含
む、上記(16)記載のシステム。 (22)前記インタフェースが並列インタフェースを含
む、上記(16)記載のシステム。 (23)前記複数のDASDがRAIDプロトコルに従
い構成される、上記(16)記載のシステム。 (24)前記RAIDプロトコルがRAID−5を含
む、上記(23)記載のシステム。 (25)複数のXOR演算の実行を要求するタスクを実
行するように構成されるデータ記憶システムであって、
コマンドを転送する制御装置と、前記コマンドに応答し
て、前記XOR演算の実行をDASD間で分散すること
により、前記タスクを実行するDASDアレイと、前記
DASD及び前記制御装置を相互接続するバスと、を含
む、データ記憶システム。 (26)データ記憶システムを動作させる方法であっ
て、制御装置及び複数のDASDのストリングを含む複
数のメンバと、前記複数のメンバを電気的に相互接続す
るバスと、を含み、各DASDが、前記バスに電気的に
接続されるインタフェースと、データ記憶装置と、前記
インタフェース及び前記記憶装置に動作的に接続される
バッファと、前記バッファに動作的に接続されるプロセ
ッサと、を含み、使用可能な前記DASDを識別するス
テップと、前記制御装置から前記識別されたDASDに
個々にコマンドを送信するステップと、前記コマンドに
応答して、データが前記識別されたDASDを所定順序
でデイジー・チェイン転送されるように、前記識別され
たDASDを動作させるステップと、を含み、データが
イニシエータDASDから始まり、複数の中間DASD
を経由してレシーバDASDに至る前記各DASDによ
り、順次転送及び受信され、前記の各中間DASDが、
前記デイジー・チェインに沿って受信される前記データ
を前記所定順序に従う次のDASDに転送する以前に、
前記受信データ項目及び別のデータ項目に対して、XO
R演算を実行する、方法。 (27)前記別のデータ項目が前記制御装置から受信さ
れる前記データ項目を含む、上記(26)記載の方法。 (28)前記別のデータ項目が前記中間DASDのそれ
ぞれの前記記憶装置から読出される前記データ項目を含
む、上記(26)記載の方法。 (29)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、選択DASDの前記記憶装置から
前記データを読出し、読出したデータを選択される前記
メンバに転送するように、前記選択DASDをオペレー
トするステップを含む、上記(26)記載の方法。 (30)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記インタフェースにより受信さ
れる前記データを前記選択DASDの前記記憶装置に書
込むように、前記選択DASDをオペレートするステッ
プを含む、上記(26)記載の方法。 (31)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を選択される前記メンバに転送するように、前記選択
DASDをオペレートするステップを含む、上記(2
6)記載の方法。 (32)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を選択される前記メンバに転送し、前記選択DASD
の前記インタフェースにより受信された前記データを該
選択DASDの前記記憶装置に書込むように、前記選択
DASDをオペレートするステップを含む、上記(2
6)記載の方法。 (33)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記記憶装置
から前記選択データを読出し、前記選択DASDの前記
インタフェースにより受信される前記データ及び前記選
択データに対してXOR演算を実行し、該XOR演算結
果を前記選択DASDの前記記憶装置に書込むように、
前記選択DASDをオペレートするステップを含む、上
記(26)記載の方法。 (34)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記インタフ
ェースにより受信される前記選択データを前記選択DA
SDの前記記憶装置に書込み、前記受信データを選択さ
れる前記メンバに転送するように、前記選択DASDを
オペレートするステップを含む、上記(26)記載の方
法。 (35)前記制御装置からの少なくとも1つの前記所定
コマンドに応答して、前記選択DASDの前記インタフ
ェースにより受信される2つの前記データ項目に対して
XOR演算を実行し、該XOR演算結果を選択される前
記メンバに転送し、選択される一方の前記受信データ項
目を前記選択DASDの前記記憶装置に書込むように、
前記選択DASDをオペレートするステップを含む、上
記(26)記載の方法。 (36)制御装置、DASDアレイ、及び前記DASD
及び前記制御装置を相互接続するバスを含むデータ記憶
システムにおいて、複数のXOR演算の実行を要求する
タスクを実行するように、前記データ記憶システムを動
作させる方法であって、前記制御装置から前記バスを介
して前記DASDにコマンドを転送するステップと、前
記コマンドに応答して、前記XOR演算の実行を前記D
ASD間で分散することにより、前記タスクを実行する
ように、前記DASDをオペレートするステップと、を
含む、方法。 (37)前記オペレーティング・ステップが、データを
前記DASD間で選択順に順次転送するように、前記D
ASDをオペレートするステップを含み、前記複数のD
ASDが前記選択順序に従い前記データを別のDASD
に転送する以前に、該データに対して前記XOR演算を
実行する、上記(36)記載の方法。 (38)前記オペレーティング・ステップが再生オペレ
ーションを含み、該再生オペレーションが、第1のDA
SDの第1の記憶ロケーションから第1のデータ・ブロ
ックを読出し、前記第1のデータ・ブロックを第2のD
ASDに転送するように、前記第1のDASDをオペレ
ートするステップと、前記第2のDASDをオペレート
するステップであって、前記第1のデータ・ブロックを
前記第1のDASDから受信するステップと、前記第2
のDASDの記憶ロケーションから、前記第1のデータ
・ブロックに対応する第2のデータ・ブロックを読出す
ステップと、前記第1及び前記第2のデータ・ブロック
に対してXOR演算を実行し、第1のXOR結果を生成
するステップと、前記第1のXOR結果を第3のDAS
Dに転送するステップと、を含む前記オペレーティング
・ステップと、前記第3のDASDをオペレートするス
テップであって、前記第1のXOR結果を前記第2のD
ASDから受信するステップと、前記第3のDASDの
記憶ロケーションから、前記第1及び前記第2のデータ
・ブロックに対応する第3のデータ・ブロックを読出す
ステップと、前記第1のXOR結果及び前記第3のデー
タ・ブロックに対してXOR演算を実行し、第2のXO
R結果を生成するステップと、前記第2のXOR結果を
前記制御装置に転送するステップと、を含む前記オペレ
ーティング・ステップと、を含む、上記(36)記載の
方法。 (39)前記オペレーティング・ステップが復元オペレ
ーションを含み、該復元オペレーションが、前記第1の
DASDの前記第1の記憶ロケーションから第1のデー
タ・ブロックを読出すように、前記第1のDASDをオ
ペレートするステップと、第2のDASDをオペレート
するステップであって、前記第1のデータ・ブロックを
前記第1のDASDから受信するステップと、前記第2
のDASDの記憶ロケーションから、前記第1のデータ
・ブロックに対応する前記第2のデータ・ブロックを読
出すステップと、前記第1及び前記第2のデータ・ブロ
ックに対してXOR演算を実行し、第1のXOR結果を
生成するステップと、前記第1のXOR結果を前記第3
のDASDに転送するステップと、を含む前記オペレー
ティング・ステップと、前記第3のDASDをオペレー
トするステップであって、前記第1のXOR結果を前記
第2のDASDから受信するステップと、前記第3のD
ASDの記憶ロケーションから、前記第1及び前記第2
のデータ・ブロックに対応する前記第3のデータ・ブロ
ックを読出すステップと、前記第1のXOR結果及び前
記第3のデータ・ブロックに対してXOR演算を実行
し、第2のXOR結果を生成するステップと、前記第2
のXOR結果を第4のDASDに転送するステップと、
を含む前記オペレーティング・ステップと、前記第4の
DASDをオペレートするステップであって、前記第2
のXOR結果を前記第3のDASDから受信するステッ
プと、前記第2のXOR結果を前記第4のDASDの記
憶ロケーションに書込むステップと、を含む前記オペレ
ーティング・ステップと、を含む、上記(36)記載の
方法。 (40)前記オペレーティング・ステップが更新オペレ
ーションを含み、該更新オペレーションが、前記第1の
データ・ブロックを前記制御装置から前記第1のDAS
Dの前記第1の記憶ロケーションに転送するステップ
と、前記第1のDASDをオペレートするステップであ
って、前記第1のデータ・ブロックを前記制御装置から
受信するステップと、前記第1のDASDの前記記憶ロ
ケーションから、前記第1のデータ・ブロックに対応す
る第2のデータ・ブロックを読出すステップと、前記第
1及び前記第2のデータ・ブロックに対してXOR演算
を実行し、第1のXOR結果を生成するステップと、前
記第1のXOR結果を前記第2のDASDに転送するス
テップと、を含む前記オペレーティング・ステップと、
前記第2のDASDをオペレートするステップであっ
て、前記第1のXOR結果を前記第1のDASDから受
信するステップと、前記第2のDASDの前記記憶ロケ
ーションから、前記第1及び前記第2のデータ・ブロッ
クに対応する前記第3のデータ・ブロックを読出すステ
ップと、前記第2及び前記第3のデータ・ブロックに対
してXOR演算を実行し、第2のXOR結果を生成する
ステップと、前記第2のXOR結果を前記第3のDAS
Dに転送するステップと、を含む前記オペレーティング
・ステップと、前記第3のDASDをオペレートするス
テップであって、前記第2のXOR結果を前記第2のD
ASDから受信するステップと、前記第2のXOR結果
を前記第3のDASDの記憶ロケーションに書込むステ
ップと、を含む前記オペレーティング・ステップと、を
含む、上記(36)記載の方法。 (41)前記オペレーティング・ステップがストライプ
書込みオペレーションを含み、該ストライプ書込みオペ
レーションが、第1のデータ・ブロックを前記制御装置
から前記第1のDASDの前記第1の記憶ロケーション
に転送するステップと、前記第1のDASDをオペレー
トするステップであって、前記第1のデータ・ブロック
を前記制御装置から受信するステップと、前記第1のデ
ータ・ブロックを前記第1のDASDの記憶ロケーショ
ンに書込むステップと、前記第1のデータ・ブロックを
前記第2のDASDに転送するステップと、を含む前記
オペレーティング・ステップと、前記第2のDASDを
オペレートするステップであって、前記第2のデータ・
ブロックを前記制御装置から受信するステップと、前記
第2のデータ・ブロックを前記第2のDASDの記憶ロ
ケーションに書込むステップと、前記第1及び前記第2
のデータ・ブロックに対してXOR演算を実行し、第1
のXOR結果を生成するステップと、前記第1のXOR
結果を前記第3のDASDに転送するステップと、を含
む前記オペレーティング・ステップと、前記第3のDA
SDをオペレートするステップであって、前記第3のデ
ータ・ブロックを前記制御装置から受信するステップ
と、前記第3のデータ・ブロックを前記第3のDASD
の記憶ロケーションに書込むステップと、前記第1のX
OR結果を前記第2のDASDから受信するステップ
と、前記第1のXOR結果及び前記第3のデータ・ブロ
ックに対してXOR演算を実行し、第2のXOR結果を
生成するステップと、前記第2のXOR結果を前記第4
のDASDに転送するステップと、を含む前記オペレー
ティング・ステップと、前記第4のDASDをオペレー
トするステップであって、前記第2のXOR結果を前記
第3のDASDから受信するステップと、前記第2のX
OR結果を前記第4のDASDの記憶ロケーションに書
込むステップと、を含む前記オペレーティング・ステッ
プと、を含む、上記(36)記載の方法。
【図1】"外部XOR"アーキテクチャによるRAID装
置100のブロック図である。
置100のブロック図である。
【図2】"順次書込み"オペレーションを実行するために
要求されるオペレーションを示す、外部XOR RAI
D装置200のデータ・フロー図である。
要求されるオペレーションを示す、外部XOR RAI
D装置200のデータ・フロー図である。
【図3】"再生"オペレーションを実行するために要求さ
れるオペレーションを示す、外部XOR RAID装置
200のデータ・フロー図である。
れるオペレーションを示す、外部XOR RAID装置
200のデータ・フロー図である。
【図4】本発明によるデータ記憶システムのブロック図
である。
である。
【図5】本発明によるDASDのハードウェア要素と相
互接続を示す詳細ブロック図である。
互接続を示す詳細ブロック図である。
【図6】本発明による更新タスクを実行するためのオペ
レーション・シーケンスを示すデータ・フロー図であ
る。
レーション・シーケンスを示すデータ・フロー図であ
る。
【図7】本発明による再生タスクを実行するためのオペ
レーション・シーケンスを示すデータ・フロー図であ
る。
レーション・シーケンスを示すデータ・フロー図であ
る。
【図8】本発明による復元タスクを実行するためのオペ
レーション・シーケンスを示すデータ・フロー図であ
る。
レーション・シーケンスを示すデータ・フロー図であ
る。
【図9】本発明によるキャッシュ・データによる更新タ
スクを実行するためのオペレーション・シーケンスを示
すデータ・フロー図である。
スクを実行するためのオペレーション・シーケンスを示
すデータ・フロー図である。
【図10】本発明による故障DASD状況の更新タスク
を実行するためのオペレーション・シーケンスを示すデ
ータ・フロー図である。
を実行するためのオペレーション・シーケンスを示すデ
ータ・フロー図である。
【図11】本発明によるストライプ書込みタスクを実行
するためのオペレーション・シーケンスを示すデータ・
フロー図である。
するためのオペレーション・シーケンスを示すデータ・
フロー図である。
100 RAID装置 102 中央制御装置 104、105、106、204、205、206、4
04、405、406、407、500、602、60
3、604、702、703、704、705、80
2、803、804、805、902、903、90
4、1002、1003、1004、1102、110
3、1104 DASD 107、208、605、905、1005、1105
パリティDASD 110、410 バス 200 外部XOR装置 202、402、601、701、801、901、1
001、1101 制御装置 300、706、1006 故障DASD 308、309、310、610、912、913、1
009、1109、1111、1113 データ・ブロ
ック 400、600、700、800、900、1000、
1100 データ記憶システム 411、412、413、414、415、502 イ
ンタフェース 418、504 プロセッサ 420、506 データ記憶装置 422、508、514、516 バッファ 510、512 終端 518 ゲート
04、405、406、407、500、602、60
3、604、702、703、704、705、80
2、803、804、805、902、903、90
4、1002、1003、1004、1102、110
3、1104 DASD 107、208、605、905、1005、1105
パリティDASD 110、410 バス 200 外部XOR装置 202、402、601、701、801、901、1
001、1101 制御装置 300、706、1006 故障DASD 308、309、310、610、912、913、1
009、1109、1111、1113 データ・ブロ
ック 400、600、700、800、900、1000、
1100 データ記憶システム 411、412、413、414、415、502 イ
ンタフェース 418、504 プロセッサ 420、506 データ記憶装置 422、508、514、516 バッファ 510、512 終端 518 ゲート
Claims (41)
- 【請求項1】マシン読出し可能データを記憶する装置で
使用されるDASDであって、前記装置が制御装置、複
数のDASD、及び前記制御装置と前記DASDを電気
的に相互接続するバスを含み、前記複数のDASDのう
ちの1つが、前記制御装置の各オペレーションにおける
パリティDASDとして指定されるものにおいて、 マシン読出し可能データを記憶する記憶装置と、 前記バスに電気的に接続されるインタフェースと、 前記インタフェース及び前記記憶装置に動作的に接続さ
れる少なくとも1つのバッファと、 前記バッファに電気的に接続され、前記制御装置から前
記インタフェースを介してコマンドを受信し、該コマン
ドに応答して、前記バッファ内に記憶されるデータ項目
を選択し、前記選択データ項目に対してXOR演算を実
行し、該XOR演算結果を前記バスを介して、前記コマ
ンドにより指定される、前記DASDの1つまたは前記
制御装置を含む宛先に送信するプロセッサと、 を含む、DASD。 - 【請求項2】前記プロセッサがマイクロプロセッサを含
む、請求項1記載のDASD。 - 【請求項3】前記プロセッサがASICを含む、請求項
1記載のDASD。 - 【請求項4】前記プロセッサが個別回路要素のアセンブ
リから成る論理回路を含む、請求項1記載のDASD。 - 【請求項5】前記記憶装置が、少なくとも1つの磁気記
録ディスクを含むディスク・ドライブを含む、請求項1
記載のDASD。 - 【請求項6】前記インタフェースが直列インタフェース
を含む、請求項1記載のDASD。 - 【請求項7】前記インタフェースが並列インタフェース
を含む、請求項1記載のDASD。 - 【請求項8】バスにより相互接続される複数のメンバを
含むデータ記憶システムにおいて使用されるDASDで
あって、前記メンバが前記制御装置及び複数のDASD
を含むものにおいて、 前記バスに電気的に接続されるインタフェースと、 データ記憶装置と、 前記インタフェース及び前記記憶装置に動作的に接続さ
れ、それらから受信されるデータを選択的に記憶するバ
ッファと、 前記バッファに電気的に接続され、前記制御装置から前
記インタフェースを介して受信されるコマンドに応答し
て、次のステップ、すなわち、前記バッファと前記イン
タフェース間でデータを選択的に転送するステップ、前
記記憶装置と前記バッファ間でデータを交換するステッ
プ、前記バッファ内に含まれる前記選択データ項目に対
してXOR演算を実行するステップ、及び前記インタフ
ェースから選択される前記メンバにデータを転送するス
テップの少なくとも1つを実行するようにプログラムさ
れるプロセッサと、 を含む、DASD。 - 【請求項9】前記プロセッサが、前記制御装置からの少
なくとも1つの所定のコマンドに応答して、前記記憶装
置から選択データを読出し、該選択データを選択される
前記メンバに転送するステップを実行するようにプログ
ラムされる、請求項8記載のDASD。 - 【請求項10】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記イン
タフェースにより受信される前記選択データを前記記憶
装置に書込むステップを実行するようにプログラムされ
る、請求項8記載のDASD。 - 【請求項11】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記記憶
装置から選択データを読出し、前記インタフェースによ
り受信されるデータ及び前記選択データに対してXOR
演算を実行し、該XOR演算結果を選択される前記メン
バに転送するステップを実行するようにプログラムされ
る、請求項8記載のDASD。 - 【請求項12】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記記憶
装置から前記選択データを読出し、前記インタフェース
により受信されるデータ及び前記選択データに対してX
OR演算を実行し、該XOR演算結果を選択される前記
メンバに転送し、前記インタフェースにより受信される
前記データを前記記憶装置に書込むステップを実行する
ようにプログラムされる、請求項8記載のDASD。 - 【請求項13】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記記憶
装置から前記選択データを読出し、前記インタフェース
により受信されるデータ及び前記選択データに対してX
OR演算を実行し、該XOR演算結果を前記記憶装置に
書込むステップを実行するようにプログラムされる、請
求項8記載のDASD。 - 【請求項14】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記イン
タフェースにより受信される前記選択データを前記記憶
装置に書込み、前記選択データを選択される前記メンバ
に転送するステップを実行するようにプログラムされ
る、請求項8記載のDASD。 - 【請求項15】前記プロセッサが、前記制御装置からの
少なくとも1つの所定のコマンドに応答して、前記イン
タフェースにより受信される2つのデータ項目に対して
XOR演算を実行し、該XOR演算結果を選択される前
記メンバに転送し、選択される一方の前記受信データ項
目を前記記憶装置に書込むステップを実行するようにプ
ログラムされる、請求項8記載のDASD。 - 【請求項16】マシン読出し可能データを記憶するシス
テムであって、 制御装置及び複数のDASDを含む複数のメンバと、 前記メンバを電気的に相互接続してループを形成するバ
スと、 を含み、前記の各DASDが、 マシン読出し可能データを記憶する記憶装置と、 前記バスに電気的に接続されるインタフェースと、 前記インタフェース及び前記記憶装置に動作的に接続さ
れ、前記インタフェース及び前記記憶装置から受信され
るデータを選択的に記憶する少なくとも1つのバッファ
と、 前記バッファに電気的に接続され、前記制御装置から前
記インタフェースを介してコマンドを受信し、所定のコ
マンドに応答して、前記バッファ内に記憶される前記デ
ータ項目を選択し、前記選択データ項目に対してXOR
演算を実行し、該XOR演算結果を前記バスを介して、
選択される前記メンバを含む宛先に送信するXOR発生
器と、 を含む、システム。 - 【請求項17】前記プロセッサがマイクロプロセッサを
含む、請求項16記載のシステム。 - 【請求項18】前記プロセッサがASICを含む、請求
項16記載のシステム。 - 【請求項19】前記プロセッサが個別回路要素のアセン
ブリから成る論理回路を含む、請求項16記載のシステ
ム。 - 【請求項20】前記記憶装置が、少なくとも1つの磁気
記録ディスクを含むディスク・ドライブを含む、請求項
16記載のシステム。 - 【請求項21】前記インタフェースが直列インタフェー
スを含む、請求項16記載のシステム。 - 【請求項22】前記インタフェースが並列インタフェー
スを含む、請求項16記載のシステム。 - 【請求項23】前記複数のDASDがRAIDプロトコ
ルに従い構成される、請求項16記載のシステム。 - 【請求項24】前記RAIDプロトコルがRAID−5
を含む、請求項23記載のシステム。 - 【請求項25】複数のXOR演算の実行を要求するタス
クを実行するように構成されるデータ記憶システムであ
って、 コマンドを転送する制御装置と、 前記コマンドに応答して、前記XOR演算の実行をDA
SD間で分散することにより、前記タスクを実行するD
ASDアレイと、 前記DASD及び前記制御装置を相互接続するバスと、 を含む、データ記憶システム。 - 【請求項26】データ記憶システムを動作させる方法で
あって、 制御装置及び複数のDASDのストリングを含む複数の
メンバと、 前記複数のメンバを電気的に相互接続するバスと、 を含み、各DASDが、 前記バスに電気的に接続されるインタフェースと、 データ記憶装置と、 前記インタフェース及び前記記憶装置に動作的に接続さ
れるバッファと、 前記バッファに動作的に接続されるプロセッサと、 を含み、 使用可能な前記DASDを識別するステップと、 前記制御装置から前記識別されたDASDに個々にコマ
ンドを送信するステップと、 前記コマンドに応答して、データが前記識別されたDA
SDを所定順序でデイジー・チェイン転送されるよう
に、前記識別されたDASDを動作させるステップと、 を含み、データがイニシエータDASDから始まり、複
数の中間DASDを経由してレシーバDASDに至る前
記各DASDにより、順次転送及び受信され、前記の各
中間DASDが、前記デイジー・チェインに沿って受信
される前記データを前記所定順序に従う次のDASDに
転送する以前に、前記受信データ項目及び別のデータ項
目に対して、XOR演算を実行する、方法。 - 【請求項27】前記別のデータ項目が前記制御装置から
受信される前記データ項目を含む、請求項26記載の方
法。 - 【請求項28】前記別のデータ項目が前記中間DASD
のそれぞれの前記記憶装置から読出される前記データ項
目を含む、請求項26記載の方法。 - 【請求項29】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、選択DASDの前記記憶装
置から前記データを読出し、読出したデータを選択され
る前記メンバに転送するように、前記選択DASDをオ
ペレートするステップを含む、請求項26記載の方法。 - 【請求項30】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記インタフェースにより
受信される前記データを前記選択DASDの前記記憶装
置に書込むように、前記選択DASDをオペレートする
ステップを含む、請求項26記載の方法。 - 【請求項31】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記選択DASDの前記記
憶装置から前記選択データを読出し、前記選択DASD
の前記インタフェースにより受信される前記データ及び
前記選択データに対してXOR演算を実行し、該XOR
演算結果を選択される前記メンバに転送するように、前
記選択DASDをオペレートするステップを含む、請求
項26記載の方法。 - 【請求項32】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記選択DASDの前記記
憶装置から前記選択データを読出し、前記選択DASD
の前記インタフェースにより受信される前記データ及び
前記選択データに対してXOR演算を実行し、該XOR
演算結果を選択される前記メンバに転送し、前記選択D
ASDの前記インタフェースにより受信された前記デー
タを該選択DASDの前記記憶装置に書込むように、前
記選択DASDをオペレートするステップを含む、請求
項26記載の方法。 - 【請求項33】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記選択DASDの前記記
憶装置から前記選択データを読出し、前記選択DASD
の前記インタフェースにより受信される前記データ及び
前記選択データに対してXOR演算を実行し、該XOR
演算結果を前記選択DASDの前記記憶装置に書込むよ
うに、前記選択DASDをオペレートするステップを含
む、請求項26記載の方法。 - 【請求項34】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記選択DASDの前記イ
ンタフェースにより受信される前記選択データを前記選
択DASDの前記記憶装置に書込み、前記受信データを
選択される前記メンバに転送するように、前記選択DA
SDをオペレートするステップを含む、請求項26記載
の方法。 - 【請求項35】前記制御装置からの少なくとも1つの前
記所定コマンドに応答して、前記選択DASDの前記イ
ンタフェースにより受信される2つの前記データ項目に
対してXOR演算を実行し、該XOR演算結果を選択さ
れる前記メンバに転送し、選択される一方の前記受信デ
ータ項目を前記選択DASDの前記記憶装置に書込むよ
うに、前記選択DASDをオペレートするステップを含
む、請求項26記載の方法。 - 【請求項36】制御装置、DASDアレイ、及び前記D
ASD及び前記制御装置を相互接続するバスを含むデー
タ記憶システムにおいて、複数のXOR演算の実行を要
求するタスクを実行するように、前記データ記憶システ
ムを動作させる方法であって、 前記制御装置から前記バスを介して前記DASDにコマ
ンドを転送するステップと、 前記コマンドに応答して、前記XOR演算の実行を前記
DASD間で分散することにより、前記タスクを実行す
るように、前記DASDをオペレートするステップと、 を含む、方法。 - 【請求項37】前記オペレーティング・ステップが、デ
ータを前記DASD間で選択順に順次転送するように、
前記DASDをオペレートするステップを含み、前記複
数のDASDが前記選択順序に従い前記データを別のD
ASDに転送する以前に、該データに対して前記XOR
演算を実行する、請求項36記載の方法。 - 【請求項38】前記オペレーティング・ステップが再生
オペレーションを含み、該再生オペレーションが、 第1のDASDの第1の記憶ロケーションから第1のデ
ータ・ブロックを読出し、前記第1のデータ・ブロック
を第2のDASDに転送するように、前記第1のDAS
Dをオペレートするステップと、 前記第2のDASDをオペレートするステップであっ
て、 前記第1のデータ・ブロックを前記第1のDASDから
受信するステップと、 前記第2のDASDの記憶ロケーションから、前記第1
のデータ・ブロックに対応する第2のデータ・ブロック
を読出すステップと、 前記第1及び前記第2のデータ・ブロックに対してXO
R演算を実行し、第1のXOR結果を生成するステップ
と、 前記第1のXOR結果を第3のDASDに転送するステ
ップと、を含む前記オペレーティング・ステップと、 前記第3のDASDをオペレートするステップであっ
て、 前記第1のXOR結果を前記第2のDASDから受信す
るステップと、 前記第3のDASDの記憶ロケーションから、前記第1
及び前記第2のデータ・ブロックに対応する第3のデー
タ・ブロックを読出すステップと、 前記第1のXOR結果及び前記第3のデータ・ブロック
に対してXOR演算を実行し、第2のXOR結果を生成
するステップと、 前記第2のXOR結果を前記制御装置に転送するステッ
プと、を含む前記オペレーティング・ステップと、 を含む、請求項36記載の方法。 - 【請求項39】前記オペレーティング・ステップが復元
オペレーションを含み、該復元オペレーションが、 前記第1のDASDの前記第1の記憶ロケーションから
第1のデータ・ブロックを読出すように、前記第1のD
ASDをオペレートするステップと、 第2のDASDをオペレートするステップであって、 前記第1のデータ・ブロックを前記第1のDASDから
受信するステップと、 前記第2のDASDの記憶ロケーションから、前記第1
のデータ・ブロックに対応する前記第2のデータ・ブロ
ックを読出すステップと、 前記第1及び前記第2のデータ・ブロックに対してXO
R演算を実行し、第1のXOR結果を生成するステップ
と、 前記第1のXOR結果を前記第3のDASDに転送する
ステップと、を含む前記オペレーティング・ステップ
と、 前記第3のDASDをオペレートするステップであっ
て、 前記第1のXOR結果を前記第2のDASDから受信す
るステップと、 前記第3のDASDの記憶ロケーションから、前記第1
及び前記第2のデータ・ブロックに対応する前記第3の
データ・ブロックを読出すステップと、 前記第1のXOR結果及び前記第3のデータ・ブロック
に対してXOR演算を実行し、第2のXOR結果を生成
するステップと、 前記第2のXOR結果を第4のDASDに転送するステ
ップと、を含む前記オペレーティング・ステップと、 前記第4のDASDをオペレートするステップであっ
て、 前記第2のXOR結果を前記第3のDASDから受信す
るステップと、 前記第2のXOR結果を前記第4のDASDの記憶ロケ
ーションに書込むステップと、を含む前記オペレーティ
ング・ステップと、 を含む、請求項36記載の方法。 - 【請求項40】前記オペレーティング・ステップが更新
オペレーションを含み、該更新オペレーションが、 前記第1のデータ・ブロックを前記制御装置から前記第
1のDASDの前記第1の記憶ロケーションに転送する
ステップと、 前記第1のDASDをオペレートするステップであっ
て、 前記第1のデータ・ブロックを前記制御装置から受信す
るステップと、 前記第1のDASDの前記記憶ロケーションから、前記
第1のデータ・ブロックに対応する第2のデータ・ブロ
ックを読出すステップと、 前記第1及び前記第2のデータ・ブロックに対してXO
R演算を実行し、第1のXOR結果を生成するステップ
と、 前記第1のXOR結果を前記第2のDASDに転送する
ステップと、を含む前記オペレーティング・ステップ
と、 前記第2のDASDをオペレートするステップであっ
て、 前記第1のXOR結果を前記第1のDASDから受信す
るステップと、 前記第2のDASDの前記記憶ロケーションから、前記
第1及び前記第2のデータ・ブロックに対応する前記第
3のデータ・ブロックを読出すステップと、 前記第2及び前記第3のデータ・ブロックに対してXO
R演算を実行し、第2のXOR結果を生成するステップ
と、 前記第2のXOR結果を前記第3のDASDに転送する
ステップと、を含む前記オペレーティング・ステップ
と、 前記第3のDASDをオペレートするステップであっ
て、 前記第2のXOR結果を前記第2のDASDから受信す
るステップと、 前記第2のXOR結果を前記第3のDASDの記憶ロケ
ーションに書込むステップと、を含む前記オペレーティ
ング・ステップと、 を含む、請求項36記載の方法。 - 【請求項41】前記オペレーティング・ステップがスト
ライプ書込みオペレーションを含み、該ストライプ書込
みオペレーションが、 第1のデータ・ブロックを前記制御装置から前記第1の
DASDの前記第1の記憶ロケーションに転送するステ
ップと、 前記第1のDASDをオペレートするステップであっ
て、 前記第1のデータ・ブロックを前記制御装置から受信す
るステップと、 前記第1のデータ・ブロックを前記第1のDASDの記
憶ロケーションに書込むステップと、 前記第1のデータ・ブロックを前記第2のDASDに転
送するステップと、を含む前記オペレーティング・ステ
ップと、 前記第2のDASDをオペレートするステップであっ
て、 前記第2のデータ・ブロックを前記制御装置から受信す
るステップと、 前記第2のデータ・ブロックを前記第2のDASDの記
憶ロケーションに書込むステップと、 前記第1及び前記第2のデータ・ブロックに対してXO
R演算を実行し、第1のXOR結果を生成するステップ
と、 前記第1のXOR結果を前記第3のDASDに転送する
ステップと、を含む前記オペレーティング・ステップ
と、 前記第3のDASDをオペレートするステップであっ
て、 前記第3のデータ・ブロックを前記制御装置から受信す
るステップと、 前記第3のデータ・ブロックを前記第3のDASDの記
憶ロケーションに書込むステップと、 前記第1のXOR結果を前記第2のDASDから受信す
るステップと、 前記第1のXOR結果及び前記第3のデータ・ブロック
に対してXOR演算を実行し、第2のXOR結果を生成
するステップと、 前記第2のXOR結果を前記第4のDASDに転送する
ステップと、を含む前記オペレーティング・ステップ
と、 前記第4のDASDをオペレートするステップであっ
て、 前記第2のXOR結果を前記第3のDASDから受信す
るステップと、 前記第2のXOR結果を前記第4のDASDの記憶ロケ
ーションに書込むステップと、を含む前記オペレーティ
ング・ステップと、 を含む、請求項36記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/396,046 US5745671A (en) | 1995-02-28 | 1995-02-28 | Data storage system with localized XOR function |
| US396046 | 1995-02-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08263224A true JPH08263224A (ja) | 1996-10-11 |
| JP3379078B2 JP3379078B2 (ja) | 2003-02-17 |
Family
ID=23565624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02503896A Expired - Fee Related JP3379078B2 (ja) | 1995-02-28 | 1996-02-13 | 局所xor機能を有するデータ記憶システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5745671A (ja) |
| EP (1) | EP0730229A3 (ja) |
| JP (1) | JP3379078B2 (ja) |
| KR (1) | KR100221384B1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000201146A (ja) * | 1999-01-07 | 2000-07-18 | Nippon Telegr & Teleph Corp <Ntt> | 同報通信グル―プを制御する通信方法および当該通信方法を記述したプログラムを記録した記録媒体 |
| US7236454B2 (en) | 2000-06-21 | 2007-06-26 | Nec Corporation | Loop diagnosis system and method for disk array apparatuses |
| JP2009087348A (ja) * | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
| JP2009545062A (ja) * | 2006-07-24 | 2009-12-17 | マーベル ワールド トレード リミテッド | RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6282045B1 (en) * | 1997-09-15 | 2001-08-28 | Texas Instruments Incorporated | Server hard disk drive integrated circuit and method of operation |
| US6112255A (en) * | 1997-11-13 | 2000-08-29 | International Business Machines Corporation | Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations |
| KR100513027B1 (ko) * | 1998-08-06 | 2005-10-26 | 삼성전자주식회사 | 맨 머신 랭귀지 구현 방법 |
| AU1634600A (en) * | 1998-12-30 | 2000-07-24 | Intel Corporation | Memory array organization |
| US6327672B1 (en) * | 1998-12-31 | 2001-12-04 | Lsi Logic Corporation | Multiple drive failure tolerant raid system |
| US6704330B1 (en) * | 1999-05-18 | 2004-03-09 | International Business Machines Corporation | Multiplexing system and method for servicing serially linked targets or raid devices |
| US7234079B2 (en) * | 2003-07-11 | 2007-06-19 | Agency For Science, Technology & Research | Method and system for enabling recovery of data stored in a computer network; a method and a system for recovering data stored in a computer network |
| US7308530B1 (en) * | 2003-10-02 | 2007-12-11 | Marvell International Ltd. | Architecture for a data storage device |
| US7596570B1 (en) | 2003-11-04 | 2009-09-29 | Emigh Aaron T | Data sharing |
| US7516354B2 (en) * | 2004-08-25 | 2009-04-07 | International Business Machines Corporation | Storing parity information for data recovery |
| JP2006146833A (ja) * | 2004-11-25 | 2006-06-08 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法 |
| JP2010512584A (ja) | 2006-12-06 | 2010-04-22 | フュージョン マルチシステムズ,インク.(ディービイエイ フュージョン−アイオー) | 空データトークン指令を有する要求デバイスからのデータを管理する装置、システムおよび方法 |
| US8161353B2 (en) | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
| US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
| US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
| US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
| US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
| US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
| US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
| US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
| US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
| WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
| WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
| US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
| US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
| US10237347B2 (en) | 2015-06-08 | 2019-03-19 | Excelero Storage Ltd. | System and method for providing a client device seamless access to a plurality of remote storage devices presented as a virtual device |
| US10936200B2 (en) | 2014-07-30 | 2021-03-02 | Excelero Storage Ltd. | System and method for improved RDMA techniques for multi-host network interface controllers |
| US10565054B2 (en) * | 2016-08-29 | 2020-02-18 | Excelero Storage Ltd. | System and method for reducing bandwidth consumption of a client device accessing a remote storage device |
| US10979503B2 (en) | 2014-07-30 | 2021-04-13 | Excelero Storage Ltd. | System and method for improved storage access in multi core system |
| US9658782B2 (en) | 2014-07-30 | 2017-05-23 | Excelero Storage Ltd. | Scalable data using RDMA and MMIO |
| US9830220B1 (en) * | 2014-09-29 | 2017-11-28 | EMC IP Holding Company LLC | Enhanced error recovery for data storage drives |
| KR102721255B1 (ko) * | 2019-04-05 | 2024-10-24 | 삼성전자주식회사 | 데이터를 스왑하기 위한 메모리 장치 및 메모리 장치의 동작 방법 |
| US11983440B2 (en) * | 2020-12-30 | 2024-05-14 | Samsung Electronics Co., Ltd. | Storage device including memory controller implementing journaling and operating method of the memory controller |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5202979A (en) * | 1985-05-08 | 1993-04-13 | Thinking Machines Corporation | Storage system using multiple independently mechanically-driven storage units |
| US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
| US4899342A (en) * | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
| US5072378A (en) * | 1989-12-18 | 1991-12-10 | Storage Technology Corporation | Direct access storage device with independently stored parity |
| US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
| US5191584A (en) * | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
| US5522065A (en) * | 1991-08-30 | 1996-05-28 | Compaq Computer Corporation | Method for performing write operations in a parity fault tolerant disk array |
| US5388108A (en) * | 1992-10-23 | 1995-02-07 | Ncr Corporation | Delayed initiation of read-modify-write parity operations in a raid level 5 disk array |
| DE4309148A1 (de) * | 1993-03-22 | 1994-09-29 | Siemens Nixdorf Inf Syst | Disk-Array mit Lastverteilung |
| US5535399A (en) * | 1993-09-30 | 1996-07-09 | Quantum Corporation | Solid state disk drive unit having on-board backup non-volatile memory |
| JPH07134635A (ja) * | 1993-11-10 | 1995-05-23 | Nec Eng Ltd | ディスクアレイ装置 |
| US5950225A (en) | 1997-02-28 | 1999-09-07 | Network Appliance, Inc. | Fly-by XOR for generating parity for data gleaned from a bus |
-
1995
- 1995-02-28 US US08/396,046 patent/US5745671A/en not_active Expired - Lifetime
- 1995-12-29 KR KR1019950067126A patent/KR100221384B1/ko not_active Expired - Fee Related
-
1996
- 1996-01-17 EP EP96300339A patent/EP0730229A3/en not_active Withdrawn
- 1996-02-13 JP JP02503896A patent/JP3379078B2/ja not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000201146A (ja) * | 1999-01-07 | 2000-07-18 | Nippon Telegr & Teleph Corp <Ntt> | 同報通信グル―プを制御する通信方法および当該通信方法を記述したプログラムを記録した記録媒体 |
| US7236454B2 (en) | 2000-06-21 | 2007-06-26 | Nec Corporation | Loop diagnosis system and method for disk array apparatuses |
| JP2009545062A (ja) * | 2006-07-24 | 2009-12-17 | マーベル ワールド トレード リミテッド | RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ |
| US8495416B2 (en) | 2006-07-24 | 2013-07-23 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
| US8862931B2 (en) | 2006-07-24 | 2014-10-14 | Marvell World Trade Ltd. | Apparatus and method for storing and assigning error checking and correcting processing of data to storage arrays |
| JP2009087348A (ja) * | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR100221384B1 (ko) | 1999-09-15 |
| EP0730229A2 (en) | 1996-09-04 |
| KR960032199A (ko) | 1996-09-17 |
| EP0730229A3 (en) | 2006-03-01 |
| JP3379078B2 (ja) | 2003-02-17 |
| US5745671A (en) | 1998-04-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3379078B2 (ja) | 局所xor機能を有するデータ記憶システム | |
| US6092215A (en) | System and method for reconstructing data in a storage array system | |
| US5742752A (en) | Method for performing a RAID stripe write operation using a drive XOR command set | |
| JP2501752B2 (ja) | コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法 | |
| US5617425A (en) | Disc array having array supporting controllers and interface | |
| JP2981245B2 (ja) | アレイ型ディスク駆動機構システム及び方法 | |
| JP3358687B2 (ja) | ディスクアレイ装置 | |
| EP0572564B1 (en) | Parity calculation in an efficient array of mass storage devices | |
| JP3151008B2 (ja) | ディスクセクタ解析方法 | |
| US6601138B2 (en) | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance | |
| JP5124792B2 (ja) | RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ | |
| EP0646858A1 (en) | Data storage system architecture | |
| JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
| US6098191A (en) | Storage unit and storage unit subsystem | |
| JP2000511318A (ja) | 階層記憶管理システムのための変換式raid | |
| US5867640A (en) | Apparatus and method for improving write-throughput in a redundant array of mass storage devices | |
| US6571314B1 (en) | Method for changing raid-level in disk array subsystem | |
| JPH10105344A (ja) | データ記録装置システム及びそのデータ書込方法 | |
| EP1369773A2 (en) | A storage system and storage subsystem | |
| US6301711B1 (en) | System and method for the network support of full motion video using a redundant array of inexpensive disks | |
| US5787463A (en) | Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability | |
| JP2003280826A (ja) | 記憶サブシステム | |
| JP3736134B2 (ja) | 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体 | |
| JP3390608B2 (ja) | ストレージネットワーク制御方法 | |
| JP3400328B2 (ja) | データ記憶方法およびデータ記憶装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |