JPH06180634A - 複数のディスク装置を有するデータ記憶装置 - Google Patents
複数のディスク装置を有するデータ記憶装置Info
- Publication number
- JPH06180634A JPH06180634A JP4075744A JP7574492A JPH06180634A JP H06180634 A JPH06180634 A JP H06180634A JP 4075744 A JP4075744 A JP 4075744A JP 7574492 A JP7574492 A JP 7574492A JP H06180634 A JPH06180634 A JP H06180634A
- Authority
- JP
- Japan
- Prior art keywords
- disk drive
- data
- logical
- parity
- disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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
- 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/1011—Clustered RAID, i.e. clustered or de-clustered RAID where data and parity are spread over more disks than blocks in a parity group
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 複数のディスク駆動機構を備えた故障許容デ
ィスク駆動機構マトリックスを提供する。 【構成】 マッピング方法は、ディスク駆動機構のサブ
セットを論理RAID−5アレイに関連させる。データ
の論理ユニットがブロックに細分割されて論理RAID
−5アレイのディスク駆動機構にまたがってインタリー
ブ式に記憶される。マトリックス内のRAIDアレイ上
におけるデータ・パリティの配置は、ディスク機構が故
障の場合の出力低下を減じる。ディスク機構上に記憶さ
れていたデータブロックは、当該論理RAID−5アレ
イ内の生きているディスク駆動機構からの冗長ブロック
およびデータブロックを使用して再構成することができ
る。論理RAID−5内の故障したディスク駆動機構の
代わりとなる交換用ディスク駆動機構を設けてもよい。
ィスク駆動機構マトリックスを提供する。 【構成】 マッピング方法は、ディスク駆動機構のサブ
セットを論理RAID−5アレイに関連させる。データ
の論理ユニットがブロックに細分割されて論理RAID
−5アレイのディスク駆動機構にまたがってインタリー
ブ式に記憶される。マトリックス内のRAIDアレイ上
におけるデータ・パリティの配置は、ディスク機構が故
障の場合の出力低下を減じる。ディスク機構上に記憶さ
れていたデータブロックは、当該論理RAID−5アレ
イ内の生きているディスク駆動機構からの冗長ブロック
およびデータブロックを使用して再構成することができ
る。論理RAID−5内の故障したディスク駆動機構の
代わりとなる交換用ディスク駆動機構を設けてもよい。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータ用ディス
ク駆動機構に関わり、さらに詳細には故障許容性を強化
したディスク駆動機構マトリックスに係わるものであ
る。
ク駆動機構に関わり、さらに詳細には故障許容性を強化
したディスク駆動機構マトリックスに係わるものであ
る。
【0002】
【従来の技術】メディアの故障許容性を達成する方法に
は、「安価なディスクの冗長配列」(RAID)と呼ば
れる構想を利用しているものがある。このRAID構想
は、単独で大型の高価なディスク駆動機構に対する有力
な代替物を与えるとともに大きさのオーダー、性能、信
頼性および電力消費の改良を約束するものである。RA
ID−1ないしRAID−5と呼ばれる5段階のRAI
D構想が当業者に知られており、また本明細書に参考文
献として組み込まれているD.A.Patterso
n,G.GibsonおよびR.H.Katzによる”
A Case for Redundant Arra
ys of Inexpensive Disks
(RAID)”と題する刊行物(ACM SIGMOD
Conference,Chicago,Illin
ois,June1−3,1988年)に記載されてい
る。
は、「安価なディスクの冗長配列」(RAID)と呼ば
れる構想を利用しているものがある。このRAID構想
は、単独で大型の高価なディスク駆動機構に対する有力
な代替物を与えるとともに大きさのオーダー、性能、信
頼性および電力消費の改良を約束するものである。RA
ID−1ないしRAID−5と呼ばれる5段階のRAI
D構想が当業者に知られており、また本明細書に参考文
献として組み込まれているD.A.Patterso
n,G.GibsonおよびR.H.Katzによる”
A Case for Redundant Arra
ys of Inexpensive Disks
(RAID)”と題する刊行物(ACM SIGMOD
Conference,Chicago,Illin
ois,June1−3,1988年)に記載されてい
る。
【0003】
【発明が解決すべき問題】RAID−1構想は、信頼性
を良くするための伝統的な手法である鏡像型ディスク駆
動機構群よりなる。しかしながら、そのような構想は単
一のディスク駆動機構に比して大きな読み取りスループ
ットと故障許容性を与えるが、データ記憶コストを倍増
させてしまう。
を良くするための伝統的な手法である鏡像型ディスク駆
動機構群よりなる。しかしながら、そのような構想は単
一のディスク駆動機構に比して大きな読み取りスループ
ットと故障許容性を与えるが、データ記憶コストを倍増
させてしまう。
【0004】RAID−2構想においては、データの論
理ユニットの複数のビットが複数のディスク駆動機構に
わたって同時にかつ並行的にストライプされ、それによ
り個別の読み取りあるいは書き込み動作がそれら複数の
ディスク駆動機構全体にまたがって行なわれる。エラー
を検出し訂正するために並行のチェック用ディスクが付
加される。このRAID−2構想においては、1個のパ
リティ用ディスクが1個のエラーを検出することができ
るが、どのディスク駆動機構が故障したかを判定するた
めに追加のチェック用ディスクが必要となる。
理ユニットの複数のビットが複数のディスク駆動機構に
わたって同時にかつ並行的にストライプされ、それによ
り個別の読み取りあるいは書き込み動作がそれら複数の
ディスク駆動機構全体にまたがって行なわれる。エラー
を検出し訂正するために並行のチェック用ディスクが付
加される。このRAID−2構想においては、1個のパ
リティ用ディスクが1個のエラーを検出することができ
るが、どのディスク駆動機構が故障したかを判定するた
めに追加のチェック用ディスクが必要となる。
【0005】RAID−3構想は、RAID−3に類似
しているが、RAID−2の追加のチェック用ディスク
は冗長であるとして削除している。それは、大部分のデ
ィスク駆動機構用制御装置は、ディスク駆動機構が故障
した時、該ディスク駆動機構のインターフェースに与え
られる特殊な信号によるか、あるいはデータの各セクタ
とともに記憶されているエラー訂正コード(ECCs)
を使用するかのいずれかにより検出することができるか
らである。故に、故障したディスク駆動機構上のデータ
は、生きているディスク駆動機構のパリティを計算し、
それを元の完全なグループに関して計算したパリティと
ビット毎に比較することにより再構成することができ
る。
しているが、RAID−2の追加のチェック用ディスク
は冗長であるとして削除している。それは、大部分のデ
ィスク駆動機構用制御装置は、ディスク駆動機構が故障
した時、該ディスク駆動機構のインターフェースに与え
られる特殊な信号によるか、あるいはデータの各セクタ
とともに記憶されているエラー訂正コード(ECCs)
を使用するかのいずれかにより検出することができるか
らである。故に、故障したディスク駆動機構上のデータ
は、生きているディスク駆動機構のパリティを計算し、
それを元の完全なグループに関して計算したパリティと
ビット毎に比較することにより再構成することができ
る。
【0006】RAID−4構想は、データの論理ユニッ
トの複数のセクタが複数のディスク駆動機構にわたって
ストライプされる点を除いてRAID−3に類似してい
る。かくして、検索速度を最高とするように個々の読み
取りが相互に独立して行なわれ得る。このRAID−4
構想は読み取り動作を向上させるが、読み取り動作毎に
パリティ用ディスクの読み取りおよび書き込みをしなけ
ればならないから、書き込み動作はやはり限定されてい
る。
トの複数のセクタが複数のディスク駆動機構にわたって
ストライプされる点を除いてRAID−3に類似してい
る。かくして、検索速度を最高とするように個々の読み
取りが相互に独立して行なわれ得る。このRAID−4
構想は読み取り動作を向上させるが、読み取り動作毎に
パリティ用ディスクの読み取りおよび書き込みをしなけ
ればならないから、書き込み動作はやはり限定されてい
る。
【0007】RAID−5構想は、パリティブロックの
配置が当該アレイ中においてディスク駆動機構の間で回
転される点を除いてRAID−4構想に類似している。
この回転は、RAID−4構想によって経験された、読
み取り動作中におけるパリティ用ディスク駆動機構の上
記問題点を低減するものである。RAID−5構想は、
RAID−3構想による冗長コストの低減とともにRA
ID−1構想のランダムアクセスの読み取りスループッ
トを与えるものである。しかしながら、故障が存在する
場合、RAID−5構想のランダム読み取りスループッ
トは、50%低下する。それは、故障したディスク駆動
機構上のデータセクタを再構成するために、生きている
全ディスク駆動機構上の対応するデータおよびパリティ
セクタを読み取らなければならないからである。
配置が当該アレイ中においてディスク駆動機構の間で回
転される点を除いてRAID−4構想に類似している。
この回転は、RAID−4構想によって経験された、読
み取り動作中におけるパリティ用ディスク駆動機構の上
記問題点を低減するものである。RAID−5構想は、
RAID−3構想による冗長コストの低減とともにRA
ID−1構想のランダムアクセスの読み取りスループッ
トを与えるものである。しかしながら、故障が存在する
場合、RAID−5構想のランダム読み取りスループッ
トは、50%低下する。それは、故障したディスク駆動
機構上のデータセクタを再構成するために、生きている
全ディスク駆動機構上の対応するデータおよびパリティ
セクタを読み取らなければならないからである。
【0008】
【問題を解決するための手段】上述した従来技術におけ
る問題点を克服するとともに本明細書を読んで理解する
ことにより明かとなるその他の問題点を克服するため
に、本発明は、複数のディスク駆動機構を備えた故障許
容ディスク駆動機構マトリックスを開示する。マッピン
グ方法は、ディスク駆動機構のサブセットを論理RAI
D−5アレイに関連させる。マトリックス内のディスク
駆動機構の各々は、複数の異なった論理RAID−5ア
レイに関連させてもよい。データの論理ユニットはブロ
ックに細分割されて、論理RAID−5アレイのディス
ク駆動機構群にまたがってインターリーブ式に記憶され
る。マトリックス内の論理RAID−5アレイ上のデー
タおよびパリティブロックの配置は、ディスク駆動機構
が故障した際のスループットの低下を低減する。ディス
ク駆動機構が故障した場合、故障したディスク駆動機構
上に記憶されたデータブロックは、論理RAID−5ア
レイ内の生きているディスク駆動機構からの冗長ブロッ
クおよびデータブロックを使用して再構成することがで
きる。論理RAID−5アレイ内の故障したディスク駆
動機構と交換するために、交換用ディスク駆動機構を設
けてもよい。かくして、論理RAID−5アレイをマト
リックス内の物理的ディスク駆動機構に対するマッピン
グは、故障によって発生したディスク駆動機構の交換の
ために、位置および同一性が変化し得る。
る問題点を克服するとともに本明細書を読んで理解する
ことにより明かとなるその他の問題点を克服するため
に、本発明は、複数のディスク駆動機構を備えた故障許
容ディスク駆動機構マトリックスを開示する。マッピン
グ方法は、ディスク駆動機構のサブセットを論理RAI
D−5アレイに関連させる。マトリックス内のディスク
駆動機構の各々は、複数の異なった論理RAID−5ア
レイに関連させてもよい。データの論理ユニットはブロ
ックに細分割されて、論理RAID−5アレイのディス
ク駆動機構群にまたがってインターリーブ式に記憶され
る。マトリックス内の論理RAID−5アレイ上のデー
タおよびパリティブロックの配置は、ディスク駆動機構
が故障した際のスループットの低下を低減する。ディス
ク駆動機構が故障した場合、故障したディスク駆動機構
上に記憶されたデータブロックは、論理RAID−5ア
レイ内の生きているディスク駆動機構からの冗長ブロッ
クおよびデータブロックを使用して再構成することがで
きる。論理RAID−5アレイ内の故障したディスク駆
動機構と交換するために、交換用ディスク駆動機構を設
けてもよい。かくして、論理RAID−5アレイをマト
リックス内の物理的ディスク駆動機構に対するマッピン
グは、故障によって発生したディスク駆動機構の交換の
ために、位置および同一性が変化し得る。
【0009】
【実施例】以下の好適な実施例の説明においては、本発
明が実施され得る特定の実施例を図示する、本願の一部
をなす添付図面を参照する。なお、本発明の範囲から逸
脱すること無しに他の実施例を利用し得、また構造上の
変更を行ない得ることが理解されるべきである。
明が実施され得る特定の実施例を図示する、本願の一部
をなす添付図面を参照する。なお、本発明の範囲から逸
脱すること無しに他の実施例を利用し得、また構造上の
変更を行ない得ることが理解されるべきである。
【0010】ディスク駆動機構アレイの利点を充分に利
用するために、本発明は、複数のディスク駆動機構を備
え、マッピング法が該ディスク機構のサブセットを論理
RAID−5アレイに関連させるようにしたディスク駆
動機構マトリックスを開示する。マトリックス内のディ
スク駆動機構の各々は、複数の異なった論理RAID−
5アレイに関連させてもよい。例えば、マトリックス内
のディスク駆動機構の水平方向の関連と対角線方向の関
連とを論理RAID−5アレイとして選択してよい。
(垂直方向の関連も使用できるが、典型的には、ディス
ク駆動機構用バス上の1個の故障点を除去するために排
除されるであろう。)データの論理ユニットは、ブロッ
クに細分割されて、論理RAID−5アレイのディスク
駆動機構にまたがってインターリーブ式に記憶される。
マトリックス内の論理RAID−5アレイ上のデータお
よびパリティブロックの配置は、ディスク駆動機構が故
障した際のスループットの低下を低減する。ディスク駆
動機構が故障した場合、故障したディスク駆動機構上に
記憶されたデータブロックは、論理RAID−5アレイ
内の生きているディスク駆動機構からの冗長ブロックお
よびデータブロックを使用して再構成することができ
る。論理RAID−5アレイ内の故障したディスク駆動
機構と交換するために、交換用ディスク駆動機構を設け
てもよい。かくして、論理RAID−5アレイのマトリ
ックス内の物理的ディスク駆動機構に対するマッピング
は、故障によって発生したディスク駆動機構の交換のた
めに、位置および同一性が変化し得る。
用するために、本発明は、複数のディスク駆動機構を備
え、マッピング法が該ディスク機構のサブセットを論理
RAID−5アレイに関連させるようにしたディスク駆
動機構マトリックスを開示する。マトリックス内のディ
スク駆動機構の各々は、複数の異なった論理RAID−
5アレイに関連させてもよい。例えば、マトリックス内
のディスク駆動機構の水平方向の関連と対角線方向の関
連とを論理RAID−5アレイとして選択してよい。
(垂直方向の関連も使用できるが、典型的には、ディス
ク駆動機構用バス上の1個の故障点を除去するために排
除されるであろう。)データの論理ユニットは、ブロッ
クに細分割されて、論理RAID−5アレイのディスク
駆動機構にまたがってインターリーブ式に記憶される。
マトリックス内の論理RAID−5アレイ上のデータお
よびパリティブロックの配置は、ディスク駆動機構が故
障した際のスループットの低下を低減する。ディスク駆
動機構が故障した場合、故障したディスク駆動機構上に
記憶されたデータブロックは、論理RAID−5アレイ
内の生きているディスク駆動機構からの冗長ブロックお
よびデータブロックを使用して再構成することができ
る。論理RAID−5アレイ内の故障したディスク駆動
機構と交換するために、交換用ディスク駆動機構を設け
てもよい。かくして、論理RAID−5アレイのマトリ
ックス内の物理的ディスク駆動機構に対するマッピング
は、故障によって発生したディスク駆動機構の交換のた
めに、位置および同一性が変化し得る。
【0011】図1は、本発明を実施する模範的なシステ
ムに使用される構成要素のブロック図である。この模範
的なシステムは、3x6マトリックスを備え、該マトリ
ックス内においては、各論理RAID−5アレイが、該
マトリックス内の6個のディスク駆動機構20にまたが
っており、それら6個のディスク駆動機構20の各々が
1個の”論理シリンダ”を記憶する。この模範的なシス
テムにおいては、5個の論理シリンダがデータを備え、
6番目の論理シリンダが冗長情報すなわちパリティを備
える。
ムに使用される構成要素のブロック図である。この模範
的なシステムは、3x6マトリックスを備え、該マトリ
ックス内においては、各論理RAID−5アレイが、該
マトリックス内の6個のディスク駆動機構20にまたが
っており、それら6個のディスク駆動機構20の各々が
1個の”論理シリンダ”を記憶する。この模範的なシス
テムにおいては、5個の論理シリンダがデータを備え、
6番目の論理シリンダが冗長情報すなわちパリティを備
える。
【0012】各々が毎秒20メガバイトの転送速度を有
する2個のホストSCSIインターフェース10が、上
記マトリックスを、データの読み取りおよび書き込みを
している1個あるいはそれ以上のホストコンピュータ
(図示していない)に接続している。マイクロプロセッ
サ14は、ホストコンピュータからの命令を解釈し、マ
トリックスコントローラ12の活動を調整する。
する2個のホストSCSIインターフェース10が、上
記マトリックスを、データの読み取りおよび書き込みを
している1個あるいはそれ以上のホストコンピュータ
(図示していない)に接続している。マイクロプロセッ
サ14は、ホストコンピュータからの命令を解釈し、マ
トリックスコントローラ12の活動を調整する。
【0013】コントローラ12は、命令およびデータブ
ロックがホストコンピュータとバッファメモリ16との
間で移動されるのを許容する論理を保有している。メモ
リ16は、好ましくは18個の活動中のディスク駆動機
構20の各々に対して1組3個の典型的なデータブロッ
クを保有するに充分な記憶容量を備えている。妥当な記
憶容量は1メガバイトである。
ロックがホストコンピュータとバッファメモリ16との
間で移動されるのを許容する論理を保有している。メモ
リ16は、好ましくは18個の活動中のディスク駆動機
構20の各々に対して1組3個の典型的なデータブロッ
クを保有するに充分な記憶容量を備えている。妥当な記
憶容量は1メガバイトである。
【0014】コントローラ12はまた、命令およびデー
タブロックがディスク駆動機構20とメモリ16との間
で移動されるのを許容する論理をも保有している。ディ
スク駆動機構20は、各々が毎秒10メガバイトの転送
速度を有するディスクSCSIインターフェース18を
介してコントローラ12に接続されている。ディスク駆
動機構20の各々は、典型的なデータブロックを保有す
るに充分な大きさのバッファを備えた埋め込みコントロ
ーラを有してもよい。ディスク駆動機構20のスピンド
ルは、相互に同期させる必要はない。
タブロックがディスク駆動機構20とメモリ16との間
で移動されるのを許容する論理をも保有している。ディ
スク駆動機構20は、各々が毎秒10メガバイトの転送
速度を有するディスクSCSIインターフェース18を
介してコントローラ12に接続されている。ディスク駆
動機構20の各々は、典型的なデータブロックを保有す
るに充分な大きさのバッファを備えた埋め込みコントロ
ーラを有してもよい。ディスク駆動機構20のスピンド
ルは、相互に同期させる必要はない。
【0015】記憶容量を拡張するために、追加のディス
ク駆動機構20を追加することができる。バッファに対
する苦情を低下させるためには、メモリ16のサイズ
を、その追加のディスク駆動機構20を取り扱うことが
できるように増大させるべきである。故障許容性を高め
るために、SCSIインターフェース18およびディス
ク駆動機構20を除く上記した全ての構成要素を倍増さ
せてもよい。再構成のための平均時間を低減するため
に、1個あるいはそれ以上の交換用ディスク駆動機構2
2を備えた追加行を追加することもできる。
ク駆動機構20を追加することができる。バッファに対
する苦情を低下させるためには、メモリ16のサイズ
を、その追加のディスク駆動機構20を取り扱うことが
できるように増大させるべきである。故障許容性を高め
るために、SCSIインターフェース18およびディス
ク駆動機構20を除く上記した全ての構成要素を倍増さ
せてもよい。再構成のための平均時間を低減するため
に、1個あるいはそれ以上の交換用ディスク駆動機構2
2を備えた追加行を追加することもできる。
【0016】ディスク駆動機構マトリックスの作動 上記の模範的なシステムにおいては、典型的な読み取り
動作は、マイクロプロセッサ14からコントローラ12
を介してデータ用ディスク駆動機構20にデータを転送
するように1個の要求を発生する。また典型的な書き込
み動作は、マイクロプロセッサ14からコントローラ1
2を介してデータおよびパリティ用ディスク駆動機構2
0にデータを転送するように4個の要求、すなわち古い
データおよびパリティに対する2個の読み取り要求と新
しいデータおよびパリティに対する2個の書き込み要
求、を発生する。
動作は、マイクロプロセッサ14からコントローラ12
を介してデータ用ディスク駆動機構20にデータを転送
するように1個の要求を発生する。また典型的な書き込
み動作は、マイクロプロセッサ14からコントローラ1
2を介してデータおよびパリティ用ディスク駆動機構2
0にデータを転送するように4個の要求、すなわち古い
データおよびパリティに対する2個の読み取り要求と新
しいデータおよびパリティに対する2個の書き込み要
求、を発生する。
【0017】読み取り 論理RAID−5アレイにおける全ディスク駆動機構2
0が利用可能である場合、1個のデータブロックが、そ
れが存在しているディスク駆動機構20を読みとること
によって検索される。論理RAID−5アレイ内のある
ディスク駆動機構20が故障した場合、該故障したディ
スク駆動機構20上のデータブロックは、当該論理RA
ID−5アレイ内の生きているディスク駆動機構20か
らのパリティブロックとデータブロックとに対して排他
的論理和をとることにより再構成される。
0が利用可能である場合、1個のデータブロックが、そ
れが存在しているディスク駆動機構20を読みとること
によって検索される。論理RAID−5アレイ内のある
ディスク駆動機構20が故障した場合、該故障したディ
スク駆動機構20上のデータブロックは、当該論理RA
ID−5アレイ内の生きているディスク駆動機構20か
らのパリティブロックとデータブロックとに対して排他
的論理和をとることにより再構成される。
【0018】もし読み取り動作が、非常に大きなデータ
ブロック、すなわち論理シリンダの境界を横切るデータ
ブロックを指定していたならば、この読み取りは、2回
あるいはそれ以上のより小さな動作に分割してもよい。
ブロック、すなわち論理シリンダの境界を横切るデータ
ブロックを指定していたならば、この読み取りは、2回
あるいはそれ以上のより小さな動作に分割してもよい。
【0019】ディスク駆動機構の故障が無い場合の読み
取り 読み取り動作は、データブロックのホストコンピュータ
アドレスをデータ用ディスク駆動機構20上の対応する
SCSI論理ブロックアドレスにマッピングする。該デ
ータ用ディスク駆動機構20が使用可能になると、マイ
クロプロセッサ14は、メモリ16内に1個のバッファ
を割り当て、データ用ディスク駆動機構20にSCSI
読み取り命令を送る。SCSIリード命令が完了する
と、該データブロックがメモリ16に転送された後、ホ
ストコンピュータに逆転送される。最後に、マイクロプ
ロセッサ14がホストコンピュータに通知し、上記バッ
ファを解放する。
取り 読み取り動作は、データブロックのホストコンピュータ
アドレスをデータ用ディスク駆動機構20上の対応する
SCSI論理ブロックアドレスにマッピングする。該デ
ータ用ディスク駆動機構20が使用可能になると、マイ
クロプロセッサ14は、メモリ16内に1個のバッファ
を割り当て、データ用ディスク駆動機構20にSCSI
読み取り命令を送る。SCSIリード命令が完了する
と、該データブロックがメモリ16に転送された後、ホ
ストコンピュータに逆転送される。最後に、マイクロプ
ロセッサ14がホストコンピュータに通知し、上記バッ
ファを解放する。
【0020】ディスク駆動機構が故障した場合の読み取
り 論理RAID−5アレイにおけるあるデータ用ディスク
駆動機構20が故障した場合、マイクロプロセッサ14
は、メモリ16内に5個のバッファを割り当て、読み取
り動作が優先的に行なわれる。上記バッファは最初、管
理のデッドロックの簡単な方法として割り当てられる
が、優先的なブースト(昇圧)は応答時間の分散を最小
とする。論理RAID−5アレイ内の生きているデータ
およびパリティ用ディスク駆動機構20の各々が利用可
能となると、マイクロプロセッサ14はそこにSCSI
読み取り命令を送る。SCSI読み取り命令が完了する
と、データブロックあるいはパリティブロックがメモリ
16に転送される。メモリ16内の5個のバッファ全部
が満杯になると、故障したディスク駆動機構20からの
データブロックを再構成するためにそれらバッファ上に
おいて排他的論理和動作が行なわれる。この再構成され
たデータブロックはホストコンピュータに転送される。
最後に、マイクロプロセッサ14がホストコンピュータ
に通知し、上記バッファを解放する。
り 論理RAID−5アレイにおけるあるデータ用ディスク
駆動機構20が故障した場合、マイクロプロセッサ14
は、メモリ16内に5個のバッファを割り当て、読み取
り動作が優先的に行なわれる。上記バッファは最初、管
理のデッドロックの簡単な方法として割り当てられる
が、優先的なブースト(昇圧)は応答時間の分散を最小
とする。論理RAID−5アレイ内の生きているデータ
およびパリティ用ディスク駆動機構20の各々が利用可
能となると、マイクロプロセッサ14はそこにSCSI
読み取り命令を送る。SCSI読み取り命令が完了する
と、データブロックあるいはパリティブロックがメモリ
16に転送される。メモリ16内の5個のバッファ全部
が満杯になると、故障したディスク駆動機構20からの
データブロックを再構成するためにそれらバッファ上に
おいて排他的論理和動作が行なわれる。この再構成され
たデータブロックはホストコンピュータに転送される。
最後に、マイクロプロセッサ14がホストコンピュータ
に通知し、上記バッファを解放する。
【0021】書き込み ある論理RAID−5アレイ内の全ディスク駆動機構2
0が利用可能になると、(1)データ用ディスク駆動機
構20から古いデータブロックを読みとり、(2)該デ
ータ用ディスク駆動機構20に新しいデータブロックを
書き込み、(3)パリティ用ディスク駆動機構20から
古いパリティブロックを読み取り、(4)それら古いデ
ータブロック、新しいデータブロックおよび古いパリテ
ィブロックの排他的論理和をパリティ用ディスク駆動機
構20に書き込むことによってデータブロックの記憶が
行なわれる。これらのステップは、パリティブロックを
維持して、当該論理RAID−5アレイ内のあるディス
ク駆動機構20が故障した場合に再構成が行えるように
する。
0が利用可能になると、(1)データ用ディスク駆動機
構20から古いデータブロックを読みとり、(2)該デ
ータ用ディスク駆動機構20に新しいデータブロックを
書き込み、(3)パリティ用ディスク駆動機構20から
古いパリティブロックを読み取り、(4)それら古いデ
ータブロック、新しいデータブロックおよび古いパリテ
ィブロックの排他的論理和をパリティ用ディスク駆動機
構20に書き込むことによってデータブロックの記憶が
行なわれる。これらのステップは、パリティブロックを
維持して、当該論理RAID−5アレイ内のあるディス
ク駆動機構20が故障した場合に再構成が行えるように
する。
【0022】ある論理RAID−5アレイ内のあるデー
タ用ディスク駆動機構20が故障した場合、当該RAI
D−5アレイ内の生きている4個のデータ用ディスク駆
動機構20が読み取られ、そこからのデータブロックが
新しいデータブロックとの排他的論理和をとられて新し
いパリティブロックを発生する。該論理RAID−5ア
レイ内のパリティ用ディスク駆動機構20が故障する
と、データ用ディスク駆動機構20が更新されが当該パ
リティ用ディスク駆動機構20は無視される。
タ用ディスク駆動機構20が故障した場合、当該RAI
D−5アレイ内の生きている4個のデータ用ディスク駆
動機構20が読み取られ、そこからのデータブロックが
新しいデータブロックとの排他的論理和をとられて新し
いパリティブロックを発生する。該論理RAID−5ア
レイ内のパリティ用ディスク駆動機構20が故障する
と、データ用ディスク駆動機構20が更新されが当該パ
リティ用ディスク駆動機構20は無視される。
【0023】もし読み取り動作が、非常に大きなデータ
ブロック、すなわち論理シリンダの境界を横切るデータ
ブロックを指定していたならば、この読み取り動作は、
2回あるいはそれ以上のより小さな読み取り動作に分割
してもよい。
ブロック、すなわち論理シリンダの境界を横切るデータ
ブロックを指定していたならば、この読み取り動作は、
2回あるいはそれ以上のより小さな読み取り動作に分割
してもよい。
【0024】ディスク駆動機構に故障が無い場合の書き
込み 書き込み動作は、データブロックのホストコンピュータ
アドレスをデータ用およびパリティ用ディスク駆動機構
20上の対応するSCSI論理ブロックアドレスにマッ
ピングする。マイクロプロセッサ14は、メモリ16内
に3個のバッファを割り当て、新しいデータブロックが
ホストコンピュータからその第1のバッファに転送され
る。データ用ディスク駆動機構20が利用可能となる
と、マイクロプロセッサ14は、そこにSCSI読み取
りおよび書き込み命令を送る。SCSI読み込み命令が
完了すると、古いデータブロックがメモリ16に第2の
バッファに転送され、新しいデータブロックがデータ用
ディスク駆動機構20に転送される。パリティ用ディス
ク駆動機構20が利用可能となると、マイクロプロセッ
サ14は、そこにSCSI読み取りおよび書き込み命令
を送る。SCSI読み取り命令が完了すると、古いパリ
ティブロックが第3のバッファに転送され、上記3個の
バッファの排他的論理和である新しいパリティブロック
がパリティ用ディスク駆動機構20に転送される。最後
に、マイクロプロセッサ14がホストコンピュータに通
知し、バッファを解放する。
込み 書き込み動作は、データブロックのホストコンピュータ
アドレスをデータ用およびパリティ用ディスク駆動機構
20上の対応するSCSI論理ブロックアドレスにマッ
ピングする。マイクロプロセッサ14は、メモリ16内
に3個のバッファを割り当て、新しいデータブロックが
ホストコンピュータからその第1のバッファに転送され
る。データ用ディスク駆動機構20が利用可能となる
と、マイクロプロセッサ14は、そこにSCSI読み取
りおよび書き込み命令を送る。SCSI読み込み命令が
完了すると、古いデータブロックがメモリ16に第2の
バッファに転送され、新しいデータブロックがデータ用
ディスク駆動機構20に転送される。パリティ用ディス
ク駆動機構20が利用可能となると、マイクロプロセッ
サ14は、そこにSCSI読み取りおよび書き込み命令
を送る。SCSI読み取り命令が完了すると、古いパリ
ティブロックが第3のバッファに転送され、上記3個の
バッファの排他的論理和である新しいパリティブロック
がパリティ用ディスク駆動機構20に転送される。最後
に、マイクロプロセッサ14がホストコンピュータに通
知し、バッファを解放する。
【0025】最初のコントローラ12、マイクロプロセ
ッサ14あるいはメモリ16が書き込み動作中に故障す
ると、データ用およびパリティ用ディスク駆動機構20
上のブロックの状態は、不確定になる可能性がある。も
し当該マトリックスがこれらの構成要素の1組を余分に
持っていたとすると、未決着の各書き込み動作は、この
余分のコントローラ12に対して再発行される。それか
ら、パリティブロックが、(不確定の)パリティブロッ
クからというよりも、寧ろ(以下の段落に記載するよう
に)新しいデータブロックおよび他のデータ用ディスク
駆動機構20から発生される。
ッサ14あるいはメモリ16が書き込み動作中に故障す
ると、データ用およびパリティ用ディスク駆動機構20
上のブロックの状態は、不確定になる可能性がある。も
し当該マトリックスがこれらの構成要素の1組を余分に
持っていたとすると、未決着の各書き込み動作は、この
余分のコントローラ12に対して再発行される。それか
ら、パリティブロックが、(不確定の)パリティブロッ
クからというよりも、寧ろ(以下の段落に記載するよう
に)新しいデータブロックおよび他のデータ用ディスク
駆動機構20から発生される。
【0026】データ用ディスク駆動機構が故障した場合
の書き込み ある論理RAID−5アレイにおけるあるデータ用ディ
スク駆動機構20が故障した場合、マイクロプロセッサ
14はメモリ16に5個のバッファを割り当て、読み取
り動作が優先的に行なわれる。新しいデータブロックが
ホストコンピュータから上記バッファのうちの1つに転
送される。論理RAID−5アレイ内の生きている4個
のデータ用ディスク駆動機構20の各々が利用可能とな
ると、マイクロプロセッサ14はそこにSCSI読み取
り命令を送る。全バッファが満杯になると、新しいパリ
ティブロックを構成するためにそれらバッファ上におい
て排他的論理和動作が行なわれる。パリティ用ディスク
駆動機構20が利用可能となると、マイクロプロセッサ
14は、そこにSCSI書き込み命令および新しいパリ
ティブロックを送る。最後に、マイクロプロセッサ14
がホストコンピュータに通知し、上記バッファを解放す
る。
の書き込み ある論理RAID−5アレイにおけるあるデータ用ディ
スク駆動機構20が故障した場合、マイクロプロセッサ
14はメモリ16に5個のバッファを割り当て、読み取
り動作が優先的に行なわれる。新しいデータブロックが
ホストコンピュータから上記バッファのうちの1つに転
送される。論理RAID−5アレイ内の生きている4個
のデータ用ディスク駆動機構20の各々が利用可能とな
ると、マイクロプロセッサ14はそこにSCSI読み取
り命令を送る。全バッファが満杯になると、新しいパリ
ティブロックを構成するためにそれらバッファ上におい
て排他的論理和動作が行なわれる。パリティ用ディスク
駆動機構20が利用可能となると、マイクロプロセッサ
14は、そこにSCSI書き込み命令および新しいパリ
ティブロックを送る。最後に、マイクロプロセッサ14
がホストコンピュータに通知し、上記バッファを解放す
る。
【0027】パリティ用ディスク駆動機構が故障した場
合の書き込み ある論理RAID−5アレイにおけるパリティ用ディス
ク駆動機構20が故障した場合、パリティブロックの更
新は無視される。新しいデータブロックがホストコンピ
ュータからメモリ16内に割り当てられたバッファに転
送される。データ用ディスク駆動機構20が利用可能と
なると、コントローラ12は、そこにSCSI書き込み
命令と新しいデータブロックを送る。最後に、マイクロ
プロセッサ14がホストコンピュータに通知し、上記バ
ッファを解放する。
合の書き込み ある論理RAID−5アレイにおけるパリティ用ディス
ク駆動機構20が故障した場合、パリティブロックの更
新は無視される。新しいデータブロックがホストコンピ
ュータからメモリ16内に割り当てられたバッファに転
送される。データ用ディスク駆動機構20が利用可能と
なると、コントローラ12は、そこにSCSI書き込み
命令と新しいデータブロックを送る。最後に、マイクロ
プロセッサ14がホストコンピュータに通知し、上記バ
ッファを解放する。
【0028】交換用ディスク駆動機構 上記マトリックスが交換用ディスク駆動機構22を備え
ている場合、故障したディスク駆動機構20の内容を該
交換用ディスク駆動機構22上に再構成することができ
る。再構成のステップは、論理RAID−5アレイ内の
パリティ用ディスク駆動機構20が故障したのかあるい
はデータ用ディスク駆動機構20が故障したのか、によ
って決まる。
ている場合、故障したディスク駆動機構20の内容を該
交換用ディスク駆動機構22上に再構成することができ
る。再構成のステップは、論理RAID−5アレイ内の
パリティ用ディスク駆動機構20が故障したのかあるい
はデータ用ディスク駆動機構20が故障したのか、によ
って決まる。
【0029】故障したディスク駆動機構20をデータ用
ディスク駆動機構20として使用している各論理RAI
D−5アレイに対して、再構成動作は、生きているデー
タ用ディスク駆動機構20およびパリティ用ディスク駆
動機構20を読み取り、所望のデータブロックを再構成
し、該再構成されたデータブロックを上記交換用ディス
ク駆動機構22上に記憶しなければならない。
ディスク駆動機構20として使用している各論理RAI
D−5アレイに対して、再構成動作は、生きているデー
タ用ディスク駆動機構20およびパリティ用ディスク駆
動機構20を読み取り、所望のデータブロックを再構成
し、該再構成されたデータブロックを上記交換用ディス
ク駆動機構22上に記憶しなければならない。
【0030】故障したディスク駆動機構20をパリティ
用ディスク駆動機構20として使用している各論理RA
ID−5アレイに対しては、再構成動作は、生きている
データ用ディスク駆動機構20を読み取り、所望のパリ
ティブロックを再構成し、該再構成されたパリティブロ
ックを上記交換用ディスク駆動機構22上に記憶しなけ
ればならない。
用ディスク駆動機構20として使用している各論理RA
ID−5アレイに対しては、再構成動作は、生きている
データ用ディスク駆動機構20を読み取り、所望のパリ
ティブロックを再構成し、該再構成されたパリティブロ
ックを上記交換用ディスク駆動機構22上に記憶しなけ
ればならない。
【0031】再構成動作が進むにつれ、故障したディス
ク駆動機構20を有する論理RAID−5に対する書き
込みは、交換用ディスク駆動機構22に対する更新も行
なわなければならない。再構成されたセクタと未再構成
のセクタの両者にまたがるデータブロックに対する書き
込みは、交換用ディスク駆動機構22上の再構成された
セクタとパリティ用ディスク駆動機構20上の未再構成
セクタとの両者を更新しなければならない。故障したデ
ィスク駆動機構20を有する論理RAID−5アレイに
対する読み取りは、交換用ディスク駆動機構22に対し
て再度行なうこともできるが、上述した再構成法を使用
することもできる。
ク駆動機構20を有する論理RAID−5に対する書き
込みは、交換用ディスク駆動機構22に対する更新も行
なわなければならない。再構成されたセクタと未再構成
のセクタの両者にまたがるデータブロックに対する書き
込みは、交換用ディスク駆動機構22上の再構成された
セクタとパリティ用ディスク駆動機構20上の未再構成
セクタとの両者を更新しなければならない。故障したデ
ィスク駆動機構20を有する論理RAID−5アレイに
対する読み取りは、交換用ディスク駆動機構22に対し
て再度行なうこともできるが、上述した再構成法を使用
することもできる。
【0032】マッピング方法 上述の如く、模範的な3x6マトリックスは、複数の論
理RAID−5アレイを支持しており、該論理RAID
−5アレイの各々は6個のディスク駆動機構20にまた
がっており、該ディスク駆動機構20の各々は1個の論
理シリンダを記憶する。マイクロコンピュータ14は、
どのディスク駆動機構20が特定の論理RAID−5ア
レイに属するかを判定するのにマッピング方法を使用す
る。好適な本実施例において使用されているマッピング
方法の以下の説明は、例示および説明の目的にのみ供さ
れる。また、この記載は網羅的なものを意図した訳では
なく、また本発明は開示されたマッピング方法そのもの
に限定されるわけでもない。当業者ならば、より多数の
ディスク駆動機構20からのディスク駆動機構のサブセ
ットを使用して論理アレイを創出するのに使用し得るマ
ッピング方法が多数あることを認識するであろう。
理RAID−5アレイを支持しており、該論理RAID
−5アレイの各々は6個のディスク駆動機構20にまた
がっており、該ディスク駆動機構20の各々は1個の論
理シリンダを記憶する。マイクロコンピュータ14は、
どのディスク駆動機構20が特定の論理RAID−5ア
レイに属するかを判定するのにマッピング方法を使用す
る。好適な本実施例において使用されているマッピング
方法の以下の説明は、例示および説明の目的にのみ供さ
れる。また、この記載は網羅的なものを意図した訳では
なく、また本発明は開示されたマッピング方法そのもの
に限定されるわけでもない。当業者ならば、より多数の
ディスク駆動機構20からのディスク駆動機構のサブセ
ットを使用して論理アレイを創出するのに使用し得るマ
ッピング方法が多数あることを認識するであろう。
【0033】上記模範的なシステムの3x6マトリック
スのためのマッピング方法は、図2に最も良く図示され
ている。図2における9個の「領域」の各々は、3個の
論理RAID−5を示しており、その各論理RAID−
5アレイに関連するディスク駆動機構20は、それぞれ
番号「1」,「2」,「3」を付されている。該マッピ
ング法方法、いずれの行のいずれのディスク駆動機構2
0に対しても、冗長度情報、すなわちパリティ、を残り
の行のディスク駆動機構20の全部にわたって均一に分
配する。
スのためのマッピング方法は、図2に最も良く図示され
ている。図2における9個の「領域」の各々は、3個の
論理RAID−5を示しており、その各論理RAID−
5アレイに関連するディスク駆動機構20は、それぞれ
番号「1」,「2」,「3」を付されている。該マッピ
ング法方法、いずれの行のいずれのディスク駆動機構2
0に対しても、冗長度情報、すなわちパリティ、を残り
の行のディスク駆動機構20の全部にわたって均一に分
配する。
【0034】領域0ないし2においては、その論理RA
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の水平方向の組合せを、右側の3個のディスク駆
動機構20の3個の水平方向の組合せにより置換する全
ての可能な置換法を含んでいる。
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の水平方向の組合せを、右側の3個のディスク駆
動機構20の3個の水平方向の組合せにより置換する全
ての可能な置換法を含んでいる。
【0035】領域3ないし5においては、その論理RA
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の下向きの対角線方向の組合せを、右側の3個の
ディスク駆動機構20の3個の下向きの対角線方向の組
合せにより置換する全ての可能な置換法を含んでいる。
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の下向きの対角線方向の組合せを、右側の3個の
ディスク駆動機構20の3個の下向きの対角線方向の組
合せにより置換する全ての可能な置換法を含んでいる。
【0036】領域6ないし8においては、その論理RA
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の上向きの対角線方向の組合せを、右側の3個の
ディスク駆動機構20の3個の上向きの対角線方向の組
合せにより置換する全ての可能な置換法を含んでいる。
ID−5アレイは、左側の3個のディスク駆動機構20
の3個の上向きの対角線方向の組合せを、右側の3個の
ディスク駆動機構20の3個の上向きの対角線方向の組
合せにより置換する全ての可能な置換法を含んでいる。
【0037】下記の公式は、ホストコンピュータから受
け取ったデータアドレスを論理データシリンダにマッピ
ングし、またホストコンピュータから受け取った論理ユ
ニット番号をマトリックス内のデータ用ディスク駆動機
構20を特定するマトリックスの行番号と列番号とにマ
ッピングするために読み取りおよび書き込み動作におい
て使用される。 HosCyl = HosAdr / CylSize DatCyl = HosCyl + HosCyl / (Width − Redund) * Redund DatCol = HosLun % Width DatRow = HosLun / Width ここで(a)HosAdrは、ホストコンピュータから
受け取ったデータアドレス、(b)CylSizeは、
論理RAID−5アレイにおける論理シリンダのサイ
ズ、(c)HosCylは、ホストコンピュータから受
け取ったデータアドレスから計算されたシリンダ、
(d)HosLunは、ホストコンピュータから受け取
った論理ユニット番号、(e)DatCylは、論理デ
ータシリンダ、(f)DatColは、データ用ディス
ク駆動機構20を特定する行番号、(g)DatRow
は、データ用ディスク駆動機構20を特定する列番号、
(h)Widthは、マトリックス用の幅、例えば好適
な本実施例においては6、(i)Redundは、論理
RAID−5アレイにおける冗長用ディスク駆動機構2
0の総数、例えば好適な本実施例においては1個のパリ
ティ用ディスク駆動機構20であり、(j)演算子
「/」は、切断付きの整数の割り算、(k)演算子
「*」は、かけ算、(l)演算子「%」は、モジュロー
割り算を示す。
け取ったデータアドレスを論理データシリンダにマッピ
ングし、またホストコンピュータから受け取った論理ユ
ニット番号をマトリックス内のデータ用ディスク駆動機
構20を特定するマトリックスの行番号と列番号とにマ
ッピングするために読み取りおよび書き込み動作におい
て使用される。 HosCyl = HosAdr / CylSize DatCyl = HosCyl + HosCyl / (Width − Redund) * Redund DatCol = HosLun % Width DatRow = HosLun / Width ここで(a)HosAdrは、ホストコンピュータから
受け取ったデータアドレス、(b)CylSizeは、
論理RAID−5アレイにおける論理シリンダのサイ
ズ、(c)HosCylは、ホストコンピュータから受
け取ったデータアドレスから計算されたシリンダ、
(d)HosLunは、ホストコンピュータから受け取
った論理ユニット番号、(e)DatCylは、論理デ
ータシリンダ、(f)DatColは、データ用ディス
ク駆動機構20を特定する行番号、(g)DatRow
は、データ用ディスク駆動機構20を特定する列番号、
(h)Widthは、マトリックス用の幅、例えば好適
な本実施例においては6、(i)Redundは、論理
RAID−5アレイにおける冗長用ディスク駆動機構2
0の総数、例えば好適な本実施例においては1個のパリ
ティ用ディスク駆動機構20であり、(j)演算子
「/」は、切断付きの整数の割り算、(k)演算子
「*」は、かけ算、(l)演算子「%」は、モジュロー
割り算を示す。
【0038】上記公式は、ディスク駆動機構20の故障
が無い場合の読み取りおよび書き込み動作をマッピング
するものである。簡単化および明瞭化のため、データ用
ディスク駆動機構20が交換用ディスク駆動機構22上
に再構成された場合に要求される追加のマッピングは図
示されていない。当業者ならば、列番号および行番号が
故障したデータ用ディスク駆動機構20に対応する場
合、それの代わりに交換用ディスク駆動機構22が使用
されることを認識するであろう。
が無い場合の読み取りおよび書き込み動作をマッピング
するものである。簡単化および明瞭化のため、データ用
ディスク駆動機構20が交換用ディスク駆動機構22上
に再構成された場合に要求される追加のマッピングは図
示されていない。当業者ならば、列番号および行番号が
故障したデータ用ディスク駆動機構20に対応する場
合、それの代わりに交換用ディスク駆動機構22が使用
されることを認識するであろう。
【0039】下記の公式は、(上記のように計算され
た)論理データシリンダを論理パリティシリンダにマッ
ピングし、また(上記のように計算された)データ用デ
ィスク駆動機構20を特定するマトリックスの行番号と
列番号とを、パリティ用ディスク駆動機構20を特定す
るマトリックスの行番号と列番号とにマッピングするた
めに読み取りおよび書き込み動作において使用される。 ParCyl = (DatCyl / Width) * Width + (Width − 1) ParCol = (DatCyl + DatCol + 1) % Width NumReg = Depth ** ((Width + Depth − 1) / Depth) Region = (ParCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1) + (if Datside < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth ここで(a)ParCylは、論理パリティシリンダ、
(b)ParColは、パリティ用ディスク駆動機構2
0を特定する行番号、(c)Depthは、マトリック
スの深さ、例えば好適な本実施例においては3個のディ
スク駆動機構、(d)NumRegは、Region
(領域)の総数、例えば図2に図示するように好適な本
実施例においては9、(e)Regionは、好適な本
実施例のための図2に図示するように領域0ないし8を
特定する番号、(f)Angleは、好適な本実施例の
ための図2に図示するように水平(0)、下向き
(1)、あるいは上向き(2)であり、(g)Offs
etは、好適な本実施例のための図2に図示するよう
に、右側3個のディスク駆動機構20の角度パターン
の、左側3個のディスク駆動機構20の角度パターンか
らの列におけるオフセットを特定するものであり、
(h)DatSideは、好適な本実施例のための図2
に図示するように、もし当該データ用ディスク駆動機構
20が右側3行におけるディスク駆動機構20の1つで
あった場合には1、その他の場合には0、(i)Par
Sideは、好適な本実施例のための図2に図示するよ
うに、もし当該パリティ用ディスク駆動機構20が右側
3行におけるディスク駆動機構20の1つであった場合
には1、その他の場合には0、(j)ParRowは、
パリティ用ディスク駆動機構20を特定する列番号であ
り、(k)演算子「**」は、指数のベキにあげる演算
を示すものである。
た)論理データシリンダを論理パリティシリンダにマッ
ピングし、また(上記のように計算された)データ用デ
ィスク駆動機構20を特定するマトリックスの行番号と
列番号とを、パリティ用ディスク駆動機構20を特定す
るマトリックスの行番号と列番号とにマッピングするた
めに読み取りおよび書き込み動作において使用される。 ParCyl = (DatCyl / Width) * Width + (Width − 1) ParCol = (DatCyl + DatCol + 1) % Width NumReg = Depth ** ((Width + Depth − 1) / Depth) Region = (ParCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1) + (if Datside < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth ここで(a)ParCylは、論理パリティシリンダ、
(b)ParColは、パリティ用ディスク駆動機構2
0を特定する行番号、(c)Depthは、マトリック
スの深さ、例えば好適な本実施例においては3個のディ
スク駆動機構、(d)NumRegは、Region
(領域)の総数、例えば図2に図示するように好適な本
実施例においては9、(e)Regionは、好適な本
実施例のための図2に図示するように領域0ないし8を
特定する番号、(f)Angleは、好適な本実施例の
ための図2に図示するように水平(0)、下向き
(1)、あるいは上向き(2)であり、(g)Offs
etは、好適な本実施例のための図2に図示するよう
に、右側3個のディスク駆動機構20の角度パターン
の、左側3個のディスク駆動機構20の角度パターンか
らの列におけるオフセットを特定するものであり、
(h)DatSideは、好適な本実施例のための図2
に図示するように、もし当該データ用ディスク駆動機構
20が右側3行におけるディスク駆動機構20の1つで
あった場合には1、その他の場合には0、(i)Par
Sideは、好適な本実施例のための図2に図示するよ
うに、もし当該パリティ用ディスク駆動機構20が右側
3行におけるディスク駆動機構20の1つであった場合
には1、その他の場合には0、(j)ParRowは、
パリティ用ディスク駆動機構20を特定する列番号であ
り、(k)演算子「**」は、指数のベキにあげる演算
を示すものである。
【0040】上記の公式は、ディスク駆動機構20の故
障がない場合に読み取りおよび書き込み動作をマッピン
グするものである。簡潔化および明瞭化のため、パリテ
ィ用ディスク駆動機構20が交換用ディスク駆動機構2
2上に再構成された場合に要する追加のマッピングは図
示されていない。当業者ならば、列番号および行番号が
故障したパリティ用ディスク駆動機構20に対応する場
合、それの代わりに交換用ディスク駆動機構22が使用
されることを認識するであろう。
障がない場合に読み取りおよび書き込み動作をマッピン
グするものである。簡潔化および明瞭化のため、パリテ
ィ用ディスク駆動機構20が交換用ディスク駆動機構2
2上に再構成された場合に要する追加のマッピングは図
示されていない。当業者ならば、列番号および行番号が
故障したパリティ用ディスク駆動機構20に対応する場
合、それの代わりに交換用ディスク駆動機構22が使用
されることを認識するであろう。
【0041】下記の例は、幅が6、深さが3で、冗長デ
ィスク駆動機構を1個だけ使用し、シリンダサイズを1
メガバイト、すなわち1,048,576バイトとした
場合の上記の模範的な3x6マトリックスにおけるマッ
ピング方法の結果を示すものである。
ィスク駆動機構を1個だけ使用し、シリンダサイズを1
メガバイト、すなわち1,048,576バイトとした
場合の上記の模範的な3x6マトリックスにおけるマッ
ピング方法の結果を示すものである。
【0042】ホストコンピュータは、論理ユニット番号
0のバイトアドレス232,000にデータブロックの
書き込みをしようとしている、と仮定すると、 HosAdr = 232,000 HosLun = 0 CylSize = 1,048,576 HosCyl = 0 すると、これらは、下記の論理データシリンダ、行番
号、および列番号にマッピングされる。 DatCyl = 0 DatCol = 0 DatRow = 0 関連する論理パリティシリンダ、行番号および列番号
は、 ParCyl = 5 ParCol = 1 NumReg = 9 Region = 0 Angle = 0 Offset = 0 DatSide = 0 Parside = 0 ParRow = 0 もっと複雑な例として、ホストコンピュータは、論理ユ
ニット12上のバイトアドレス54,757,952に
データブロックの書き込みをしようとしている、と仮定
すると、 HosLun = 12 HosAdr = 54,757,952 CylSize = 1,048,576 HosCyl = 52 すると、これらは下記の論理データシリンダ、行番号お
よび列番号にマッピングされる。 DatCyl = 62 DatCol = 0 DatRow = 2 関連する論理パリティシリンダ、行番号および列番号
は、 ParCyl = 65 ParCol = 3 NumReg = 9 Region = 1 Angle = 0 Offset = 1 DatSide = 0 ParSide = 1 ParRow = 0
0のバイトアドレス232,000にデータブロックの
書き込みをしようとしている、と仮定すると、 HosAdr = 232,000 HosLun = 0 CylSize = 1,048,576 HosCyl = 0 すると、これらは、下記の論理データシリンダ、行番
号、および列番号にマッピングされる。 DatCyl = 0 DatCol = 0 DatRow = 0 関連する論理パリティシリンダ、行番号および列番号
は、 ParCyl = 5 ParCol = 1 NumReg = 9 Region = 0 Angle = 0 Offset = 0 DatSide = 0 Parside = 0 ParRow = 0 もっと複雑な例として、ホストコンピュータは、論理ユ
ニット12上のバイトアドレス54,757,952に
データブロックの書き込みをしようとしている、と仮定
すると、 HosLun = 12 HosAdr = 54,757,952 CylSize = 1,048,576 HosCyl = 52 すると、これらは下記の論理データシリンダ、行番号お
よび列番号にマッピングされる。 DatCyl = 62 DatCol = 0 DatRow = 2 関連する論理パリティシリンダ、行番号および列番号
は、 ParCyl = 65 ParCol = 3 NumReg = 9 Region = 1 Angle = 0 Offset = 1 DatSide = 0 ParSide = 1 ParRow = 0
【0043】当業者ならば、パリティを記憶するのに別
の方法を使用することができるであろうことを認識する
であろう。例えば、パリティブロックは、異なった方法
を使用して論理RAID−5アレイ内のディスク駆動機
構20の間で回転させることができるであろうし、ある
いはまた、パリティブロックは、論理RAID−5内の
1個の特定のディスク駆動機構20上、例えば、論理R
AID−5アレイ内の最後のディスク駆動機構20上、
に固定して配置することもできるであろう。
の方法を使用することができるであろうことを認識する
であろう。例えば、パリティブロックは、異なった方法
を使用して論理RAID−5アレイ内のディスク駆動機
構20の間で回転させることができるであろうし、ある
いはまた、パリティブロックは、論理RAID−5内の
1個の特定のディスク駆動機構20上、例えば、論理R
AID−5アレイ内の最後のディスク駆動機構20上、
に固定して配置することもできるであろう。
【0044】ディスク駆動機構20が故障した場合、お
よびその内容が交換用ディスク駆動機構22上に再構成
された場合には、上記マッピング方法は、その故障した
ディスク駆動機構20を交換用ディスク駆動機構22と
交換する。ディスク駆動機構20についての説明は、活
動状態の交換装置である交換用ディスク駆動機構22に
も該当することである。
よびその内容が交換用ディスク駆動機構22上に再構成
された場合には、上記マッピング方法は、その故障した
ディスク駆動機構20を交換用ディスク駆動機構22と
交換する。ディスク駆動機構20についての説明は、活
動状態の交換装置である交換用ディスク駆動機構22に
も該当することである。
【0045】当業者ならば、マトリックス内の各ディス
ク駆動機構20を多数の独特の論理RAID−5アレイ
に関連させることができるであろうことを認識するであ
ろう。さらに、本明細書に記載したマッピング方法は、
任意のサイズのマトリックスおよび論理RAID−5ア
レイ用に拡張あるいは切断することができる。また、1
個を超える個数のディスク駆動機構20の故障から回復
させるために、さらに追加の交換用ディスク駆動機構を
組み込むこともできる。本明細書に記載された模範的な
3x6マトリックスの特徴は、例示の目的のみのために
与えられたものである。
ク駆動機構20を多数の独特の論理RAID−5アレイ
に関連させることができるであろうことを認識するであ
ろう。さらに、本明細書に記載したマッピング方法は、
任意のサイズのマトリックスおよび論理RAID−5ア
レイ用に拡張あるいは切断することができる。また、1
個を超える個数のディスク駆動機構20の故障から回復
させるために、さらに追加の交換用ディスク駆動機構を
組み込むこともできる。本明細書に記載された模範的な
3x6マトリックスの特徴は、例示の目的のみのために
与えられたものである。
【0046】他の実施例 これは、本発明の好適な実施例の説明に結論を下すもの
である。以下の記載は、本発明の他の実施例を説明する
ものである。
である。以下の記載は、本発明の他の実施例を説明する
ものである。
【0047】好適な実施例において説明された3x6マ
トリックスの代わりに、異なったマトリックスの大きさ
とすることができるであろう。上記マッピング方法に対
する第1の影響は、パリティ用ディスク駆動機構20の
ための計算にあるであろう。Width,Depth,
NumReg,Region,Angle,Offse
t,DatSideおよびParsideという変数
は、上に示した例とは異なった計算状態および数値を表
すことになるであろう、ということに注意すべきであ
る。
トリックスの代わりに、異なったマトリックスの大きさ
とすることができるであろう。上記マッピング方法に対
する第1の影響は、パリティ用ディスク駆動機構20の
ための計算にあるであろう。Width,Depth,
NumReg,Region,Angle,Offse
t,DatSideおよびParsideという変数
は、上に示した例とは異なった計算状態および数値を表
すことになるであろう、ということに注意すべきであ
る。
【0048】例えば、Depthが素数であってWid
thがDepthより小あるいはそれに等しいが2より
も小さくなかったならば、DatCyl,DatCo
l,Datrow,ParCylおよびParColは
上記のように計算されるであろうが、ParRowは Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth と計算されることになるであろう。
thがDepthより小あるいはそれに等しいが2より
も小さくなかったならば、DatCyl,DatCo
l,Datrow,ParCylおよびParColは
上記のように計算されるであろうが、ParRowは Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth と計算されることになるであろう。
【0049】もしDepthが素数でWidthがDe
pthよりも大であるがDepthの2倍よりも小さい
かあるいはそれに等しかったならば、DatCyl,D
atCol,Datrow,ParCylおよびPar
Colは上記のように計算されるであろうが、ParR
owは Region = (DatCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth と計算されることになるであろう。
pthよりも大であるがDepthの2倍よりも小さい
かあるいはそれに等しかったならば、DatCyl,D
atCol,Datrow,ParCylおよびPar
Colは上記のように計算されるであろうが、ParR
owは Region = (DatCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth と計算されることになるであろう。
【0050】当業者ならば、上記公式に代わるものが多
数あることを認識するであろう。上記公式は、例示およ
び説明の目的でのみ与えられたものであり、網羅的なも
のであることを意図したものではない。
数あることを認識するであろう。上記公式は、例示およ
び説明の目的でのみ与えられたものであり、網羅的なも
のであることを意図したものではない。
【0051】マトリックスの異なった大きさに基づく代
替手段に加えて、論理アレイにおける冗長情報をマッピ
ングするための代替方法を、好適な実施例において説明
した方法に替えて使用することができるであろう。
替手段に加えて、論理アレイにおける冗長情報をマッピ
ングするための代替方法を、好適な実施例において説明
した方法に替えて使用することができるであろう。
【0052】例えば、1個の冗長ディスク駆動機構2
0、すなわちパリティ用駆動機構20に替えて、2個の
冗長ディスク駆動機構20、すなわち1個のパリティ用
駆動機構20と1個の商用ディスク駆動機構20を使用
することができるであろう。下記の公式は、論理データ
シリンダを論理パリティシリンダ内と論理商シリンダ内
とにマッピングし、データ用ディスク駆動機構20を特
定するマトリックスの行および列を、パリティ用ディス
ク駆動機構20を特定するマトリックスの行および列内
と商用ディスク駆動機構20を特定するマトリックスの
行および列内とにマッピングするために読み取りおよび
書き込み動作において使用される。 ParCyl = (DatCyl / Width) * Width + (Width − 1) QuoCyl = (DatCyl / Width) * Width + (Width − 2) ParCol = (DatCyl + DatCol + 1) % Width QuoCol = (DatCyl + DatCol + 2) % Width NumReg = Depth ** ((Width + Depth − 1) / Depth) Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth QuoRow = (DatRow + Region * (DatCyl + 2)) % Depth ここで、ParCylは、論理パリティシリンダ、Pa
rColは、パリティ用ディスク駆動機構20を特定す
る行番号、ParRowは、パリティ用ディスク駆動機
構20を特定する列番号、QuoCylは、論理商シリ
ンダ、QuoColは、商用ディスク駆動機構20を特
定する行番号、QuoRowは、マトリックスにおける
商用ディスク駆動機構20を特定する列番号である。
0、すなわちパリティ用駆動機構20に替えて、2個の
冗長ディスク駆動機構20、すなわち1個のパリティ用
駆動機構20と1個の商用ディスク駆動機構20を使用
することができるであろう。下記の公式は、論理データ
シリンダを論理パリティシリンダ内と論理商シリンダ内
とにマッピングし、データ用ディスク駆動機構20を特
定するマトリックスの行および列を、パリティ用ディス
ク駆動機構20を特定するマトリックスの行および列内
と商用ディスク駆動機構20を特定するマトリックスの
行および列内とにマッピングするために読み取りおよび
書き込み動作において使用される。 ParCyl = (DatCyl / Width) * Width + (Width − 1) QuoCyl = (DatCyl / Width) * Width + (Width − 2) ParCol = (DatCyl + DatCol + 1) % Width QuoCol = (DatCyl + DatCol + 2) % Width NumReg = Depth ** ((Width + Depth − 1) / Depth) Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth QuoRow = (DatRow + Region * (DatCyl + 2)) % Depth ここで、ParCylは、論理パリティシリンダ、Pa
rColは、パリティ用ディスク駆動機構20を特定す
る行番号、ParRowは、パリティ用ディスク駆動機
構20を特定する列番号、QuoCylは、論理商シリ
ンダ、QuoColは、商用ディスク駆動機構20を特
定する行番号、QuoRowは、マトリックスにおける
商用ディスク駆動機構20を特定する列番号である。
【0053】さらに、マトリックスの異なった大きさ
は、パリティ用および商用ディスク駆動機構20のため
のマッピング方法に対しても影響を与えるであろう。W
idth,Depth,NumReg,Region,
Angle,Offset,Datside,Pars
ideおよびQuoSideという変数は、上に示した
例とは異なったものとなるであろう、ということに注意
すべきである。
は、パリティ用および商用ディスク駆動機構20のため
のマッピング方法に対しても影響を与えるであろう。W
idth,Depth,NumReg,Region,
Angle,Offset,Datside,Pars
ideおよびQuoSideという変数は、上に示した
例とは異なったものとなるであろう、ということに注意
すべきである。
【0054】例えば、もしDepthが素数でWidt
hがDepthより小かあるいはそれに等しいが4より
は小さかったならば、DatCyl,DatCol,D
atRow,ParCyl,ParCol,QuoCy
l、およびQuoColは上述したように計算されるで
あろうが、ParRowおよびQuoRowは Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth QuoRow = (DatRow + Region * (DatCyl + 2)) % Depth のように計算されるであろう。
hがDepthより小かあるいはそれに等しいが4より
は小さかったならば、DatCyl,DatCol,D
atRow,ParCyl,ParCol,QuoCy
l、およびQuoColは上述したように計算されるで
あろうが、ParRowおよびQuoRowは Region = (DatCyl / Width) % NumReg ParRow = (DatRow + Region * (DatCyl + 1)) % Depth QuoRow = (DatRow + Region * (DatCyl + 2)) % Depth のように計算されるであろう。
【0055】もしDepthが素数でWidthがDe
pthよりも大であるがDepthの2倍よりも小さい
かあるいはそれに等しかったならば、DatCyl,D
atCol,DatRow,ParCyl,ParCo
l,QuoCylおよびQuoColは上述したように
計算されるであろうが、ParRowおよびQuoRo
wは Region = (DatCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth QuoSide = QuoCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth QuoRow = (DatRow + Angle * (DatCyl + 2)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth のように計算されるであろう。
pthよりも大であるがDepthの2倍よりも小さい
かあるいはそれに等しかったならば、DatCyl,D
atCol,DatRow,ParCyl,ParCo
l,QuoCylおよびQuoColは上述したように
計算されるであろうが、ParRowおよびQuoRo
wは Region = (DatCyl / Width) % NumReg Angle = Region / Depth Offset = Region % Depth DatSide = DatCol / Depth ParSide = ParCol / Depth QuoSide = QuoCol / Depth ParRow = (DatRow + Angle * (DatCyl + 1)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth QuoRow = (DatRow + Angle * (DatCyl + 2)) + (if DatSide < ParSide then Offset else 0) + (if DatSide > ParSide then Depth − Offset else 0)) % Depth のように計算されるであろう。
【0056】冗長ディスク駆動機構20が1個の場合と
同様に、当業者ならば、上記公式に代わるものが多数あ
ることを認識するであろう。上記公式は例示および説明
の目的でのみ与えられたものであり、網羅的なものとす
ることを意図したものではない。
同様に、当業者ならば、上記公式に代わるものが多数あ
ることを認識するであろう。上記公式は例示および説明
の目的でのみ与えられたものであり、網羅的なものとす
ることを意図したものではない。
【0057】
【発明の効果】本発明の目的は、複数のディスク駆動機
構を備えた故障許容ディスク駆動機構マトリックスを提
供することである。マッピング方法は、ディスク駆動機
構のサブセットを論理RAID−5アレイに関連させ
る。マトリックス内のディスク駆動機構の各々は、複数
の異なった論理RAID−5アレイに関連させてもよ
い。データの論理ユニットがブロックに細分割されて、
論理RAID−5アレイのディスク駆動機構にまたがっ
てインターリーブ式に記憶される。マトリックス内の論
理RAID−5アレイ上におけるデータおよびパリティ
ブロックの配置は、ディスク駆動機構が故障した場合の
スループットの低下を低減させる。ディスク駆動機構が
故障した場合には、該故障したディスク駆動機構上に記
憶されていたデータブロックは、当該論理RAID−5
アレイ内の生きているディスク駆動機構からの冗長ブロ
ックおよびデータブロックを使用して再構成することが
できる。論理RAID−5内の故障したディスク駆動機
構の代わりとなる交換用ディスク駆動機構を設けてもよ
い。かくして、論理RAID−5アレイの、マトリック
ス内における物理的ディスク駆動機構に対するマッピン
グは、故障によって生ずるディスク駆動機構の交換によ
り、位置および同一性が変化する可能性がある。
構を備えた故障許容ディスク駆動機構マトリックスを提
供することである。マッピング方法は、ディスク駆動機
構のサブセットを論理RAID−5アレイに関連させ
る。マトリックス内のディスク駆動機構の各々は、複数
の異なった論理RAID−5アレイに関連させてもよ
い。データの論理ユニットがブロックに細分割されて、
論理RAID−5アレイのディスク駆動機構にまたがっ
てインターリーブ式に記憶される。マトリックス内の論
理RAID−5アレイ上におけるデータおよびパリティ
ブロックの配置は、ディスク駆動機構が故障した場合の
スループットの低下を低減させる。ディスク駆動機構が
故障した場合には、該故障したディスク駆動機構上に記
憶されていたデータブロックは、当該論理RAID−5
アレイ内の生きているディスク駆動機構からの冗長ブロ
ックおよびデータブロックを使用して再構成することが
できる。論理RAID−5内の故障したディスク駆動機
構の代わりとなる交換用ディスク駆動機構を設けてもよ
い。かくして、論理RAID−5アレイの、マトリック
ス内における物理的ディスク駆動機構に対するマッピン
グは、故障によって生ずるディスク駆動機構の交換によ
り、位置および同一性が変化する可能性がある。
【0058】本発明の好適な実施例の上記説明は、例示
および説明の目的で提示したものである。網羅的なもの
を意図した訳ではなく、また本発明を開示された形態の
ものに限定する意図のものでもない。上記教示に照ら
し、多数の修正および変更が可能である。本発明の範囲
は、この詳細な説明によってではなく、むしろ本明細書
に記載の特許請求の範囲によって限定されることを意図
したものである。
および説明の目的で提示したものである。網羅的なもの
を意図した訳ではなく、また本発明を開示された形態の
ものに限定する意図のものでもない。上記教示に照ら
し、多数の修正および変更が可能である。本発明の範囲
は、この詳細な説明によってではなく、むしろ本明細書
に記載の特許請求の範囲によって限定されることを意図
したものである。
【図1】本発明のディスク駆動機構マトリックスの構成
要素を示すブロック図である。
要素を示すブロック図である。
【図2】本発明のマトリックス内における論理RAID
−5アレイの配置を決定するためのマッピング方法を示
すブロック図である。
−5アレイの配置を決定するためのマッピング方法を示
すブロック図である。
Claims (1)
- 【請求項1】複数のディスク装置(20)をグループ分
けし、各ディスク装置(20)それぞれが、冗長する複
数の異なる論理アレイ(0,1,2)に連関するように
割り当てるマッピング手段と、 論理的に区割されたデータの論理ユニットをさらにブロ
ックに細分割し、そのブロックを各データの論理ユニッ
ト毎に異なる論理的アレイ(0,1,2,3)にそれぞ
れ分散させて記憶し、故障したディスク装置が属する複
数の論理アレイ上のデータから故障したディスク装置の
データを再生するようにした複数の記憶制御手段とから
なる複数のディスク装置を有するデータ記憶装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US662744 | 1984-10-19 | ||
| US07/662,744 US5303244A (en) | 1991-03-01 | 1991-03-01 | Fault tolerant disk drive matrix |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06180634A true JPH06180634A (ja) | 1994-06-28 |
Family
ID=24659021
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4075744A Pending JPH06180634A (ja) | 1991-03-01 | 1992-02-28 | 複数のディスク装置を有するデータ記憶装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5303244A (ja) |
| EP (1) | EP0501818A1 (ja) |
| JP (1) | JPH06180634A (ja) |
Families Citing this family (74)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5537566A (en) * | 1991-12-17 | 1996-07-16 | Fujitsu Limited | Apparatus and method for controlling background processing in disk array device |
| US5974544A (en) * | 1991-12-17 | 1999-10-26 | Dell Usa, L.P. | Method and controller for defect tracking in a redundant array |
| JP3160106B2 (ja) * | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | ディスクアレーの区分け方法 |
| US5526507A (en) * | 1992-01-06 | 1996-06-11 | Hill; Andrew J. W. | Computer memory array control for accessing different memory banks simullaneously |
| GB2264798A (en) * | 1992-03-04 | 1993-09-08 | Hitachi Ltd | High speed access control |
| JPH05341918A (ja) * | 1992-05-12 | 1993-12-24 | Internatl Business Mach Corp <Ibm> | 二重化デイスク記憶装置システムを構成するための接続装置 |
| US5857112A (en) * | 1992-09-09 | 1999-01-05 | Hashemi; Ebrahim | System for achieving enhanced performance and data availability in a unified redundant array of disk drives by using user defined partitioning and level of redundancy |
| US5412661A (en) * | 1992-10-06 | 1995-05-02 | International Business Machines Corporation | Two-dimensional disk array |
| US5666511A (en) * | 1992-10-08 | 1997-09-09 | Fujitsu Limited | Deadlock suppressing schemes in a raid system |
| US5574851A (en) * | 1993-04-19 | 1996-11-12 | At&T Global Information Solutions Company | Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations |
| US5596727A (en) * | 1993-06-02 | 1997-01-21 | Lucent Technologies Inc. | Arrangement for expanding the device capacity of a bus |
| US5511227A (en) * | 1993-09-30 | 1996-04-23 | Dell Usa, L.P. | Method for configuring a composite drive for a disk drive array controller |
| JP2912802B2 (ja) * | 1993-10-14 | 1999-06-28 | 富士通株式会社 | ディスクアレイ装置の故障対処方法および装置 |
| US5632012A (en) * | 1993-11-24 | 1997-05-20 | Storage Technology Corporation | Disk scrubbing system |
| US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
| US5499253A (en) * | 1994-01-05 | 1996-03-12 | Digital Equipment Corporation | System and method for calculating RAID 6 check codes |
| US5659682A (en) * | 1994-06-16 | 1997-08-19 | International Business Machines Corporation | Scheme to determine completion of directory operations for server recovery |
| US5590381A (en) * | 1994-06-30 | 1996-12-31 | Lucent Technologies Inc. | Method and apparatus for buffered video playback of video content distributed on a plurality of disks |
| US5524204A (en) * | 1994-11-03 | 1996-06-04 | International Business Machines Corporation | Method and apparatus for dynamically expanding a redundant array of disk drives |
| US5748885A (en) * | 1994-12-23 | 1998-05-05 | Emc Corporation | Method and apparatus for reduction of I/O operations in persistent storage system |
| US5604873A (en) * | 1994-12-28 | 1997-02-18 | Intel Corporation | Circuitry for controlling power application to a hot docking SCSI SCA disk drive |
| US5708793A (en) * | 1995-03-31 | 1998-01-13 | International Business Machines Corporation | Method and apparatus using address and read head location information to provide optimal operation of a disk system |
| US5678061A (en) * | 1995-07-19 | 1997-10-14 | Lucent Technologies Inc. | Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks |
| US5740397A (en) * | 1995-10-11 | 1998-04-14 | Arco Computer Products, Inc. | IDE disk drive adapter for computer backup and fault tolerance |
| US6449730B2 (en) | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
| US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
| US5787242A (en) * | 1995-12-29 | 1998-07-28 | Symbios Logic Inc. | Method and apparatus for treatment of deferred write data for a dead raid device |
| US5758050A (en) * | 1996-03-12 | 1998-05-26 | International Business Machines Corporation | Reconfigurable data storage system |
| US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
| 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 |
| 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 |
| GB2312319B (en) | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
| CA2201692C (en) * | 1996-04-15 | 2004-05-25 | Raju C. Bopardikar | Video data storage |
| US6118931A (en) * | 1996-04-15 | 2000-09-12 | Discreet Logic Inc. | Video data storage |
| CA2201679A1 (en) | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Video data storage |
| US6055577A (en) * | 1996-05-06 | 2000-04-25 | Oracle Corporation | System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth |
| US5805788A (en) * | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
| US5862313A (en) * | 1996-05-20 | 1999-01-19 | Cray Research, Inc. | Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network |
| US5761534A (en) * | 1996-05-20 | 1998-06-02 | Cray Research, Inc. | System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network |
| US5819310A (en) * | 1996-05-24 | 1998-10-06 | Emc Corporation | Method and apparatus for reading data from mirrored logical volumes on physical disk drives |
| 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 |
| US5951691A (en) * | 1997-05-16 | 1999-09-14 | International Business Machines Corporation | Method and system for detection and reconstruction of corrupted data in a data storage subsystem |
| 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 |
| US6006342A (en) * | 1997-12-11 | 1999-12-21 | International Business Machines Corporation | Failover and failback system for a direct access storage device |
| US6061750A (en) * | 1998-02-20 | 2000-05-09 | International Business Machines Corporation | Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure |
| JP2000003255A (ja) * | 1998-06-12 | 2000-01-07 | Nec Corp | ディスクアレイ装置 |
| US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
| US6058054A (en) * | 1999-03-31 | 2000-05-02 | International Business Machines Corporation | Method and system for providing an instant backup in a RAID data storage system |
| US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
| US6826711B2 (en) * | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
| US20020049907A1 (en) * | 2000-08-16 | 2002-04-25 | Woods Christopher E. | Permission based data exchange |
| JP3682256B2 (ja) * | 2001-11-30 | 2005-08-10 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるパリティ処理方法 |
| JP3579389B2 (ja) * | 2001-11-30 | 2004-10-20 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
| US20030167408A1 (en) * | 2002-03-01 | 2003-09-04 | Fitzpatrick Gregory P. | Randomized bit dispersal of sensitive data sets |
| US6792391B1 (en) * | 2002-11-15 | 2004-09-14 | Adeptec, Inc. | Method and system for three disk fault tolerance in a disk array |
| US7093159B1 (en) * | 2002-12-12 | 2006-08-15 | Adaptec, Inc. | Method and system for four disk fault tolerance in a disk array |
| US7392458B2 (en) * | 2004-11-19 | 2008-06-24 | International Business Machines Corporation | Method and system for enhanced error identification with disk array parity checking |
| US8010498B2 (en) * | 2005-04-08 | 2011-08-30 | Microsoft Corporation | Virtually infinite reliable storage across multiple storage devices and storage services |
| US20070113006A1 (en) * | 2005-11-16 | 2007-05-17 | Elliott John C | Apparatus and method to configure one or more storage arrays |
| US7536588B2 (en) | 2006-02-08 | 2009-05-19 | International Business Machines Corporation | Method for servicing storage devices in a bladed storage subsystem |
| US7877370B2 (en) | 2006-05-15 | 2011-01-25 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using algebraic relations composed from query language statements |
| US7865503B2 (en) * | 2006-05-15 | 2011-01-04 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using virtual data sets |
| US7797319B2 (en) * | 2006-05-15 | 2010-09-14 | Algebraix Data Corporation | Systems and methods for data model mapping |
| US7720806B2 (en) * | 2006-05-15 | 2010-05-18 | Algebraix Data Corporation | Systems and methods for data manipulation using multiple storage formats |
| US7613734B2 (en) * | 2006-05-15 | 2009-11-03 | Xsprada Corporation | Systems and methods for providing data sets using a store of albegraic relations |
| US7769754B2 (en) * | 2006-05-15 | 2010-08-03 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using algebraic optimization |
| US20080070688A1 (en) * | 2006-09-20 | 2008-03-20 | John Loehrer | Real-time gaming system having scalable database |
| US7788526B2 (en) * | 2007-01-10 | 2010-08-31 | International Business Machines Corporation | Providing enhanced tolerance of data loss in a disk array system |
| US8296517B2 (en) * | 2009-08-19 | 2012-10-23 | Oracle International Corporation | Database operation-aware striping technique |
| US8589637B2 (en) * | 2009-10-30 | 2013-11-19 | Cleversafe, Inc. | Concurrent set storage in distributed storage network |
| US8689040B2 (en) * | 2010-10-01 | 2014-04-01 | Lsi Corporation | Method and system for data reconstruction after drive failures |
| US8583687B1 (en) | 2012-05-15 | 2013-11-12 | Algebraix Data Corporation | Systems and methods for indirect algebraic partitioning |
| US11449226B2 (en) * | 2020-10-02 | 2022-09-20 | Dell Products L.P. | Reorganizing disks and raid members to split a disk array during capacity expansion |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4380066A (en) * | 1980-12-04 | 1983-04-12 | Burroughs Corporation | Defect tolerant memory |
| US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
| US4953122A (en) * | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
| US4989205A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
| AU630635B2 (en) * | 1988-11-14 | 1992-11-05 | Emc Corporation | Arrayed disk drive system and method |
| JPH0748314B2 (ja) * | 1989-02-02 | 1995-05-24 | 株式会社東芝 | 半導体記憶装置 |
| US5088081A (en) * | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
| US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
| US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
| US5146588A (en) * | 1990-11-26 | 1992-09-08 | Storage Technology Corporation | Redundancy accumulator for disk drive array memory |
-
1991
- 1991-03-01 US US07/662,744 patent/US5303244A/en not_active Expired - Lifetime
-
1992
- 1992-02-28 EP EP92301709A patent/EP0501818A1/en not_active Withdrawn
- 1992-02-28 JP JP4075744A patent/JPH06180634A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0501818A1 (en) | 1992-09-02 |
| US5303244A (en) | 1994-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5303244A (en) | Fault tolerant disk drive matrix | |
| JP2769443B2 (ja) | 記憶サブシステム及び関連する装置/方法 | |
| EP0518603B1 (en) | Distributed sparing in DASD arrays | |
| US8839028B1 (en) | Managing data availability in storage systems | |
| JP2859960B2 (ja) | データ記憶装置および方法 | |
| US5301297A (en) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof | |
| US6502166B1 (en) | Method and apparatus for distributing data across multiple disk drives | |
| US6934804B2 (en) | Method and system for striping spares in a data storage system including an array of disk drives | |
| JP3304115B2 (ja) | 構成可能な冗長アレイ記憶装置 | |
| JP2777301B2 (ja) | 記録装置 | |
| US7506187B2 (en) | Methods, apparatus and controllers for a raid storage system | |
| US5485571A (en) | Method and apparatus for providing distributed sparing with uniform workload distribution in failures | |
| US5412661A (en) | Two-dimensional disk array | |
| US20030088803A1 (en) | Rebuilding redundant disk arrays using distributed hot spare space | |
| JPH04310137A (ja) | データの修復方法およびシステム | |
| JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
| CA2076537A1 (en) | Data corrections applicable to redundant arrays of independent disks | |
| JP2010267037A (ja) | ディスクアレイ装置 | |
| JP2857288B2 (ja) | ディスクアレイ装置 | |
| JP2004164675A (ja) | ディスクアレイ装置 | |
| JP2570614B2 (ja) | デイスクアレイ装置 | |
| JP2778268B2 (ja) | 記録媒体制御装置 | |
| JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 | |
| JPH05313833A (ja) | アレイ型ディスク駆動機構システム | |
| JPH06119121A (ja) | ディスクアレイ装置 |