JPH08171463A - ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置 - Google Patents
ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置Info
- Publication number
- JPH08171463A JPH08171463A JP6316197A JP31619794A JPH08171463A JP H08171463 A JPH08171463 A JP H08171463A JP 6316197 A JP6316197 A JP 6316197A JP 31619794 A JP31619794 A JP 31619794A JP H08171463 A JPH08171463 A JP H08171463A
- Authority
- JP
- Japan
- Prior art keywords
- data
- sub
- read
- disk storage
- error correction
- 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
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- 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/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
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(レベル3)のディスクアレイシステ
ムにおいて、データの読み出し時間を減少させる。 【構成】 マイクロプロセッサ6は、CPU1からの読
み出し要求に応答して、読み出すべきデータを構成する
複数(n)のサブデータとそれらに対する誤り訂正符号
の読み出しを複数のドライブ13に指示し、パリティ生
成回路10は、ドライブ選択部11に一部のサブデータ
と上記誤り訂正符号が読み出された時点で、読み出され
た一部のサブデータと上記誤り訂正符号とから、まだ読
み出されていない他のサブデータをパリティ生成回路1
0を用いて回復する。マイクロプロセッサ6は、すでに
読み出された一部のサブデータと回復された他のサブデ
ータとを結合してCPU1に供給する。
ムにおいて、データの読み出し時間を減少させる。 【構成】 マイクロプロセッサ6は、CPU1からの読
み出し要求に応答して、読み出すべきデータを構成する
複数(n)のサブデータとそれらに対する誤り訂正符号
の読み出しを複数のドライブ13に指示し、パリティ生
成回路10は、ドライブ選択部11に一部のサブデータ
と上記誤り訂正符号が読み出された時点で、読み出され
た一部のサブデータと上記誤り訂正符号とから、まだ読
み出されていない他のサブデータをパリティ生成回路1
0を用いて回復する。マイクロプロセッサ6は、すでに
読み出された一部のサブデータと回復された他のサブデ
ータとを結合してCPU1に供給する。
Description
【0001】
【産業上の利用分野】本発明はディスクアレイ装置にお
けるデータの読み出し方法およびそれにて記載他ディス
クアレイ装置に関する。
けるデータの読み出し方法およびそれにて記載他ディス
クアレイ装置に関する。
【0002】
【従来の技術】現在のコンピュータシステムの2次記憶
装置には、不揮発な記憶媒体、例えば磁気記録媒体ある
いは光記録媒体が使用されたディスク記憶装置(以下ド
ライブと呼ぶ)が一般に使用される。その中でも、比較
的安価で、かつ、容量の小さなドライブを複数用いるデ
ィスクアレイが、大容量、低価格、かつ、高信頼性の点
で注目されている。
装置には、不揮発な記憶媒体、例えば磁気記録媒体ある
いは光記録媒体が使用されたディスク記憶装置(以下ド
ライブと呼ぶ)が一般に使用される。その中でも、比較
的安価で、かつ、容量の小さなドライブを複数用いるデ
ィスクアレイが、大容量、低価格、かつ、高信頼性の点
で注目されている。
【0003】ディスクアレイでは、比較的安価な多数の
ドライブを使用することによりコスト低減を図る。さら
にこれらのドライブへのアクセスを並列に行なうことに
より、CPUとドライブの間のデータの転送時間を低減
している。さらに、障害回復のための情報をも記憶し、
いずれかのドライブに障害が発生したときに、そのドラ
イブのデータを、他のドライブのデータおよび障害回復
用の情報から回復する。これにより装置の信頼性の向上
を図っている。
ドライブを使用することによりコスト低減を図る。さら
にこれらのドライブへのアクセスを並列に行なうことに
より、CPUとドライブの間のデータの転送時間を低減
している。さらに、障害回復のための情報をも記憶し、
いずれかのドライブに障害が発生したときに、そのドラ
イブのデータを、他のドライブのデータおよび障害回復
用の情報から回復する。これにより装置の信頼性の向上
を図っている。
【0004】例えば、D. Patterson, G. Gibson, and
R. H. Kartz,"A Case for RedundantArrays of Inexpen
sive Disks (RAID)", ACM SIGMOD Conference, Chicag
o, IL, (June 1988), pp.109-116(以下第1の従来技術
と呼ぶ)によれば、RAIDレベル3のディスクアレイ
では、CPUから供給された一つの書き込み要求に付随
する書き込みデ−タを複数のサブデータに分割し、これ
らのサブデータからパリティデータを作成する。これら
のサブデータおよびパリティデータを互いに異なる複数
のドライブに並列に格納する。また、CPUからデータ
の読み出しが指示された場合は、そのデータを構成する
複数のサブデータを異なるドライブから並列に読み込
み、それらを結合してCPUへ転送する。各サブデータ
およびパリティデータはにそれぞれのサブデータあるい
はパリティデータで決まるエラー訂正符号(ECC)が
付加されて、それぞれ一つのドライブに格納される。こ
のため、ドライブからサブデータおよびパリティデータ
を読み出した際にこのECCをチェックすることでサブ
データおよびパリティデータのエラーの検出および訂正
が可能である。また、ECCで訂正できない程大きな範
囲でエラーが検出された場合は、ドライブに障害が発生
したと判断する。さらに、ドライブの障害については、
イニシエータから読み出し、または書き込み要求を発行
したときにドライブから応答が帰ってこない場合は、イ
ニシエータはドライブに障害が発生したと判断する。以
上のようにしてディスクアレイではドライブの障害の検
出を行なう。このような検出により、もし、いずれかの
ドライブに障害が発生したために、そのドライブに保持
されたサブデータを読み出せないときには、そのドライ
ブ以外のドライブから残りのサブデータとそのサブデー
タに対応するパリティデータを読み出し、これらのデー
タから読み出せなかったサブデータを回復し、すでに読
み出されたサブデータとこの回復されたサブデータを結
合し、結合の結果得られるデータをCPUに供給する。
R. H. Kartz,"A Case for RedundantArrays of Inexpen
sive Disks (RAID)", ACM SIGMOD Conference, Chicag
o, IL, (June 1988), pp.109-116(以下第1の従来技術
と呼ぶ)によれば、RAIDレベル3のディスクアレイ
では、CPUから供給された一つの書き込み要求に付随
する書き込みデ−タを複数のサブデータに分割し、これ
らのサブデータからパリティデータを作成する。これら
のサブデータおよびパリティデータを互いに異なる複数
のドライブに並列に格納する。また、CPUからデータ
の読み出しが指示された場合は、そのデータを構成する
複数のサブデータを異なるドライブから並列に読み込
み、それらを結合してCPUへ転送する。各サブデータ
およびパリティデータはにそれぞれのサブデータあるい
はパリティデータで決まるエラー訂正符号(ECC)が
付加されて、それぞれ一つのドライブに格納される。こ
のため、ドライブからサブデータおよびパリティデータ
を読み出した際にこのECCをチェックすることでサブ
データおよびパリティデータのエラーの検出および訂正
が可能である。また、ECCで訂正できない程大きな範
囲でエラーが検出された場合は、ドライブに障害が発生
したと判断する。さらに、ドライブの障害については、
イニシエータから読み出し、または書き込み要求を発行
したときにドライブから応答が帰ってこない場合は、イ
ニシエータはドライブに障害が発生したと判断する。以
上のようにしてディスクアレイではドライブの障害の検
出を行なう。このような検出により、もし、いずれかの
ドライブに障害が発生したために、そのドライブに保持
されたサブデータを読み出せないときには、そのドライ
ブ以外のドライブから残りのサブデータとそのサブデー
タに対応するパリティデータを読み出し、これらのデー
タから読み出せなかったサブデータを回復し、すでに読
み出されたサブデータとこの回復されたサブデータを結
合し、結合の結果得られるデータをCPUに供給する。
【0005】特開平4ー228153(以下第2の従来
技術と呼ぶ)では上記のようにコマンドエラーによりド
ライブの障害を検出すると他に、各ドライブから読み出
したサブデータからパリティデータを作成し、この作成
したパリティデータとドライブから読み出したパリティ
データとを比較することでドライブの障害を検出する方
法について開示している。
技術と呼ぶ)では上記のようにコマンドエラーによりド
ライブの障害を検出すると他に、各ドライブから読み出
したサブデータからパリティデータを作成し、この作成
したパリティデータとドライブから読み出したパリティ
データとを比較することでドライブの障害を検出する方
法について開示している。
【0006】一般に、複数のデータとそれらから生成さ
れたパリティデータとの組を、パリティグループと呼ば
れる。一般には、パリティデータに代えて他の誤り訂正
符号を使用できる。その場合には、上記の組は、誤り訂
正データグループと呼ばれる。また、同一の誤り訂正デ
ータグループに属するデータを保持する複数のドライブ
の集合を論理グループとよぶ。
れたパリティデータとの組を、パリティグループと呼ば
れる。一般には、パリティデータに代えて他の誤り訂正
符号を使用できる。その場合には、上記の組は、誤り訂
正データグループと呼ばれる。また、同一の誤り訂正デ
ータグループに属するデータを保持する複数のドライブ
の集合を論理グループとよぶ。
【0007】このように、従来のディスクアレイでは、
複数のドライブに対して並列にアクセスすることによ
り、データの読み出し時間を短縮している。
複数のドライブに対して並列にアクセスすることによ
り、データの読み出し時間を短縮している。
【0008】なお、特開平2−56019号(以下第3
の従来技術と呼ぶ)公報または特開平3−305928
(以下第4の従来技術と呼ぶ)には、上記RAID3の
ディスクアレイとは異なり、ミラー型と呼ばれるディス
クアレイが開示されている。この装置では、CPUから
の書き込み要求の処理においては、CPUから供給され
たデータを、二つのドライブに並列に書き込む。CPU
からの読み出し要求の処理においては、これらの二つの
ドライブを並列にアクセスして、この読み出し要求によ
り要求されたデータを並列に読み出す。これらのドライ
ブの内、一方から要求されたデータが他方より先に供給
された時点で、そのデータをCPUに供給する。こうし
て、ドライブの回転による待ち時間を低減している。
の従来技術と呼ぶ)公報または特開平3−305928
(以下第4の従来技術と呼ぶ)には、上記RAID3の
ディスクアレイとは異なり、ミラー型と呼ばれるディス
クアレイが開示されている。この装置では、CPUから
の書き込み要求の処理においては、CPUから供給され
たデータを、二つのドライブに並列に書き込む。CPU
からの読み出し要求の処理においては、これらの二つの
ドライブを並列にアクセスして、この読み出し要求によ
り要求されたデータを並列に読み出す。これらのドライ
ブの内、一方から要求されたデータが他方より先に供給
された時点で、そのデータをCPUに供給する。こうし
て、ドライブの回転による待ち時間を低減している。
【0009】
【発明が解決しようとする課題】レベル3のディスクア
レイでは、CPUから転送された読み出し要求を処理す
る際、その要求で指定されたデータを構成する複数のサ
ブデータを全て読み出す必要がある。通常複数のドライ
ブは非同期に回転している。このため、これらのサブデ
ータの読み出し時間は、最も回転待ち時間の長いサブデ
ータの読み出し時間に支配される。このため、RAID
3のディスクアレイでのデータの読み出しでは、ドライ
ブの数が増えると、最大1回転の待ち時間を要する場合
が確率的に増える。したがって、レベル3のディスクア
レイにおけるデータ読み出し時間を短縮することが望ま
しい。
レイでは、CPUから転送された読み出し要求を処理す
る際、その要求で指定されたデータを構成する複数のサ
ブデータを全て読み出す必要がある。通常複数のドライ
ブは非同期に回転している。このため、これらのサブデ
ータの読み出し時間は、最も回転待ち時間の長いサブデ
ータの読み出し時間に支配される。このため、RAID
3のディスクアレイでのデータの読み出しでは、ドライ
ブの数が増えると、最大1回転の待ち時間を要する場合
が確率的に増える。したがって、レベル3のディスクア
レイにおけるデータ読み出し時間を短縮することが望ま
しい。
【0010】なお、第3、第4の従来技術に示されたミ
ラー型のディスクアレイでは、同一データを2台のドラ
イブに保持するため、一つのドライブにデータを保持す
る場合よりもデータの読み出し時間を短縮される場合が
多く生じる。しかし、2台のドライブの回転待ち時間が
いずれも長い場合には、この方法によっても読み出し時
間は短縮されない。
ラー型のディスクアレイでは、同一データを2台のドラ
イブに保持するため、一つのドライブにデータを保持す
る場合よりもデータの読み出し時間を短縮される場合が
多く生じる。しかし、2台のドライブの回転待ち時間が
いずれも長い場合には、この方法によっても読み出し時
間は短縮されない。
【0011】したがって、本発明の目的は、レベル3の
ディスクアレイにおけるデータ読み出し時間をより確実
に短縮可能なデータ読み出し方法およびそれに適したデ
ィスクアレイを提供することにある。
ディスクアレイにおけるデータ読み出し時間をより確実
に短縮可能なデータ読み出し方法およびそれに適したデ
ィスクアレイを提供することにある。
【0012】
【課題を解決するための手段】このため、本発明による
データ読み出し方法では、上位装置から供給された書き
込みデータを、RAID3に従って、分割し、得られた
複数のサブデータとそれらから生成した誤り訂正符号と
を、互いに異なるドライブに書き込み、後にその書き込
まれたデータの読み出しを上位装置から要求された場
合、これらのサブデータとともに上記誤り訂正符号の読
み出し要求を複数のドライブに対して発行し、一部のサ
ブデータが読み出されるより先に、上記誤り訂正符号が
読み出された場合、その時点で、すでに読み出された一
部のサブデータとその読み出された誤り訂正データとか
ら、読み出しが遅れているサブデータを回復し、回復さ
れたサブデータと既に読み出された一部のサブデータと
を結合して、読み出しデータを形成し、上位装置に供給
する。誤り訂正符号としては、例えば、n個のサブデー
タの各1ビットに対応する1ビットのパリティビットを
含むパリティデータを使用できる。互いに異なる複数の
誤り訂正符号を使用することも可能である。
データ読み出し方法では、上位装置から供給された書き
込みデータを、RAID3に従って、分割し、得られた
複数のサブデータとそれらから生成した誤り訂正符号と
を、互いに異なるドライブに書き込み、後にその書き込
まれたデータの読み出しを上位装置から要求された場
合、これらのサブデータとともに上記誤り訂正符号の読
み出し要求を複数のドライブに対して発行し、一部のサ
ブデータが読み出されるより先に、上記誤り訂正符号が
読み出された場合、その時点で、すでに読み出された一
部のサブデータとその読み出された誤り訂正データとか
ら、読み出しが遅れているサブデータを回復し、回復さ
れたサブデータと既に読み出された一部のサブデータと
を結合して、読み出しデータを形成し、上位装置に供給
する。誤り訂正符号としては、例えば、n個のサブデー
タの各1ビットに対応する1ビットのパリティビットを
含むパリティデータを使用できる。互いに異なる複数の
誤り訂正符号を使用することも可能である。
【0013】
【作用】この方法によれば、読み出しが遅れたサブデー
タが読み出される前に、そのサブデータより先に読み出
された誤り訂正符号を使用して、要求された読み出しデ
ータを生成するので、上位装置から要求されたデータ
を、読み出しが遅れたサブデータが読み出されるのを待
たないで供給することが出来る。
タが読み出される前に、そのサブデータより先に読み出
された誤り訂正符号を使用して、要求された読み出しデ
ータを生成するので、上位装置から要求されたデータ
を、読み出しが遅れたサブデータが読み出されるのを待
たないで供給することが出来る。
【0014】複数の互いに異なる誤り訂正符号を使用し
た場合、複数のサブデータより先に複数の誤り訂正符号
が読み出された場合、それらの複数のサブデータの読み
出しを待たないで、読み出されていない複数のサブデー
タを回復できる。
た場合、複数のサブデータより先に複数の誤り訂正符号
が読み出された場合、それらの複数のサブデータの読み
出しを待たないで、読み出されていない複数のサブデー
タを回復できる。
【0015】
【実施例】以下、本発明に係るディスクアレイを図面に
示したいくつかの実施例を参照してさらに詳細に説明す
る。なお、以下においては、同じ参照番号は同じものも
しくは類似のものを表わすものとする。 <実施例1>図1において、2は制御部、13はドライ
ブである。制御部2は、CPU1からの書き込み要求を
実行して、それらの要求で指定されるドライブをアクセ
スする。複数のドライブ13は、複数の論理グループ1
4に区分されている。本実施例では、個々の論理グルー
プ14は5台のドライブ13により構成されるが、本発
明はこのドライブ数に限定されない。
示したいくつかの実施例を参照してさらに詳細に説明す
る。なお、以下においては、同じ参照番号は同じものも
しくは類似のものを表わすものとする。 <実施例1>図1において、2は制御部、13はドライ
ブである。制御部2は、CPU1からの書き込み要求を
実行して、それらの要求で指定されるドライブをアクセ
スする。複数のドライブ13は、複数の論理グループ1
4に区分されている。本実施例では、個々の論理グルー
プ14は5台のドライブ13により構成されるが、本発
明はこのドライブ数に限定されない。
【0016】制御部2においては、4は、CPU1から
発行される要求を受理し、あるいは、CPU1にデータ
を供給するチャネルインターフェース回路(CH I
F)、5は、CPU1から受理されたデータあるいはそ
れに供給すべきデータの転送を制御するデータ転送制御
回路(DCC)、6は、CPU1から受信した書き込み要
求および読み出し要求にしたがって制御部2の内部の回
路の動作を制御するマイクロプロセッサ(MP)である。
9はCPU1から受信した書き込みデータおよびドライ
ブから読み出したデータを一時的に保持するとともに後
に述べるアドレス変換テーブルなどを保持するキャッシ
ュメモリである。10は、パリティ生成回路(PG)、1
1は、ドライブ選択回路、100は回復データ結合回路
である。
発行される要求を受理し、あるいは、CPU1にデータ
を供給するチャネルインターフェース回路(CH I
F)、5は、CPU1から受理されたデータあるいはそ
れに供給すべきデータの転送を制御するデータ転送制御
回路(DCC)、6は、CPU1から受信した書き込み要
求および読み出し要求にしたがって制御部2の内部の回
路の動作を制御するマイクロプロセッサ(MP)である。
9はCPU1から受信した書き込みデータおよびドライ
ブから読み出したデータを一時的に保持するとともに後
に述べるアドレス変換テーブルなどを保持するキャッシ
ュメモリである。10は、パリティ生成回路(PG)、1
1は、ドライブ選択回路、100は回復データ結合回路
である。
【0017】パリティ生成回路10は、データの書き込
み時に、書き込むべきデータを分割して得られた複数の
サブデータからそれらのサブデータに対するパリティデ
ータを生成するとともに、データの読み出し時に、いず
れかのドライブから読み出されたサブデータにエラーが
あって場合またはいずれかのドライブに障害が発生し、
そのドライブのサブデータを読み出せない場合、そのエ
ラーがあったサブデータもしくは障害が発生したドライ
ブ内のサブデータを回復する機能を有する。
み時に、書き込むべきデータを分割して得られた複数の
サブデータからそれらのサブデータに対するパリティデ
ータを生成するとともに、データの読み出し時に、いず
れかのドライブから読み出されたサブデータにエラーが
あって場合またはいずれかのドライブに障害が発生し、
そのドライブのサブデータを読み出せない場合、そのエ
ラーがあったサブデータもしくは障害が発生したドライ
ブ内のサブデータを回復する機能を有する。
【0018】回復データ結合回路100は、このような
回復されたサブデータを他の読み出された正常なサブデ
ータに結合するための回路である。
回復されたサブデータを他の読み出された正常なサブデ
ータに結合するための回路である。
【0019】本実施例では、制御部2は、各論理グルー
プがRAID3のディスクアレイを構成するように、こ
れらの論理グループへのデータの書き込みおよび読み出
しを制御する。すなわち、CPU1から供給された書込
みデータを、複数(本実施例では4つ)のサブデータに
分割し、さらに、これらのサブデータに対する誤り訂正
符号として、これらのサブデータのパリティデータを生
成し、これらのサブデータとこのパリティデータを互い
に異なるドライブに書込む。このパリティデータは、い
ずれかのドライブに障害が発生したときに、その障害が
発生したドライブ内のデータを回復されるために使用さ
れるものである。
プがRAID3のディスクアレイを構成するように、こ
れらの論理グループへのデータの書き込みおよび読み出
しを制御する。すなわち、CPU1から供給された書込
みデータを、複数(本実施例では4つ)のサブデータに
分割し、さらに、これらのサブデータに対する誤り訂正
符号として、これらのサブデータのパリティデータを生
成し、これらのサブデータとこのパリティデータを互い
に異なるドライブに書込む。このパリティデータは、い
ずれかのドライブに障害が発生したときに、その障害が
発生したドライブ内のデータを回復されるために使用さ
れるものである。
【0020】本実施例ではこのパリティデータは通常の
データの読み出しのときにも使用する。すなわち、CP
U1がこの書込みデータに対する読み出し要求を発行し
たとき、この書込みデータを構成する4つのサブデータ
およびパリティデータの読み出しを指示する。もしこれ
らのサブデータの一部の読み出しが遅れた場合、それが
読み出される前に、そのサブデータを、読み出しが完了
したサブデータとパリティデータとから回復し、回復さ
れたサブデータを読み出し未完了のサブデータの代わり
に使用する。こうして、一部のサブデータの読み出しが
遅れた場合でも、それが読み出される前に、読み出し要
求が指定するデータをCPU1に送出することを可能と
したところが特徴である。
データの読み出しのときにも使用する。すなわち、CP
U1がこの書込みデータに対する読み出し要求を発行し
たとき、この書込みデータを構成する4つのサブデータ
およびパリティデータの読み出しを指示する。もしこれ
らのサブデータの一部の読み出しが遅れた場合、それが
読み出される前に、そのサブデータを、読み出しが完了
したサブデータとパリティデータとから回復し、回復さ
れたサブデータを読み出し未完了のサブデータの代わり
に使用する。こうして、一部のサブデータの読み出しが
遅れた場合でも、それが読み出される前に、読み出し要
求が指定するデータをCPU1に送出することを可能と
したところが特徴である。
【0021】より具体的には、CPU1からの書き込み
データを4つのサブデータに分割し、それらのサブデー
タに対するパリティデータを生成し、これらのサブデー
タと生成されたパリティデータを一つの論理グループに
属する5つのドライブに書き込む。
データを4つのサブデータに分割し、それらのサブデー
タに対するパリティデータを生成し、これらのサブデー
タと生成されたパリティデータを一つの論理グループに
属する5つのドライブに書き込む。
【0022】CPU1から読み出し要求が後に発行され
た場合、その要求で指定されたデータを構成する4つの
サブデータとそれらに対するパリティデータが格納され
ている5つのドライブに対し読み出し要求を発行する。
各ドライブではこれらの読み出し要求に応答し、順に読
み出しが完了する。この順に読み出しが完了したドライ
ブにおいて、読み出し要求で指定されたデータを構成す
る全てのサブデータが含まれているか否かを判別する。
た場合、その要求で指定されたデータを構成する4つの
サブデータとそれらに対するパリティデータが格納され
ている5つのドライブに対し読み出し要求を発行する。
各ドライブではこれらの読み出し要求に応答し、順に読
み出しが完了する。この順に読み出しが完了したドライ
ブにおいて、読み出し要求で指定されたデータを構成す
る全てのサブデータが含まれているか否かを判別する。
【0023】もしいずれかのサブデータが含まれていな
いときには、パリティデータがその読み出しが完了して
いないサブデータより先に読み出されたことになる。こ
の場合には、すでに読み出された一部のサブデータとパ
リティデータとから、その読み出し未完了のサブデータ
を回復し、回復されたサブデータとすでに読み出された
一部のサブデータとを結合して、読み出し要求が指定し
たデータを生成し、CPU1に送る。
いときには、パリティデータがその読み出しが完了して
いないサブデータより先に読み出されたことになる。こ
の場合には、すでに読み出された一部のサブデータとパ
リティデータとから、その読み出し未完了のサブデータ
を回復し、回復されたサブデータとすでに読み出された
一部のサブデータとを結合して、読み出し要求が指定し
たデータを生成し、CPU1に送る。
【0024】以上に述べた、読み出しが完了したデータ
の中に、全てのサブデータが含まれているか、あるいは
読み出し未完了のサブデータがある場合に、そのサブデ
ータを回復するに必要な数のサブデータおよびパリティ
データの読み出しが完了したか否かを判別する回路は、
上記ドライブ選択部11に含まれている。以下、本実施
例の動作の詳細を説明する。
の中に、全てのサブデータが含まれているか、あるいは
読み出し未完了のサブデータがある場合に、そのサブデ
ータを回復するに必要な数のサブデータおよびパリティ
データの読み出しが完了したか否かを判別する回路は、
上記ドライブ選択部11に含まれている。以下、本実施
例の動作の詳細を説明する。
【0025】(データ書き込み動作)CPU1から供給
された書き込み要求は、線3を介してチャネルアダプタ
4で受信され、マイクロプロセッサ6に供給される。こ
の書き込み要求に付随する書き込みデータは、さらにデ
ータ制御回路5を介してキャッシュメモリ9に保持され
る。マイクロプロセッサ6は、この書き込み要求に応答
して、この書き込みデータを構成する複数個のサブデー
タ、本実施例では4つのサブデータに分割して読み出
し、それらのサブデータを線9Aを介して回復データ結
合回路100に供給する。回復データ結合回路100
は、マイクロプロセッサ6からの指示により、線9A、
10A、9Bの接続を切り替えるスイッチであり、デー
タの書き込み時には、キャッシュメモリ9から線9Aに
読み出された各サブデータをそのまま線100Aを介し
てパリティ生成回路10に転送する。
された書き込み要求は、線3を介してチャネルアダプタ
4で受信され、マイクロプロセッサ6に供給される。こ
の書き込み要求に付随する書き込みデータは、さらにデ
ータ制御回路5を介してキャッシュメモリ9に保持され
る。マイクロプロセッサ6は、この書き込み要求に応答
して、この書き込みデータを構成する複数個のサブデー
タ、本実施例では4つのサブデータに分割して読み出
し、それらのサブデータを線9Aを介して回復データ結
合回路100に供給する。回復データ結合回路100
は、マイクロプロセッサ6からの指示により、線9A、
10A、9Bの接続を切り替えるスイッチであり、デー
タの書き込み時には、キャッシュメモリ9から線9Aに
読み出された各サブデータをそのまま線100Aを介し
てパリティ生成回路10に転送する。
【0026】図2に示すように、パリティ生成回路10
は、アクティブスイッチ140、排他的論理和回路13
0、スイッチ120からなる。この内、排他的論理和回
路130は、データ書き込み時にパリティデータを生成
するとともに、データの読み出し時に、エラーがあるサ
ブデータあるいは障害が発生したドライブ内のサブデー
タを回復するのに使用される。アクティブスイッチ14
0とスイッチ120は、この排他的論理和回路130の
入力と出力を、マイクロプロセッサ6の指示に従って切
り替えるスイッチ回路である。
は、アクティブスイッチ140、排他的論理和回路13
0、スイッチ120からなる。この内、排他的論理和回
路130は、データ書き込み時にパリティデータを生成
するとともに、データの読み出し時に、エラーがあるサ
ブデータあるいは障害が発生したドライブ内のサブデー
タを回復するのに使用される。アクティブスイッチ14
0とスイッチ120は、この排他的論理和回路130の
入力と出力を、マイクロプロセッサ6の指示に従って切
り替えるスイッチ回路である。
【0027】マイクロプロセッサ6は書き込むべき複数
のサブデータをパリティ生成回路10に転送したとき、
アクティブスイッチ140に線指示して100Aと線3
00を直接接続させ、EOR回路130に全サブデータ
を転送する。全サブデータを受け取ったEOR回路13
0では各サブデータの対応するビットの排他的論理和を
とり、これらのサブデータに対するパリティデータを作
成する。EOR回路130は、作成されたパリティデー
タとこのパリティデータの作成に関与した複数のサブデ
ータを線200Aを介してスイッチ120に転送され
る。マイクロプロセッサ6は、データの書き込み動作時
には、スイッチ120は、線200上の各サブデータと
パリティデータを線10Aにそのまま転送する。
のサブデータをパリティ生成回路10に転送したとき、
アクティブスイッチ140に線指示して100Aと線3
00を直接接続させ、EOR回路130に全サブデータ
を転送する。全サブデータを受け取ったEOR回路13
0では各サブデータの対応するビットの排他的論理和を
とり、これらのサブデータに対するパリティデータを作
成する。EOR回路130は、作成されたパリティデー
タとこのパリティデータの作成に関与した複数のサブデ
ータを線200Aを介してスイッチ120に転送され
る。マイクロプロセッサ6は、データの書き込み動作時
には、スイッチ120は、線200上の各サブデータと
パリティデータを線10Aにそのまま転送する。
【0028】なお、各サブデータおよびパリティデータ
の各々には、従来技術と同様に、それぞれのデータで決
まるECCが付加されるが、ドライブに格納されるが、
ここでは簡単化のためために、この回路は省略してあ
る。各サブデータあるいはパリティデータに付されたE
CCは、従来技術と同様に、そのサブデータまたはパリ
ティデータを読み出された際に、エラーが発生すれば、
そのサブデータまたはパリティデータのエラーの訂正に
使用される。以下では、これらのECCは、各サブデー
タまたはパリティデータの一部として扱い、特に必要が
ない限り、これらのECCに言及しない。
の各々には、従来技術と同様に、それぞれのデータで決
まるECCが付加されるが、ドライブに格納されるが、
ここでは簡単化のためために、この回路は省略してあ
る。各サブデータあるいはパリティデータに付されたE
CCは、従来技術と同様に、そのサブデータまたはパリ
ティデータを読み出された際に、エラーが発生すれば、
そのサブデータまたはパリティデータのエラーの訂正に
使用される。以下では、これらのECCは、各サブデー
タまたはパリティデータの一部として扱い、特に必要が
ない限り、これらのECCに言及しない。
【0029】さて、マイクロプロセッサ6は、これらの
サブデータおよびパリティデータを書き込むべきドライ
ブおよびドライブ内記憶位置を、アドレステーブルを使
用して決定する(アドレス変換)(ステップ42)。こ
のテーブルは、キャッシュメモリ9に保持され、例え
ば、図4に示す内容を有する。CPU1は、書き込み要
求の一部として、書き込みデータの名称を論理アドレス
として指定し、この論理アドレス20から、これらのサ
ブデータとパリティデータに対する5つのドライブ番号
21およびこれらのデータに共通に定められたドライブ
内アドレス22が決定される。図では、名称DATA#
1の書き込み用のサブデータに対するドライブ番号は、
ドライブ#1から#5であり、ドライブ内番号はDAD
R1であることを示している。本実施例では、サブデー
タはデータ専用のドライブ、例えば#1−4あるいは#
n−#n+4に格納し、パリティデータは、パリティデ
ータのドライブ、例えば、#5、#n+5に格納する。
なお、図において、キャッシュアドレス23は、書き込
みデータを保持する、キャッシュメモリ9内のアドレス
を示す。マイクロプロセッサ6は、これらのサブデータ
とパリティデータの書き込みを指示する。
サブデータおよびパリティデータを書き込むべきドライ
ブおよびドライブ内記憶位置を、アドレステーブルを使
用して決定する(アドレス変換)(ステップ42)。こ
のテーブルは、キャッシュメモリ9に保持され、例え
ば、図4に示す内容を有する。CPU1は、書き込み要
求の一部として、書き込みデータの名称を論理アドレス
として指定し、この論理アドレス20から、これらのサ
ブデータとパリティデータに対する5つのドライブ番号
21およびこれらのデータに共通に定められたドライブ
内アドレス22が決定される。図では、名称DATA#
1の書き込み用のサブデータに対するドライブ番号は、
ドライブ#1から#5であり、ドライブ内番号はDAD
R1であることを示している。本実施例では、サブデー
タはデータ専用のドライブ、例えば#1−4あるいは#
n−#n+4に格納し、パリティデータは、パリティデ
ータのドライブ、例えば、#5、#n+5に格納する。
なお、図において、キャッシュアドレス23は、書き込
みデータを保持する、キャッシュメモリ9内のアドレス
を示す。マイクロプロセッサ6は、これらのサブデータ
とパリティデータの書き込みを指示する。
【0030】ドライブ選択部11は、図3に示すよう
に、5つのドライブインタフェース12に対応して設け
られたバッファ領域からなるセレクタバッファ18と、
このセレクタバッファ18を、キャッシュメモリ9とパ
リティ生成回路10に接続するスイッチ回路17と、応
答判定回路部16からなる。
に、5つのドライブインタフェース12に対応して設け
られたバッファ領域からなるセレクタバッファ18と、
このセレクタバッファ18を、キャッシュメモリ9とパ
リティ生成回路10に接続するスイッチ回路17と、応
答判定回路部16からなる。
【0031】マイクロプロセッサ6は予めアドレステー
ブルを使用してアドレス変換しているため、各サブデー
タおよびパリティデータを書き込むべきドライブおよび
ドライブ内記憶位置を認識している。このため、マイク
ロプロセッサ6は上記サブデータおよびパリティデータ
を線10Aを介してスイッチ回路17に送出するととも
に、スイッチ回路17を制御して、当該ドライブインタ
ーフェース回路12に転送する。
ブルを使用してアドレス変換しているため、各サブデー
タおよびパリティデータを書き込むべきドライブおよび
ドライブ内記憶位置を認識している。このため、マイク
ロプロセッサ6は上記サブデータおよびパリティデータ
を線10Aを介してスイッチ回路17に送出するととも
に、スイッチ回路17を制御して、当該ドライブインタ
ーフェース回路12に転送する。
【0032】各ドライブインタフェース回路12は、S
CSIバス15を介して書き込むべきサブデータもしく
はパリティデータを、前述のアドレス変換で得られたド
ライブ番号を有するドライブ内の、ドライブ内アドレス
で指定される記憶位置に、SCSIの書き込み処理手順
に従って書き込む。こうして、CPU1から供給された
書き込みデータを構成する複数のサブデータとそれらに
対するパリティデータが、同じ論理グループに属する複
数のドライブに書き込まれる。
CSIバス15を介して書き込むべきサブデータもしく
はパリティデータを、前述のアドレス変換で得られたド
ライブ番号を有するドライブ内の、ドライブ内アドレス
で指定される記憶位置に、SCSIの書き込み処理手順
に従って書き込む。こうして、CPU1から供給された
書き込みデータを構成する複数のサブデータとそれらに
対するパリティデータが、同じ論理グループに属する複
数のドライブに書き込まれる。
【0033】(データ読み出し動作)図5に示すフロー
チャートに従ってデータ読み出し動作を以下に説明す
る。
チャートに従ってデータ読み出し動作を以下に説明す
る。
【0034】マイクロプロセッサ6は、CPU1より読
み出し要求が発行されたときに(ステップ41)、この
読み出し要求が指定するデータの名称から、そのデータ
を構成する複数のサブデータとそれらに対するパリティ
データを保持するドライブの番号およびドライブ内アド
レスに変換する(ステップ42)。その方法は、書き込
み要求の場合と同様にアドレス変換テーブル(図4)を
使用して行なう。
み出し要求が発行されたときに(ステップ41)、この
読み出し要求が指定するデータの名称から、そのデータ
を構成する複数のサブデータとそれらに対するパリティ
データを保持するドライブの番号およびドライブ内アド
レスに変換する(ステップ42)。その方法は、書き込
み要求の場合と同様にアドレス変換テーブル(図4)を
使用して行なう。
【0035】マイクロプロセッサ6は、これらのアドレ
スを使用して、これらのサブデータおよびパリティデー
タの読み出しをドライブ選択部11内の応答判定回路部
16に指示する(ステップ43)。応答判定回路部16
は判定用プロセッサ101とパリティレジスタ102に
より構成され、以下に述べる、応用判定回部16の動作
はこの判定用プロセッサ101により実行される。
スを使用して、これらのサブデータおよびパリティデー
タの読み出しをドライブ選択部11内の応答判定回路部
16に指示する(ステップ43)。応答判定回路部16
は判定用プロセッサ101とパリティレジスタ102に
より構成され、以下に述べる、応用判定回部16の動作
はこの判定用プロセッサ101により実行される。
【0036】応答判定回路部16は、この指示に従い、
各ドライブインタフェースにサブデータもしくはパリテ
ィデータの読み出し要求を指示する(ステップ43)。
各ドライブインタフェースにサブデータもしくはパリテ
ィデータの読み出し要求を指示する(ステップ43)。
【0037】応答判定回路部16は、この読み出し要求
を発行したドライブ番号を登録する(ステップ44)。
を発行したドライブ番号を登録する(ステップ44)。
【0038】各ドライブインタフェース回路12はSC
SIバスの読み出し処理手順に従って、読み出しコマン
ドをSCSIバス15を介して、それぞれ所望のドライ
ブに発行する。
SIバスの読み出し処理手順に従って、読み出しコマン
ドをSCSIバス15を介して、それぞれ所望のドライ
ブに発行する。
【0039】各ドライブ13は、アクセス処理が完了し
た後、アクセス処理の完了報告をドライブインタフェー
ス回路12に発行し、ドライブインタフェース回路12
はこのドライブ13のアクセス処理の完了報告をドライ
ブ選択部11内の応答判定回路部16に通知する。
た後、アクセス処理の完了報告をドライブインタフェー
ス回路12に発行し、ドライブインタフェース回路12
はこのドライブ13のアクセス処理の完了報告をドライ
ブ選択部11内の応答判定回路部16に通知する。
【0040】応答判定回路部16は、セレクタバッファ
18内にデータ転送を行うようにドライブインタフェー
ス回路12に指示し、そのドライブインタフェース回路
12は読み出したサブデータもしくはパリティデータを
セレクタバッファ18に格納する(ステップ45)。
18内にデータ転送を行うようにドライブインタフェー
ス回路12に指示し、そのドライブインタフェース回路
12は読み出したサブデータもしくはパリティデータを
セレクタバッファ18に格納する(ステップ45)。
【0041】当該ドライブ13からのサブデータをセレ
クタバッファ18に格納した後応答判定回路部16では
判定を行う(ステップ45)。
クタバッファ18に格納した後応答判定回路部16では
判定を行う(ステップ45)。
【0042】この時の具体的な応答判定回路部16にお
ける判定方法のフローチャートを図6に示す。
ける判定方法のフローチャートを図6に示す。
【0043】応答判定回路部16はインタフェース回路
12からセレクタバッファ18にサブデータもしくはパ
リティデータを格納した後(ステップ50)、データ転
送してきたドライブ13が読み出し要求が発行されてい
るドライブ13かを調べる(ステップ51)。図5のス
テップ44に示したように、マイクロプロセッサ6は、
先にこのドライブ13への読み出し要求を発行するよう
にドライブインタフェース回路12に指示すると同時
に、ドライブ選択部11内の応答判定回路部16に対
し、読み出し要求を発行したドライブ番号を登録してお
り、アクセス処理の完了報告を発行したドライブ13が
この登録されているドライブ番号と同じか否かを比較す
る。もし、読み出し要求が発行されていないドライブ1
3からの完了報告であれば、応答判定回路部16は、こ
の完了報告が書き込み処理の完了報告であるとしてマイ
クロプロセッサ6に報告する(ステップ65)。
12からセレクタバッファ18にサブデータもしくはパ
リティデータを格納した後(ステップ50)、データ転
送してきたドライブ13が読み出し要求が発行されてい
るドライブ13かを調べる(ステップ51)。図5のス
テップ44に示したように、マイクロプロセッサ6は、
先にこのドライブ13への読み出し要求を発行するよう
にドライブインタフェース回路12に指示すると同時
に、ドライブ選択部11内の応答判定回路部16に対
し、読み出し要求を発行したドライブ番号を登録してお
り、アクセス処理の完了報告を発行したドライブ13が
この登録されているドライブ番号と同じか否かを比較す
る。もし、読み出し要求が発行されていないドライブ1
3からの完了報告であれば、応答判定回路部16は、こ
の完了報告が書き込み処理の完了報告であるとしてマイ
クロプロセッサ6に報告する(ステップ65)。
【0044】この完了報告が読み出し要求が発行されて
いるドライブ13からの場合は、応答判定回路部16は
読み出し処理の完了報告としてマイクロプロセッサ6に
報告する(ステップ52)。次に応答判定回路部16は
判定カウンタに1を加える(ステップ53)。1を加え
た判定カウンタの値が4かどおかを応答判定回路部16
は判定する(ステップ54)。ステップ54の判定でカ
ウンタ値が4でなければ、応答判定回路部16はセレク
タバッファ18内にそのままサブデータまたはパリティ
データを保持する(ステップ64)。
いるドライブ13からの場合は、応答判定回路部16は
読み出し処理の完了報告としてマイクロプロセッサ6に
報告する(ステップ52)。次に応答判定回路部16は
判定カウンタに1を加える(ステップ53)。1を加え
た判定カウンタの値が4かどおかを応答判定回路部16
は判定する(ステップ54)。ステップ54の判定でカ
ウンタ値が4でなければ、応答判定回路部16はセレク
タバッファ18内にそのままサブデータまたはパリティ
データを保持する(ステップ64)。
【0045】ステップ54での判定の結果、判定カウン
タ値が4の場合はセレクタバッファ18内にパリティデ
ータが格納されているかを応答判定回路部16は判定す
る(ステップ55)。ステップ55の判定によりセレク
タバッファ18内にパリティデータが格納されている場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータのいずれかが読み出
しされる前に、パリティデータが読み出されていること
になる。
タ値が4の場合はセレクタバッファ18内にパリティデ
ータが格納されているかを応答判定回路部16は判定す
る(ステップ55)。ステップ55の判定によりセレク
タバッファ18内にパリティデータが格納されている場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータのいずれかが読み出
しされる前に、パリティデータが読み出されていること
になる。
【0046】本実施例ではディスクアレイ2はレベル3
の制御を行っているため、パリティデータは専用のドラ
イブ13に格納されている。具体的には図1のドライブ
#5もしくは#5+nにそれぞれ対応する論理グループ
の全てのパリティデータが格納されている。そこで、ド
ライブインタフェース回路#5からのアクセス処理の完
了報告は応答判定回路部16内のパリティレジスタに記
憶され、このパリティレジスタを見ることでステップ5
5の判定は可能となる。
の制御を行っているため、パリティデータは専用のドラ
イブ13に格納されている。具体的には図1のドライブ
#5もしくは#5+nにそれぞれ対応する論理グループ
の全てのパリティデータが格納されている。そこで、ド
ライブインタフェース回路#5からのアクセス処理の完
了報告は応答判定回路部16内のパリティレジスタに記
憶され、このパリティレジスタを見ることでステップ5
5の判定は可能となる。
【0047】ステップ55の判定により、セレクタバッ
ファ18内にパリティデータが格納されている場合は、
セレクタバッファ18内にパリティデータが格納されて
いることをマイクロプロセッサ6に報告し(ステップ5
6)、マイクロプロセッサ6からの指示でセレクタバッ
ファ18とパリティ生成回路10とをスイッチ回路16
により接続する(ステップ57)。この接続が完了する
とマイクロプロセッサ6はセレクタバッファ18からパ
リティ生成回路10へ読み出されたサブデータ(本実施
例ではこれは3つのサブデータである)とパリティデー
タを転送し(ステップ58)、未読み出しのサブデータ
をパリティ生成回路10により回復させる(ステップ5
9)。この読み出されていないサブデータを回復しと
き、マイクロプロセッサ6は、キャッシュメモリ9に読
み出された3つのサブデータと回復されたサブデータを
転送する(ステップ60)。
ファ18内にパリティデータが格納されている場合は、
セレクタバッファ18内にパリティデータが格納されて
いることをマイクロプロセッサ6に報告し(ステップ5
6)、マイクロプロセッサ6からの指示でセレクタバッ
ファ18とパリティ生成回路10とをスイッチ回路16
により接続する(ステップ57)。この接続が完了する
とマイクロプロセッサ6はセレクタバッファ18からパ
リティ生成回路10へ読み出されたサブデータ(本実施
例ではこれは3つのサブデータである)とパリティデー
タを転送し(ステップ58)、未読み出しのサブデータ
をパリティ生成回路10により回復させる(ステップ5
9)。この読み出されていないサブデータを回復しと
き、マイクロプロセッサ6は、キャッシュメモリ9に読
み出された3つのサブデータと回復されたサブデータを
転送する(ステップ60)。
【0048】パリティ生成回路10によるデータの回復
は以下のようになされる。
は以下のようになされる。
【0049】上記ようにしていずれかのサブデータの読
み出しの前に、パリティデータが読み出された場合、マ
イクロプロセッサ6が読み出しが遅れているドライブを
認識すると、スイッチ回路17を切り換えてパリティ生
成回路10にすでに到着した3つのサブデータとパリテ
ィデータとを線10Aを介してパリティ生成回路10に
転送する。この時、上記読み出しが遅れているサブデー
タを転送するための、線10Aの中の1本には、このサ
ブデータは転送されてこない。マイクロプロセッサ6は
どのサブデータの読み出しが遅れているかをすでに認識
し、したがって、線10の中のその線がアクティブでな
いかを認識しているため、パリティ生成回路10内のス
イッチ120に指示して、線10Aの中でアクティブな
線のみを選択させ、線200Aに接続させる。こうし
て、線200Aを介してEOR回路130にすでに読み
出された3つのサブデータとパリティデータが転送され
る。スイッチ120からサブデータとパリティデータを
受け取ったEOR回路130では、パリティデータを作
成したときと同様に、サブデータとパリティデータの排
他的論理和をとることにより、まだ読み出されていない
サブデータを回復する。この時、サブデータの回復が完
了したことをEOR回路130はマイクロプロセッサ6
に報告する。このようにして回復されたサブデータは線
400を介してアクティブパススイッチ140に転送さ
れる。アクティブパススイッチ140は、マイクロプロ
セッサ6の指示により、線100Aの中で回復データが
転送されるべき線を選択し、そこに線400上の回復さ
れたサブデータを出力し、線100Aの他の3つの線に
はすでに読み出された3つのサブデータを出力する。こ
うして線100Aに、正常な4つのサブデータが出力さ
れる。回復データ結合回路100は、マイクロプロセッ
サ6の指示により、線110Aを線9Bに接続し、これ
らの4つのサブデータを、この線9Bを介して、キャッ
シュメモリ9二転送する。こうして、回復されたサブデ
ータを含め、正常な4つのサブデータの読み出しが完了
したことになる。
み出しの前に、パリティデータが読み出された場合、マ
イクロプロセッサ6が読み出しが遅れているドライブを
認識すると、スイッチ回路17を切り換えてパリティ生
成回路10にすでに到着した3つのサブデータとパリテ
ィデータとを線10Aを介してパリティ生成回路10に
転送する。この時、上記読み出しが遅れているサブデー
タを転送するための、線10Aの中の1本には、このサ
ブデータは転送されてこない。マイクロプロセッサ6は
どのサブデータの読み出しが遅れているかをすでに認識
し、したがって、線10の中のその線がアクティブでな
いかを認識しているため、パリティ生成回路10内のス
イッチ120に指示して、線10Aの中でアクティブな
線のみを選択させ、線200Aに接続させる。こうし
て、線200Aを介してEOR回路130にすでに読み
出された3つのサブデータとパリティデータが転送され
る。スイッチ120からサブデータとパリティデータを
受け取ったEOR回路130では、パリティデータを作
成したときと同様に、サブデータとパリティデータの排
他的論理和をとることにより、まだ読み出されていない
サブデータを回復する。この時、サブデータの回復が完
了したことをEOR回路130はマイクロプロセッサ6
に報告する。このようにして回復されたサブデータは線
400を介してアクティブパススイッチ140に転送さ
れる。アクティブパススイッチ140は、マイクロプロ
セッサ6の指示により、線100Aの中で回復データが
転送されるべき線を選択し、そこに線400上の回復さ
れたサブデータを出力し、線100Aの他の3つの線に
はすでに読み出された3つのサブデータを出力する。こ
うして線100Aに、正常な4つのサブデータが出力さ
れる。回復データ結合回路100は、マイクロプロセッ
サ6の指示により、線110Aを線9Bに接続し、これ
らの4つのサブデータを、この線9Bを介して、キャッ
シュメモリ9二転送する。こうして、回復されたサブデ
ータを含め、正常な4つのサブデータの読み出しが完了
したことになる。
【0050】この時の本実施例でのデータ読み出し処理
におけるタイミングチャートを図7に示す。本実施例で
は、データの読み出し処理の回転待ち時間は、論理グル
ープ14を構成する5台のドライブ#1から#5の中
の、2番目に回転待ち時間が長いドライブ#3のそれと
なる。最も回転待ち時間が長いドライブ#3のそれより
も早くデータをCPU1に供給できる。なお、従来の読
み出し処理では論理グループ14を構成する全ての5台
のドライブ13の内の4台のドライブから4つのサブデ
ータを読み出す。このため、図7で示すように、ディス
クアレイ2における読み出し処理の回転待ち時間は、4
台のドライブ13の中の最も長いドライブ#3のそれと
なる。
におけるタイミングチャートを図7に示す。本実施例で
は、データの読み出し処理の回転待ち時間は、論理グル
ープ14を構成する5台のドライブ#1から#5の中
の、2番目に回転待ち時間が長いドライブ#3のそれと
なる。最も回転待ち時間が長いドライブ#3のそれより
も早くデータをCPU1に供給できる。なお、従来の読
み出し処理では論理グループ14を構成する全ての5台
のドライブ13の内の4台のドライブから4つのサブデ
ータを読み出す。このため、図7で示すように、ディス
クアレイ2における読み出し処理の回転待ち時間は、4
台のドライブ13の中の最も長いドライブ#3のそれと
なる。
【0051】なお、ステップ55の判定によりセレクタ
バッファ18内にパリティデータが格納されていない場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータがすでに読み出され
ていることになる。このときには、応答判定回路部16
は、セレクタバッファ18内にパリティデータが格納さ
れていないことをマイクロプロセッサ6に報告し(ステ
ップ61)、スイッチ回路16は、マイクロプロセッサ
6からの指示でセレクタバッファ18とキャッシュメモ
リ9とを接続する(ステップ62)。この接続が完了す
るとマイクロプロセッサ6は、セレクタバッファ18か
らキャッシュメモリ9に読み出されたサブデータを転送
する(ステップ63)。この後これらのサブデータを結
合してCPU1に転送する(ステップ47)。したがっ
て、このときの動作は従来と同様である。
バッファ18内にパリティデータが格納されていない場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータがすでに読み出され
ていることになる。このときには、応答判定回路部16
は、セレクタバッファ18内にパリティデータが格納さ
れていないことをマイクロプロセッサ6に報告し(ステ
ップ61)、スイッチ回路16は、マイクロプロセッサ
6からの指示でセレクタバッファ18とキャッシュメモ
リ9とを接続する(ステップ62)。この接続が完了す
るとマイクロプロセッサ6は、セレクタバッファ18か
らキャッシュメモリ9に読み出されたサブデータを転送
する(ステップ63)。この後これらのサブデータを結
合してCPU1に転送する(ステップ47)。したがっ
て、このときの動作は従来と同様である。
【0052】以上述べたパリティデータは、いずれかの
ディスク記憶装置に障害が発生したときに使用するため
にディスク記憶装置に記憶するものを使用すれば、誤り
訂正符号を記憶するためのディスク記憶装置を新に使用
することなく本実施例を実現できる。
ディスク記憶装置に障害が発生したときに使用するため
にディスク記憶装置に記憶するものを使用すれば、誤り
訂正符号を記憶するためのディスク記憶装置を新に使用
することなく本実施例を実現できる。
【0053】なお、本実施例で使用したパリティ生成回
路10は、いずれかのドライブに障害が発生したとき
に、そのドライブ内のサブデータを他のドライブ内のサ
ブデータから回復するのにも使用できる。このような障
害ドライブ内のサブデータを回復できるパリティ生成回
路は、通常のRAID3のディスクアレイに使用される
ものと同じ回路でよい。従って、本実施例は、通常のデ
ィスクアレイに使用されるパリティ生成回路を使用でき
るので、実現が容易であると言える。
路10は、いずれかのドライブに障害が発生したとき
に、そのドライブ内のサブデータを他のドライブ内のサ
ブデータから回復するのにも使用できる。このような障
害ドライブ内のサブデータを回復できるパリティ生成回
路は、通常のRAID3のディスクアレイに使用される
ものと同じ回路でよい。従って、本実施例は、通常のデ
ィスクアレイに使用されるパリティ生成回路を使用でき
るので、実現が容易であると言える。
【0054】<実施例2>実施例1ではパリティグルー
プの誤り訂正符号としてパリティデータを使用したが、
本実施例では互いに異なる複数のエラー訂正符号(EC
C)を使用する。本実施例は、実施例1を以下のように
修正すれば実現できる。
プの誤り訂正符号としてパリティデータを使用したが、
本実施例では互いに異なる複数のエラー訂正符号(EC
C)を使用する。本実施例は、実施例1を以下のように
修正すれば実現できる。
【0055】本実施例では、CPU1から供給された書
込みデータを、例えば、3つのサブデータに分割し、さ
らに、これらのサブデータに対する誤り訂正符号とし
て、複数の、例えば2種類のECCデータを生成し、こ
れらのサブデータとこれらのECCデータを互いに異な
るドライブに書込む。このように2種類のECCデータ
を用意した場合は、2台までドライブに障害が発生して
も、この障害が発生したドライブ内のデータを回復する
ことが可能であることが知られている。
込みデータを、例えば、3つのサブデータに分割し、さ
らに、これらのサブデータに対する誤り訂正符号とし
て、複数の、例えば2種類のECCデータを生成し、こ
れらのサブデータとこれらのECCデータを互いに異な
るドライブに書込む。このように2種類のECCデータ
を用意した場合は、2台までドライブに障害が発生して
も、この障害が発生したドライブ内のデータを回復する
ことが可能であることが知られている。
【0056】本実施例でもこのECCデータを通常のデ
ータの読み出しのときにも使用する。すなわち、CPU
1がこの書込みデータに対する読み出し要求を発行した
とき、この書込みデータを構成する3つのサブデータお
よび2つのECCデータの読み出しを指示する。本実施
例では2種類のECCデータがあるため、2個のサブデ
ータまで、それが読み出される前に、そのサブデータ
を、読み出しが完了したサブデータとECCデータとか
ら回復し、回復されたサブデータを読み出し未完了のサ
ブデータの代わりに使用する。
ータの読み出しのときにも使用する。すなわち、CPU
1がこの書込みデータに対する読み出し要求を発行した
とき、この書込みデータを構成する3つのサブデータお
よび2つのECCデータの読み出しを指示する。本実施
例では2種類のECCデータがあるため、2個のサブデ
ータまで、それが読み出される前に、そのサブデータ
を、読み出しが完了したサブデータとECCデータとか
ら回復し、回復されたサブデータを読み出し未完了のサ
ブデータの代わりに使用する。
【0057】より具体的には、CPU1から読み出し要
求が後に発行された場合、その要求で指定されたデータ
を構成する3つのサブデータとそれらに対する2種類の
ECCデータが格納されている5つのドライブに対し読
み出し要求を発行する。各ドライブではこれらの読み出
し要求に応答し、順に読み出しが完了する。この順に読
み出しが完了したドライブにおいて、読み出し要求で指
定されたデータを構成する全てのサブデータが含まれて
いるか否かを判別する。
求が後に発行された場合、その要求で指定されたデータ
を構成する3つのサブデータとそれらに対する2種類の
ECCデータが格納されている5つのドライブに対し読
み出し要求を発行する。各ドライブではこれらの読み出
し要求に応答し、順に読み出しが完了する。この順に読
み出しが完了したドライブにおいて、読み出し要求で指
定されたデータを構成する全てのサブデータが含まれて
いるか否かを判別する。
【0058】もしいずれか一つ又は二つのサブデータが
含まれていないときには、一つ又は二つのECCデータ
がその読み出しが完了していない一つ又は二つのサブデ
ータより先に読み出されたことになる。この場合には、
すでに読み出された一部のサブデータとその読み出され
た一つ又は二つのECCデータとから、その読み出し未
完了の一つ又は二つのサブデータを回復し、回復された
一つ又は二つのサブデータとすでに読み出された一部の
サブデータとを結合して、読み出し要求が指定したデー
タを生成し、CPU1に送る。したがって、本実施例で
は、最大二つのサブデータの読み出しがなされる前に、
二つのサブデータが読み出された場合に、それらのサブ
データの読み出しが完了するのを待たないで、必要な全
てのサブデータを得ることが出来る。
含まれていないときには、一つ又は二つのECCデータ
がその読み出しが完了していない一つ又は二つのサブデ
ータより先に読み出されたことになる。この場合には、
すでに読み出された一部のサブデータとその読み出され
た一つ又は二つのECCデータとから、その読み出し未
完了の一つ又は二つのサブデータを回復し、回復された
一つ又は二つのサブデータとすでに読み出された一部の
サブデータとを結合して、読み出し要求が指定したデー
タを生成し、CPU1に送る。したがって、本実施例で
は、最大二つのサブデータの読み出しがなされる前に、
二つのサブデータが読み出された場合に、それらのサブ
データの読み出しが完了するのを待たないで、必要な全
てのサブデータを得ることが出来る。
【0059】この時の本実施例と従来の読み出し処理に
おけるタイミングチャートを図8に示す。
おけるタイミングチャートを図8に示す。
【0060】本実施例では、データの読み出し処理の回
転待ち時間は、論理グループ14を構成する5台のドラ
イブ#1から#5の中の、3番目に回転待ち時間が長い
ドライブ#5のそれとなる。最も回転待ち時間が長いド
ライブ#3とその次に回転待ち時間が長いドライブ#1
の回転待ち時間よりも早くデータをCPU1に供給でき
る。なお、実施例1の読み出し処理では論理グループ1
4を構成する全ての5台のドライブ13の内の2番目に
回転待ち時間が長いドライブ#1の回転待ち時間とな
る。したがって、本実施例では、実施例1よりより高速
に全てのサブデータを読み出せる場合が増大する。
転待ち時間は、論理グループ14を構成する5台のドラ
イブ#1から#5の中の、3番目に回転待ち時間が長い
ドライブ#5のそれとなる。最も回転待ち時間が長いド
ライブ#3とその次に回転待ち時間が長いドライブ#1
の回転待ち時間よりも早くデータをCPU1に供給でき
る。なお、実施例1の読み出し処理では論理グループ1
4を構成する全ての5台のドライブ13の内の2番目に
回転待ち時間が長いドライブ#1の回転待ち時間とな
る。したがって、本実施例では、実施例1よりより高速
に全てのサブデータを読み出せる場合が増大する。
【0061】<実施例3>本実施例では、図9に示すよ
うに論理グループ14を二重化して大論理グループ70
をを構成し、この大論理グループ70において実施例1
の読み出し制御を行う。大論理グループ70を構成する
二つの論理グループ14は、同一のデータを保持するよ
うになっており、両者はいわゆるミラーリングの関係を
有する。すなわち、一方の論理グループ14の各ドライ
ブ、例えば#1は、他方の論理グループ14の一つ、例
えば#6と対をなす。これらの二つのドライブは、とも
に一つのドライブインタフェース回路12に共通のSC
SIバス15を介して接続されている。以下、本実施例
について、実施例1と異なる点を中心に説明する。
うに論理グループ14を二重化して大論理グループ70
をを構成し、この大論理グループ70において実施例1
の読み出し制御を行う。大論理グループ70を構成する
二つの論理グループ14は、同一のデータを保持するよ
うになっており、両者はいわゆるミラーリングの関係を
有する。すなわち、一方の論理グループ14の各ドライ
ブ、例えば#1は、他方の論理グループ14の一つ、例
えば#6と対をなす。これらの二つのドライブは、とも
に一つのドライブインタフェース回路12に共通のSC
SIバス15を介して接続されている。以下、本実施例
について、実施例1と異なる点を中心に説明する。
【0062】(データ書き込み動作)CPU1から供給
された書込みデータを分割して得られる複数のサブデー
タおよびそれから生成されたパリティデータの各々は、
二つの論理グループの、互いに対をなす二つのドライ
ブ、例えば、ドライブ#1と#13に書込まれる。書込
まれるドライブ内の位置は、同じである。この書込み位
置を決めるために、図10に示すようなアドレステーブ
ルが使用される。すなわち、各ドライブインタフェース
回路12には、書込むべきいずれかのサブデータもしく
はパリティデータと、このテーブルで決まる二つのドラ
イブの番号とそれらに共通なドライブ内アドレスがドラ
イブ選択部11から通知される。この時、マイクロプロ
セッサ6は、ドライブ選択部11を介して各ドライブイ
ンタフェース回路12に対して、それに接続されたペア
のドライブ13に対してミラーリングでデータを書き込
むことを指示する。各ドライブインタフェース回路12
は、それに接続されたSCSIバス15を介してそれに
接続された一対のドライブに同じデータとドライブ内ア
ドレスを順次送り、これらの二つのドライブにこのサブ
データもしくはパリティデータを順次書込む。
された書込みデータを分割して得られる複数のサブデー
タおよびそれから生成されたパリティデータの各々は、
二つの論理グループの、互いに対をなす二つのドライ
ブ、例えば、ドライブ#1と#13に書込まれる。書込
まれるドライブ内の位置は、同じである。この書込み位
置を決めるために、図10に示すようなアドレステーブ
ルが使用される。すなわち、各ドライブインタフェース
回路12には、書込むべきいずれかのサブデータもしく
はパリティデータと、このテーブルで決まる二つのドラ
イブの番号とそれらに共通なドライブ内アドレスがドラ
イブ選択部11から通知される。この時、マイクロプロ
セッサ6は、ドライブ選択部11を介して各ドライブイ
ンタフェース回路12に対して、それに接続されたペア
のドライブ13に対してミラーリングでデータを書き込
むことを指示する。各ドライブインタフェース回路12
は、それに接続されたSCSIバス15を介してそれに
接続された一対のドライブに同じデータとドライブ内ア
ドレスを順次送り、これらの二つのドライブにこのサブ
データもしくはパリティデータを順次書込む。
【0063】(データ読み出し動作)実施例1と異な
り、各ドライブインタフェース回路12は、それに接続
された一対のドライブの両方にサブデータもしくはパリ
ティデータの読み出しを指示する。この読み出すべきド
ライブの番号とドライブ内記憶位置は、図10のアドレ
ステーブルを使用して決定される。各ドライブインタフ
ェース回路12は、それに接続された一対のドライブに
順次読み出し要求を発行する。各ドライブインタフェー
ス回路12は、これらの一対のドライブのそれぞれから
読み出し完了報告と読み出されたサブデータもしくはパ
リティデータが通知されたときに、その読み出し完了通
知と、その読み出されたサブデータもしくはパリティデ
ータをドライブ選択部11に転送する。
り、各ドライブインタフェース回路12は、それに接続
された一対のドライブの両方にサブデータもしくはパリ
ティデータの読み出しを指示する。この読み出すべきド
ライブの番号とドライブ内記憶位置は、図10のアドレ
ステーブルを使用して決定される。各ドライブインタフ
ェース回路12は、それに接続された一対のドライブに
順次読み出し要求を発行する。各ドライブインタフェー
ス回路12は、これらの一対のドライブのそれぞれから
読み出し完了報告と読み出されたサブデータもしくはパ
リティデータが通知されたときに、その読み出し完了通
知と、その読み出されたサブデータもしくはパリティデ
ータをドライブ選択部11に転送する。
【0064】ドライブ選択部11は、ミラー関係にある
一対のドライブから供給される一対の読み出し完了報告
の内、最初に供給された読み出し完了報告に応答して、
それに付随して転送されるサブデータもしくはパリティ
データをセレクトバッファに格納し、遅れて供給された
読み出し完了報告を無視し、それに付随して転送される
サブデータもしくはパリティデータはセレクトバッファ
に取り込まないように、セレクトバッファへの格納を制
御する回路を有する点で実施例1と異なる。ドライブ制
御部11のその他の動作は実施例1と同じである。この
結果、図11に示すように、図11に示すようにサブデ
ータ#3が読み出される前に、サブデータ#1、2、4
とパリティデータが読み出された時点で、サブデータ#
3を回復できる。しかも、この回復に使用するパリティ
データがドライブ#5、#10の一方から読み出された
時点で、この回復を実行できる。他のサブデータについ
ても同様である。
一対のドライブから供給される一対の読み出し完了報告
の内、最初に供給された読み出し完了報告に応答して、
それに付随して転送されるサブデータもしくはパリティ
データをセレクトバッファに格納し、遅れて供給された
読み出し完了報告を無視し、それに付随して転送される
サブデータもしくはパリティデータはセレクトバッファ
に取り込まないように、セレクトバッファへの格納を制
御する回路を有する点で実施例1と異なる。ドライブ制
御部11のその他の動作は実施例1と同じである。この
結果、図11に示すように、図11に示すようにサブデ
ータ#3が読み出される前に、サブデータ#1、2、4
とパリティデータが読み出された時点で、サブデータ#
3を回復できる。しかも、この回復に使用するパリティ
データがドライブ#5、#10の一方から読み出された
時点で、この回復を実行できる。他のサブデータについ
ても同様である。
【0065】結局、本実施例では、実施例1と同じく、
いずれかのサブデータがまだ読みだされていないが、パ
リティデータと他の3つのサブデータが読み出された時
点で、これらの読み出されてサブデータとパリティデー
タとから読み出されていないサブデータを回復する。し
かし、本実施例では、実施例1と比べて、各サブデータ
もしくはパリティデータが一対のドライブに保持され、
その一対のドライブの一方より、より早くサブデータも
しくはパリティデータが読み出されたときに、そのサブ
データもしくはパリティデータの読み出しが完了するの
で、実施例1よりより高速に必要なデータを読み出すこ
とが出来る。なお、本実施例に採用した技術は、実施例
2にも適用可能である。
いずれかのサブデータがまだ読みだされていないが、パ
リティデータと他の3つのサブデータが読み出された時
点で、これらの読み出されてサブデータとパリティデー
タとから読み出されていないサブデータを回復する。し
かし、本実施例では、実施例1と比べて、各サブデータ
もしくはパリティデータが一対のドライブに保持され、
その一対のドライブの一方より、より早くサブデータも
しくはパリティデータが読み出されたときに、そのサブ
データもしくはパリティデータの読み出しが完了するの
で、実施例1よりより高速に必要なデータを読み出すこ
とが出来る。なお、本実施例に採用した技術は、実施例
2にも適用可能である。
【0066】
【発明の効果】本発明ではレベルRAID3のディスク
アレイを構成するように書込まれた複数のサブデータを
読み出す場合に、一部のサブデータと誤り訂正符号が読
み出され、他のサブデータがまだ読み出されていない時
点で、その読み出されていないサブデータを回復するの
で、この、他のサブデータの読み出しが完了するのを待
つ必要がない。したがって、ディスクアレイからのデー
タの読み出し時間を実質的に短縮できる。
アレイを構成するように書込まれた複数のサブデータを
読み出す場合に、一部のサブデータと誤り訂正符号が読
み出され、他のサブデータがまだ読み出されていない時
点で、その読み出されていないサブデータを回復するの
で、この、他のサブデータの読み出しが完了するのを待
つ必要がない。したがって、ディスクアレイからのデー
タの読み出し時間を実質的に短縮できる。
【0067】しかも、この誤り訂正符号として、いずれ
かのディスク記憶装置に障害が発生したときに使用する
ためにディスク記憶装置に記憶するものを使用すれば、
誤り訂正符号を記憶するためのディスク記憶装置を新に
使用することなく本発明を実現できる。
かのディスク記憶装置に障害が発生したときに使用する
ためにディスク記憶装置に記憶するものを使用すれば、
誤り訂正符号を記憶するためのディスク記憶装置を新に
使用することなく本発明を実現できる。
【図1】本発明によるディスクアレイの実施例1の概略
回路図。
回路図。
【図2】図1の装置に使用するパリティ生成回路(1
0)の概略回路図。
0)の概略回路図。
【図3】図1の装置のドライブ選択部(11)の概略回
路図。
路図。
【図4】図1の装置に使用するアドレス変換テーブルの
一例を示す図。
一例を示す図。
【図5】図1の装置でのデータ読み出し動作のフローチ
ャート。
ャート。
【図6】図1の装置の応答判定回路部における判定方法
のフローチャート。
のフローチャート。
【図7】図1の装置における読み出し動作のタイミング
チャート。
チャート。
【図8】本発明によるディスクアレイの実施例2におけ
る読み出し動作のタイミングチャート。
る読み出し動作のタイミングチャート。
【図9】本発明によるディスクアレイの実施例3の概略
回路図。
回路図。
【図10】図9の装置に使用するアドレス変換テーブル
を示す図。
を示す図。
【図11】図9の装置でのデータ読み出し動作のタイミ
ングチャート。
ングチャート。
2 …制御部、5…データ制御回路、10…パリティ生
成回路(パリティ生成回路)、12…ドライブインタフ
ェース回路、13…ドライブ
成回路(パリティ生成回路)、12…ドライブインタフ
ェース回路、13…ドライブ
Claims (11)
- 【請求項1】複数のディスク記憶装置を有するディスク
アレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数のサブデータに分割し、 これらのサブデータに対する誤り訂正符号を作成し、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数のディスク記憶装置の内の互いに異なるも
のに書込み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記ディスク記憶装置に指示し、 上記複数のディスク記憶装置から上記複数のサブデータ
の一部および上記誤り訂正符号が読み出され、他のサブ
データがまだ読み出されていない時点で、上記読み出さ
れた一部のサブデータと上記読み出された誤り訂正符号
とから、上記読み出されていない他のサブデータを回復
し、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給するデー
タ読み出し方法。 - 【請求項2】上記誤り訂正符号は、上記複数のディスク
記憶装置のいずれかに障害が生じたとき、その障害が生
じたディスク記憶装置以外の他の複数のディスク記憶装
置に保持された、他の複数のサブデータおよび誤り訂正
符号から、その障害が生じたディスク記憶装置に保持さ
れたサブデータを回復するのに使用される誤り訂正符号
である請求項1記載のデータ読み出し方法。 - 【請求項3】上記誤り訂正符号は、上記複数のサブデー
タに対するパリティデータである請求項1記載のデータ
読み出し方法。 - 【請求項4】複数のディスク記憶装置を有するディスク
アレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数(n)個のサブデータに分割し、 これらのサブデータに対する互いに異なる複数(m)個
の誤り訂正符号を作成し、 これら複数のサブデータとこの作成された複数の誤り訂
正符号とを、上記複数のディスク記憶装置の内の、互い
に異なる複数(n+m)個のディスク記憶装置に書込
み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記n個のサブデータと上記m個の誤り訂正符号の
読み出しを上記複数(n+m)個のディスク記憶装置に
指示し、 上記複数(n+m)のディスク記憶装置から上記複数の
サブデータの一部および上記複数の誤り訂正符号の一つ
もしくはそれ以上が読み出され、他の一つもしくは複数
のサブデータがまだ読み出されていない時点で、上記読
み出された一部のサブデータと上記読み出された一つも
しくは複数の誤り訂正符号とから、上記読み出されてい
ない他の一つもしくは複数のサブデータを回復し、 回復された他の一つもしくは複数のサブデータと読み出
された一部のサブデータとを結合して上記上位装置に供
給するデータ読み出し方法。 - 【請求項5】上記複数の誤り訂正符号は、上記複数のデ
ィスク記憶装置内のいずれかの複数個のディスク記憶装
置に障害が生じたとき、その障害が生じた複数のディス
ク記憶装置以外のディスク記憶装置に保持された一部の
サブデータおよび該複数の誤り訂正符号を使用して、そ
の障害が生じた複数のディスク記憶装置に保持されたサ
ブデータを回復するのに使用される誤り訂正符号である
請求項4記載のデータ読み出し方法。 - 【請求項6】複数対のディスク記憶装置を有するディス
クアレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数のサブデータに分割し、 これらのサブデータに対する誤り訂正符号を作成し、 これらのサブデータとこの作成された誤り訂正符号を、
上記複数対のディスク記憶装置に、各サブデータおよび
誤り訂正符号がそれぞれ同じ一対のディスク記憶装置に
重複して保持されるように書込み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数対のディスク記憶装置に指示し、 上記複数対のディスク記憶装置から上記複数のサブデー
タの一部および上記誤り訂正符号が読み出され、他のサ
ブデータがまだ読み出されていない時点で、上記読み出
された一部のサブデータと上記読み出された誤り訂正符
号とから、上記読み出されていない他のサブデータを回
復し、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給するデー
タ読み出し方法。 - 【請求項7】複数のディスク記憶装置と、 上位装置から供給される、上記複数のディスク記憶装置
に対する書込み要求と読み出し要求を実行する制御部と
を有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数のサブデータに分割する手段と、 これらのサブデータに対する誤り訂正符号を作成する手
段と、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数のディスク記憶装置の内の互いに異なるも
のに書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数のディスク記憶装置に指示する手段と、 上記複数のディスク記憶装置から上記複数のサブデータ
の一部および上記誤り訂正符号が読み出され、他のサブ
データがまだ読み出されていない時点で、上記読み出さ
れた一部のサブデータと上記読み出された誤り訂正符号
とから、上記読み出されていない他のサブデータを回復
する手段と、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給する手段
とを有するディスクアレイ装置。 - 【請求項8】上記複数のディスク記憶装置のいずれかに
障害が生じたとき、その障害が生じたディスク記憶装置
に保持されたサブデータを、そのディスク記憶装置以外
の他の複数のディスク記憶装置内のサブデータ及び誤り
訂正符号を用いて、上記回復手段により回復させる手段
をさらに有する請求項7記載のディスクアレイ装置。 - 【請求項9】複数のディスク記憶装置と、 上位装置から供給される、上記複数のディスク記憶装置
に対する書込み要求と読み出し要求を実行する制御部と
を有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数(m)のサブデータに分割する手段
と、 これらのサブデータに対する互いに異なる複数の誤り訂
正符号を作成する手段と、 これらのサブデータとこれらの作成された誤り訂正符号
とを、上記複数のディスク記憶装置の内の互いに異なる
ものに書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記複数の誤り訂正符号の
読み出しを上記互いに異なる複数のディスク記憶装置に
指示する手段と、 上記互いに異なる複数のディスク記憶装置から上記複数
のサブデータの一部および上記複数の誤り訂正符号の一
つもしくはそれ以上が読み出され、一つもしくはそれ以
上の他のサブデータがまだ読み出されていない時点で、
上記読み出された一部のサブデータと上記読み出された
一つもしくはそれ以上の誤り訂正符号とから、上記読み
出されていない一つもしくはそれ以上の他のサブデータ
を回復する手段と、 上記読み出された一部のサブデータと上記回復された一
つもしくはそれ以上の他のサブデータとを結合して上記
上位装置に供給する手段とを有するディスクアレイ装
置。 - 【請求項10】上記複数のディスク記憶装置の内、一つ
もしくはそれ以上のディスク記憶装置に障害が生じたと
き、その障害が生じた一つもしくはそれ以上のディスク
記憶装置に保持された一つもしくは複数のサブデータ
を、そのディスク記憶装置以外の他のディスク記憶装置
内に保持された他の複数のサブデータおよび上記複数の
誤り訂正符号を用いて、上記サブデータ回復手段により
回復させる手段をさらに有する請求項9記載のディスク
アレイ装置。 - 【請求項11】複数対のディスク記憶装置と、 上位装置から供給される、上記複数対のディスク記憶装
置に対する書込み要求と読み出し要求を実行する制御部
とを有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数のサブデータに分割する手段と、 これらのサブデータに対する誤り訂正符号を作成する手
段と、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数対のディスク記憶装置に、各サブデータお
よび誤り訂正符号がそれぞれ同じ一対のディスク記憶装
置に重複して保持されるように書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数対のディスク記憶装置に指示する手段と、 上記複数対のディスク記憶装置から上記複数のサブデー
タの一部および上記誤り訂正符号が読み出され、他のサ
ブデータがまだ読み出されていない時点で、上記読み出
された一部のサブデータと上記読み出された誤り訂正符
号とから、上記読み出されていない他のサブデータを回
復する手段と、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給する手段
とを有するディスクアレイ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6316197A JPH08171463A (ja) | 1994-12-20 | 1994-12-20 | ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6316197A JPH08171463A (ja) | 1994-12-20 | 1994-12-20 | ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08171463A true JPH08171463A (ja) | 1996-07-02 |
Family
ID=18074381
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6316197A Pending JPH08171463A (ja) | 1994-12-20 | 1994-12-20 | ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08171463A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6643734B2 (en) | 1998-03-10 | 2003-11-04 | Nec Corporation | Control device and control method for a disk array |
| GB2432440A (en) * | 2005-11-21 | 2007-05-23 | Infortrend Technology Inc | Data Access for RAID storage |
| JP2007141264A (ja) * | 1998-12-22 | 2007-06-07 | Hitachi Ltd | 記憶装置システム |
| EP1589426A3 (en) * | 2004-04-22 | 2009-08-12 | Hitachi Ltd. | Redundant disk storage system |
| US7805564B2 (en) | 1998-12-22 | 2010-09-28 | Hitachi, Ltd. | Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system |
| JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
-
1994
- 1994-12-20 JP JP6316197A patent/JPH08171463A/ja active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6643734B2 (en) | 1998-03-10 | 2003-11-04 | Nec Corporation | Control device and control method for a disk array |
| US7937527B2 (en) | 1998-12-22 | 2011-05-03 | Hitachi, Ltd. | Storage system for sending an access request from a host to a storage subsystem |
| US8375168B2 (en) | 1998-12-22 | 2013-02-12 | Hitachi, Ltd. | Method and system of collection performance data for storage network |
| JP2007141264A (ja) * | 1998-12-22 | 2007-06-07 | Hitachi Ltd | 記憶装置システム |
| US7805564B2 (en) | 1998-12-22 | 2010-09-28 | Hitachi, Ltd. | Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system |
| US8176248B2 (en) | 1998-12-22 | 2012-05-08 | Hitachi, Ltd. | Method and system of collection performance data for storage network |
| US8051244B2 (en) | 1998-12-22 | 2011-11-01 | Hitachi, Ltd. | Storage system for sending an access request from a host to a storage subsystem |
| EP1589426A3 (en) * | 2004-04-22 | 2009-08-12 | Hitachi Ltd. | Redundant disk storage system |
| CN100454227C (zh) * | 2005-11-21 | 2009-01-21 | 普安科技股份有限公司 | 数据存取方法及其存储子系统 |
| GB2432440B (en) * | 2005-11-21 | 2011-03-16 | Infortrend Technology Inc | Generating redundant data when a read in a RAID system is slow to complete |
| GB2432440A (en) * | 2005-11-21 | 2007-05-23 | Infortrend Technology Inc | Data Access for RAID storage |
| US9442802B2 (en) | 2005-11-21 | 2016-09-13 | Infortrend Technology, Inc. | Data access methods and storage subsystems thereof |
| JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6854071B2 (en) | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system | |
| US5487160A (en) | Concurrent image backup for disk storage system | |
| JP3181398B2 (ja) | アレイ型記録装置 | |
| US5917999A (en) | Storage unit subsystem | |
| JP2831072B2 (ja) | ディスクドライブメモリ | |
| US5613088A (en) | Raid system including first and second read/write heads for each disk drive | |
| US6604171B1 (en) | Managing a cache memory | |
| US20050229033A1 (en) | Disk array controller and information processing apparatus | |
| JPH05181611A (ja) | 記録装置及びアクセス方式 | |
| JP3230645B2 (ja) | データ処理方法、システムおよび装置 | |
| US7076686B2 (en) | Hot swapping memory method and system | |
| JP4491330B2 (ja) | ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム | |
| US5787463A (en) | Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability | |
| JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
| JPH08171463A (ja) | ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置 | |
| JPH07219719A (ja) | 記憶装置及び方法 | |
| JPH06230903A (ja) | ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 | |
| JPH06119126A (ja) | ディスクアレイ装置 | |
| JPH09218754A (ja) | データ記憶システム | |
| KR19990051729A (ko) | 이중 어레이 제어기를 갖는 래이드 시스템의 구조 | |
| JPH06266508A (ja) | ディスクアレイ制御方法 | |
| US20050081088A1 (en) | Array controller for disk array, and method for rebuilding disk array | |
| JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 | |
| JP3288071B2 (ja) | 情報変換処理装置および情報転送制御方法 | |
| JP2778268B2 (ja) | 記録媒体制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20040302 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040330 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |