JP3613722B2 - ディスクアレイ装置 - Google Patents
ディスクアレイ装置 Download PDFInfo
- Publication number
- JP3613722B2 JP3613722B2 JP05052097A JP5052097A JP3613722B2 JP 3613722 B2 JP3613722 B2 JP 3613722B2 JP 05052097 A JP05052097 A JP 05052097A JP 5052097 A JP5052097 A JP 5052097A JP 3613722 B2 JP3613722 B2 JP 3613722B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- sector
- read
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ディスクアレイ装置に関し、特に、セクタ障害が発生しても、最大応答時間を低減または保障することが出来るディスクアレイ装置に関する。
【0002】
【従来の技術】
●RAIDとは
論文:”A Case for Redundant Arrays of Inexpencive Disks (RAID)”, David A.Patterson, Garth Gibson, and Randy H.Katz, Computer Science Division Department of Electrical Engineering and Computer Sciences, University of Calfornia Berkeley)において、複数の磁気ディスク装置を並列に動かして読み出し/書き込みの高速化を図り、冗長構成によって信頼性を上げた外部記憶装置であるディスクアレイ装置(RAID:Redundant Arrays of Inexpencive Disks)が開示されている。
前記論文の中では、ディスクアレイ装置の構成が、RAIDレベル1からRAIDレベル5までの番号で分類されている。この中で、RAIDレベル3は、大量のデータを転送するシーケンシャルアクセスに対し性能の向上が見込める。また、RAIDレベル5は、小さなサイズの読み書きが大量に発生するランダムアクセスに対し性能の向上が見込める(日経エレクトロニクス1993/4/26 No.579 P77〜91 「特集ディスクアレイ装置」)。
【0003】
●RAID制御とは
RAID制御とは、複数のディスク装置にどのようにデータを分散させるかを制御すること及びどのように冗長データを作成しどこに格納するかを制御することである。
図14は、3台のディスク装置DISK#0,DISK#1,DISK#2で構成するディスクアレイ装置の概念図である。
このディスクアレイ装置は、実際には、3台のディスク装置DISK#0,DISK#1,DISK#2を使用してデータを保持しているが、コンピュータシステムからは、D0からD7までの「ストライプ」と呼ばれる所定量(例えば32KB)のデータ格納容量をもつデータ格納領域を連続して有する1台のディスク装置として論理的に認識される。
ディスク装置DISK#0にはストライプD0,D2,D4,D6が割り当てられ、ディスク装置DISK#1にはストライプD1,D3,D5,D7が割り当てられている。
ディスク装置DISK#2には冗長データ格納領域P01,P23,P45,P67が割り当てられている。冗長データ格納領域P01にはストライプD0とストライプD1に格納しているデータの排他的論理和を格納し、冗長データ格納領域P23にはストライプD2とストライプD3に格納しているデータの排他的論理和を格納し、冗長データ格納領域P45にはストライプD4とストライプD5に格納しているデータの排他的論理和を格納し、冗長データ格納領域P67にはストライプD6とストライプD7に格納しているデータの排他的論理和を格納する。
ストライプDmとストライプDnと冗長データ格納領域Pmnとをまとめて「ストライプグループ」と呼ぶ。
【0004】
前記排他的論理和は、冗長データであり、1台のディスク装置が壊れたときにデータを復元するのに使用する。この「1台のディスク装置が壊れた」状態を「縮退」と呼ぶ。縮退時におけるリード処理については後述する。
【0005】
●リード処理
コンピュータシステムが例えばストライプD4とD5に格納されているアプリケーションの読み出しの要求をディスクアレイ装置に発行すると、ディスクアレイ装置はディスク装置DISK#1のストライプD4とディスク装置DISK#2のストライプD5の内容を読み出してコンピュータシステムに転送する。
【0006】
●ライト処理
コンピュータシステムが例えばストライプD6とストライプD7にデータを格納するライト要求をディスクアレイ装置に発行すると、ディスクアレイ装置はストライプD6とストライプD7のデータの排他的論理和を演算し、次にストライプD6とストライプD7にデータを書き込むと共に冗長データ格納領域P67に前記排他的論理和を書き込む。
【0007】
●縮退時におけるリード処理
例えばディスク装置DISK#2が故障しているときにコンピュータシステムがストライプD4とD5に格納されているアプリケーションの読み出しの要求をディスクアレイ装置に発行すると、ディスクアレイ装置はディスク装置DISK#1のストライプD4とディスク装置DISK#2のストライプD5の内容を読み出そうとする。しかし、ディスク装置DISK#1のストライプD4の内容は読み出せるが、故障しているディスク装置DISK#2からストライプD5の内容は読み出せない。すると、ディスクアレイ装置はディスク装置DISK#3の冗長データ格納領域P45の内容を読み出し、ストライプD4と冗長データ格納領域P45の内容の排他的論理和を演算し、ストライプD5の内容を復元する。そして、ストライプD4の内容と復元したストライプD5の内容をコンピュータシステムに転送する。なお、ディスク装置DISK#2が故障していることをディスクアレイ装置が予め知っていれば、ディスク装置DISK#2に対するリード処理は省略する。
【0008】
●ディスク装置
ディスク装置は、回転する円板状の記憶媒体(磁気記録媒体や光記録媒体や光磁気記憶媒体など)と、その記憶媒体上を半径方向に移動するヘッドを具備して構成されている。記憶媒体は、いくつものトラックと呼ばれる同心円状の領域に区切られ、各トラックはセクタという単位に区切られている。
ディスク装置は、セクタ単位(多くは512バイト)にデータを管理する。あるセクタを読み出すとき、ヘッドを目的のトラックに移動させ、ヘッドの下に目的のセクタが来るまで待ち、記憶媒体の回転にあわせてデータを読み出す。読み出したデータは、シリアルデータなので、パラレルデータに変換し、バッファに保持する。バッファに一定量のデータが蓄えられると、SCSIやファイバチャネルやIDEのインタフェースを介してデータを転送する。書き込みは、上記と逆の手順により行われる。
ディスク装置からデータを読み出す、または、ディスク装置にデータを書き込む、ために必要な時間は、
(1)ヘッドが目的のトラックに移動するまでの時間(シーク時間)
(2)ヘッドの下に目的のセクタが来るまでの待ち時間(回転待ち時間)
(3)データを読み書きする時間(データ転送時間)
によって決まる。
データの読み出しの要求を発行してから読み出し終了が報告されるまでの時間を応答時間と呼ぶ。
【0009】
●セクタ障害とリトライ
セクタ障害とは、記憶媒体上の一部分を読み書きできなくなる障害である。セクタ障害が発生する原因としては、記憶媒体上の傷や磁性体の劣化などが考えられる。ある程度のセクタ障害は、ECC(Error Correcting Code)を付加することで復旧可能である。復旧可能なセクタ障害の程度は、ECCの種類による。
ECCによる復旧が不可能な場合、ディスク装置は、読み書きを再試行する。これをリトライという。すなわち、リトライとは、読み書きのできなかったセクタに対して、1回転待ってから当該セクタに対して読み書きを再び試みることである。リトライが行われると、応答時間が伸びてしまう。リトライを数回行っても読み書きできない場合は、エラーとして読み書きを中止する。
【0010】
●交代セクタ
交代セクタとは、障害の発生したセクタの代りに使用するセクタである。書き込み時にセクタ障害が発生した場合、そのセクタにデータを書き込むことができずエラーとなる。そこで、交代セクタを要求すると、別のセクタが交代セクタとして割り当てられる。そこで、エラーの発生したセクタの代りに、交代セクタを利用する。
【0011】
【発明が解決しようとする課題】
従来のディスクアレイ装置の制御方法およびディスク装置では、次に述べるように応答時間が伸びてしまう問題点があった。
●データを復元するためのデータを読み出すための応答時間の伸び
セクタ障害の発生を認識すると、読み出しに失敗したデータを復元するためのデータと冗長データの読み出しを開始し、それらデータを読み出してからデータを復元する。このため、データを復元するためのデータと冗長データの読み出しに要する時間が応答時間に直列に入るため、応答時間が長くなってしまう。
●リトライによる応答時間の伸び
セクタ障害が発生しリトライが起こると、ヘッドの下に目的のセクタが来るまで1回転待たなければならない。例えば、7200rpmで記憶媒体が回転している場合、1回転の時間は約8.3ms(=60sec÷7200rpm)であるから、N回のリトライが発生した場合、応答時間が(8.3×N)ms伸びてしまう。
●交代セクタによる応答時間の伸び
セクタを連続に読み書きしているシーケンシャルリードライト処理時に、障害セクタに当たると、その障害セクタに対応する交代セクタのあるトラックに移動し、交代セクタがヘッドの下に来るのを待って読み書きし、交代セクタが終了したら、元のトラックに戻って読み書きを続ける。つまり、交代セクタに当たると、余分なシーク時間と回転待ちが発生し、応答時間が伸びてしまう。
●エラー報告による応答時間の伸び
エラーが発生すると、その時点でデータ転送を中止し、エラー報告を行う。エラー報告を受けると、エラーが発生したセクタ以後のデータに対して新たに要求を発行する。しかし、かかる要求の発行に伴う処理時間の増加のため、平均的に見れば、応答時間が伸びてしまう。
【0012】
そこで、本発明の目的は、セクタ障害が発生しても、最大応答時間を低減または保障することが出来るディスクアレイ装置を提供することにある。
【0013】
【課題を解決するための手段】
第1の観点では、本発明は、ディスク制御装置と、該ディスク制御装置によりアクセスが制御される複数のディスク装置とを有し、前記複数のディスク装置は、コンピュータによりアクセスされるデータを格納するデータ領域を有する少なくとも2つの第1のディスク装置と、前記2つのディスク装置の互いに対応するデータ領域に格納されたデータに対する冗長データを格納する前記データ領域に対応する冗長データ格納領域を有する第2のディスク装置とを含むディスクアレイ装置であって、前記第1のディスク装置は、前記ディスク制御装置が受けるコンピュータからのデータの読み出し要求に対し、該データを格納したデータ領域から前記データを読み出しできないセクタ障害を検出した場合、前記読み出しを中断し、前記ディスク制御装置にエラー報告を行う手段を有し、前記ディスク制御装置は、前記読み出し要求に対し、該データを格納したデータ領域から前記データを、前記データを格納したデータ領域に対応する他のデータ領域から他のデータを、前記データを格納したデータ領域に対応する前記冗長データ領域から冗長データを読み出す手段と、前記エラー報告を受けた場合、前記読み出した他のデータと前記冗長データとを用いて前記データを復元する手段と、前記エラー報告を受けることなく前記データの読み出しに成功した場合は前記読み出したデータを前記コンピュータに転送し、前記エラー報告を受けた場合は前記復元したデータを前記コンピュータに転送する手段とを有することを特徴とするディスクアレイ装置を提供する。
上記第1の観点のディスクアレイ装置では、障害が発生するか否かに関わらず、データの復元に必要なデータと冗長データとを読み出しておく。これにより、データを復元するためのデータと冗長データの読み出しに要する時間が応答時間に並列に入り、直列に入らないため、最大応答時間を低減することが出来る。
【0023】
【発明の実施の形態】
以下、本発明の実施形態を図を用いて説明する。なお、これにより本発明が限定されるものではない。
【0024】
《第1の実施形態》
図1は、本発明の第1の実施形態のディスクアレイ装置を含むコンピュータシステムの構成図である。
●コンピュータシステムの構成
このコンピュータシステムは、ホストコンピュータ10と、そのホストコンピュータ10に接続されたディスクアレイ装置100と、そのディスクアレイ装置100に接続された複数のディスク装置251〜255とを具備して構成されている。
前記ホストコンピュータ10とディスクアレイ装置100とは、SCSIバス20を介して接続されているが、PCI(Peripheral Compornent Interconnect)やファイバーチャネル,IEEE1394などの接続手段を用いて接続してもよい。
【0025】
前記ディスクアレイ装置100は、前記ホストコンピュータ10に接続するためのホスト接続手段110と、前記ディスク装置251〜255に接続するためのディスク接続手段200と、前記ホスト接続手段110や前記ディスク接続手段200を介して転送するデータを保持する記憶手段150と、前記ホスト接続手段110と前記ディスク接続手段200と前記記憶手段150を接続するデータバス120と、前記記憶手段150に接続されたデータ復元手段160と、前記記憶手段150に接続された冗長データ生成手段170と、前記各手段を接続する制御バス130と、その制御バス130を介して前記各手段を制御する制御手段190とを具備している。
前記ディスク接続手段200とディスク装置251〜255とは、SCSIバス201を介して接続されているが、SCSIバス以外の接続手段を用いても接続してもよい。
【0026】
●ディスク装置の構成
図2は、ディスク装置(251〜255)の構成図である。
ディスク装置(251〜255)は、円板状の記憶媒体300と、その記憶媒体300を回転させるモータ320と、そのモータ300の回転数を一定に保つモータ制御手段325と、前記記憶媒体300上を半径方向に移動可能なヘッド310と、そのヘッド310を前記記憶媒体300上に位置付けるヘッド制御手段315と、前記ヘッド310から読み出した信号を整形する波形整形手段350と、読み出したデータの正当性をチェックするECC手段352と、読み出したデータを一時的に保持しておくバッファ354と、そのバッファ354のデータを外部へ転送するための転送手段356と、前記各手段を制御するコントローラ390とを具備している。前記転送手段356は、前記SCSIバス201に接続される。
【0027】
図3は、記憶媒体300のデータ格納構造の説明図である。
データの格納は、記録媒体300上に作られる同心円状のトラック301と、そのトラック301を区切って作られるセクタ302という単位で行われる。各セクタ302は、位置情報領域303と、データ領域304と、ECC領域305とで構成されている。前記位置情報領域303には、トラック番号やセクタ番号が記録されている。この位置情報領域303内の情報をチェックすることにより、目的のトラックにヘッド310が正しく移動できていることを確認し、目的のセクタが来るのを待つ。前記データ領域304には、データを格納する。前記ECC領域305には、前記データ領域304にデータを書き込んだ時に、そのデータから演算したECCを保持する。データ領域304からデータを読み出した時、その読み出したデータが正しいか否かを、ECC領域305からECCを読み出して、チェックする。データに対するECCが一致しない場合には、可能ならECCを用いてデータの誤りを訂正する。
【0028】
●データと冗長データの配置
図4は、データと冗長データの配置を示す説明図である。
ディスク装置251にはストライプD0,D4,D8,…が割り当てられ、ディスク装置252にはストライプD1,D5,D9,…が割り当てられ、ディスク装置253にはストライプD2,D6,D10,…が割り当てられ、ディスク装置254にはストライプD3,D7,D11,…が割り当てられ、データは、ストライプD0,D1,D2,D3,…の順にディスク装置251〜254を巡回するように保持する。
ディスク装置255には冗長データ格納領域P1−3,P4−7,P8−11,…が割り当てられて、冗長データは、それら冗長データ格納領域P1−3,P4−7,P8−11,…に保持する。冗長データ格納領域P1−3に格納する冗長データは、ストライプD0〜D3に保持したデータの排他的論理和である。他の冗長データ格納領域P4−7,P8−11 に格納する冗長データも同様である。
【0029】
●リード処理
ホストコンピュータ10は、例えばストライプD5の読み出しの要求を発行する。
制御手段190は、ホスト接続手段110を介して、前記要求を受け取る。そして、ストライプD5を含むストライプグループすなわちストライプD4,D5,D6,D7および冗長データ格納領域P4−7 の内容を読み出すように、制御バス130を介して、5つのディスク接続手段200に指令する。
各ディスク接続手段200は、要求された内容を各ディスク装置251〜255から読み出し、データバス120を介して、記憶手段150に転送する。
制御手段190は、記憶手段150に転送されたストライプD5のデータを、ホスト接続手段110を介して、ホストコンピュータ10に転送する。
【0030】
●セクタ障害時のリード処理
ホストコンピュータ10は、例えばストライプD5の読み出しの要求を発行する。
制御手段190は、ホスト接続手段110を介して、前記要求を受け取る。そして、ストライプD5を含むストライプグループすなわちストライプD4,D5,D6,D7および冗長データ格納領域P4−7 の内容を読み出すように、制御バス130を介して、5つのディスク接続手段200に指令する。
各ディスク接続手段200は、要求された内容を各ディスク装置251〜255から読み出そうとする。ここで、ストライプD5の読み出し中にディスク装置252でセクタ障害が発生したとする。
ディスク装置252は、リトライを実施しない。
制御手段190は、制御バス130を介して、ストライプD5でセクタ障害が発生したことを認識すると、ストライプD4,D6,D7および冗長データP4−7 の内容が記憶手段150に転送されるのを待って、データ復元手段160を起動する。
データ復元手段160は、ストライプD4,D6,D7および冗長データP4−7 の内容を用いてストライプD5のデータを記録手段150に復元する。
制御手段190は、復元されたストライプ5のデータを、記憶手段150から、ホスト接続手段110を介して、ホストコンピュータ10に転送する。
【0031】
●応答時間
図5は、応答時間の説明図である。
応答時間は、処理時間510,520,533(531,532+539,533,534および535は、シークや回転待ちなどに依存するため若干の差が生じるが、それらのうちで最長のもの),590,595および599の和になる。
処理時間510では、ホスト接続手段110が、ホストコンピュータ10からの読み出しの要求を受け取り、その要求を解釈する。
処理時間520では、ディスク装置251〜255に対して読み出しを指令する。
処理時間531〜535では、各ディスク装置251〜255で読み出しが行われる。そして、処理時間531,533,534および535では、読み出しが成功し、読み出された内容が記憶手段150に転送される。一方、処理時間532では読み出しが失敗し、処理時間539でセクタ障害を認識し、リトライを実施せず、読み出しを中断する。
処理時間590では、読み出しに失敗したデータをデータ復元手段160が復元する。
処理時間595では、復元したデータをホストコンピュータに転送する。
処理時間599では、ホストコンピュータに終了を報告する。
【0032】
比較のために、図6に、従来方法による応答時間を示す。
応答時間は、処理時間510,520,532,539,540+539,540+539,540+539,520’,533(531,533,534および535のうちで最長のもの),590,595及び599の和になる。
処理時間510では、ホスト接続手段110が、ホストコンピュータ10からの読み出しの要求を受け取り、その要求を解釈する。
処理時間520では、ディスク装置252に対して読み出しを指令する。
処理時間532では、ディスク装置252で読み出しが行われるが、読み出しに失敗し、処理時間539でセクタ障害を認識し、リトライを行う。
処理時間540では1回目のリトライを実施するが、読み出しに失敗し、処理時間539でセクタ障害を認識し、さらにリトライを行う。
次の処理時間540では2回目のリトライを実施するが、やはり読み出しに失敗し、処理時間539でセクタ障害を認識し、さらにリトライを行う。
次の処理時間540では3回目のリトライを実施するが、やはり読み出しに失敗し、処理時間539でセクタ障害を認識する。リトライの回数制限を3回とすると、この時点で読み出しを中断する。
処理時間520’では、ディスク装置251,253〜255に対して読み出しを指令する。
処理時間531,533〜535では、各ディスク装置251,253〜255で読み出しが行われ、読み出された内容が記憶手段150に転送される。
処理時間590では、読み出しに失敗したデータをデータ復元手段160が復元する。
処理時間595では、復元したデータをホストコンピュータに転送する。
処理時間599では、ホストコンピュータに終了を報告する。
【0033】
図5(本発明)と図6(従来)とを比較すれば明らかなように、図5(本発明)では、全てのディスク装置に対するデータと冗長データの読み出しが並行して行われているため、セクタ障害が発生しても、応答時間は長くならない。これに対して、図6(従来)では、3回のリトライが行われた上に、セクタ障害の発生を認識した後で他のデータと冗長データの読み出しを開始するため、応答時間が長くなってしまう。
【0034】
図7および図8は、全てのディスク装置に対するデータと冗長データの読み出しを並行して行なうと共にリトライを3回まで許す場合の応答時間を示している。そして、図7は3回のリトライでも読み出しに失敗した場合であり、図8は3回のリトライで読み出しに成功した場合である。
図7の場合は、図5と図6の中間的な応答時間となる。
図8の場合は、図5の場合と同等の応答時間となる。
【0035】
●リトライしないディスク装置を用いた場合の応答時間
図9は、セクタ障害を検出してもリトライを行わないディスク装置を使用し、且つ、セクタ障害の発生を認識した後で他のデータと冗長データの読み出しを開始する場合の応答時間を示している。
応答時間は、処理時間510,520,532,539,520’,533(531,533,534および535のうちで最長のもの),590,595及び599の和になる。
処理時間510では、ホスト接続手段110が、ホストコンピュータ10からの読み出しの要求を受け取り、その要求を解釈する。
処理時間520では、ディスク装置252に対して読み出しを指令する。
処理時間532では、ディスク装置252で読み出しが行われるが、読み出しに失敗し、処理時間539でセクタ障害を認識し、読み出しを中断し、セクタ障害を報告する。
処理時間520’では、ディスク装置251,253〜255に対して読み出しを指令する。
処理時間531,533〜535では、各ディスク装置251,253〜255で読み出しが行われ、読み出された内容が記憶手段150に転送される。
処理時間590では、読み出しに失敗したデータをデータ復元手段160が復元する。
処理時間595では、復元したデータをホストコンピュータに転送する。
処理時間599では、ホストコンピュータに終了を報告する。
図9の場合は、図5と図6の中間的な応答時間となる。
【0036】
●リトライアボートと応答時間
図10および図11は、全てのディスク装置に対するデータと冗長データの読み出しを並行して行なうと共にディスク処理の最大予定終了時間Tmaxを設けた場合の応答時間を示している。そして、図10はリトライ中にディスク処理の最大予定終了時間Tmaxに達してリトライをアボートした場合であり、図11はディスク処理の最大予定終了時間Tmax内のリトライで読み出しに成功した場合である。なお、ディスク処理の最大予定終了時間Tmaxは、使用するディスク装置の最大シーク時間,回転数,最低データ転送速度にあわせて予め制御手段190に設定しておく。
【0037】
図10の場合の応答時間は、処理時間510,520,532,539,540,539,540,590,595および599の和になる。
処理時間510では、ホスト接続手段110が、ホストコンピュータ10からの読み出しの要求を受け取り、その要求を解釈する。
処理時間520では、ディスク装置251〜255に対して読み出しを指令する。
処理時間531〜535では、各ディスク装置251〜255で読み出しが行われる。そして、処理時間531,533,534および535では、読み出しが成功し、読み出された内容が記憶手段150に転送される。一方、処理時間532では読み出しが失敗し、処理時間539でセクタ障害を認識し、リトライを行う。
処理時間540では1回目のリトライを実施するが、読み出しに失敗し、処理時間539でセクタ障害を認識し、さらにリトライを行う。
次の処理時間540では2回目のリトライを実施するが、ディスク装置251〜255に要求を発行してからディスク処理の最大予定終了時間Tmaxが経過してもディスク処理が終了しない。
そこで、処理時間549では、制御手段190は、ディスク装置532のディスク処理をアボート(中断)する。
処理時間590では、読み出しに失敗したデータをデータ復元手段160が復元する。
処理時間595では、復元したデータをホストコンピュータに転送する。
処理時間599では、ホストコンピュータに終了を報告する。
【0038】
図11の場合の応答時間は、処理時間510,520,532,539,540,595および599の和になる。
処理時間510では、ホスト接続手段110が、ホストコンピュータ10からの読み出しの要求を受け取り、その要求を解釈する。
処理時間520では、ディスク装置251〜255に対して読み出しを指令する。
処理時間531〜535では、各ディスク装置251〜255で読み出しが行われる。そして、処理時間531,533,534および535では、読み出しが成功し、読み出された内容が記憶手段150に転送される。一方、処理時間532では読み出しが失敗し、処理時間539でセクタ障害を認識し、リトライを行う。
処理時間540では1回目のリトライを実施し、ディスク処理の最大予定終了時間Tmaxが経過する前に読み出しに成功する。
処理時間595では、データをホストコンピュータに転送する。
処理時間599では、ホストコンピュータに終了を報告する。
【0039】
図10,図11のようにディスク処理の最大予定終了時間Tmaxを設定すると、セクタ障害時でも最大応答時間を保障することが出来る。すなわち、図10の場合が最大応答時間であり、これ以上に応答時間が伸びることはない。
【0040】
《第2の実施形態》
第2の実施形態のシステム構成は、図1のシステム構成と同様である。但し、第2の実施形態では、ディスク装置251〜255として、図12に示すディスク装置を使用する。
【0041】
●ディスク装置
図12は、第2の実施形態で使用するディスク装置の構成図である。
このディスク装置は、図2のディスク装置の構成に加えて、ダミーデータを生成するダミーデータ生成手段400と、ダミーデータを生成した論理ブロック番号(またはヘッド番号とトラック番号とセクタ番号)を保持するエラー保持手段410と、交代セクタを使用するか否かを切り替える交代セクタ処理切り替え手段420を設けた構成になっている。
【0042】
●ダミーデータ生成手段400とエラー保持手段410
ディスク装置は、転送手段356を介して、ディスクアレイ装置100からの読み出し要求を受け取る。SCSIの場合、読み出し要求には、読み出し対象の論理ブロック番号が与えられている。コントローラ390は、与えられた論理ブロック番号をヘッド番号とトラック番号とセクタ番号とに変換し、ヘッド制御手段315を使用してヘッド310を目的のトラックに移動させ、ヘッド310の下に目的のセクタが来たらデータの読み出しを開始する。ヘッド310で読み出したデータとそれに続くECCは、波形整形手段350を介して、ECC手段352に入力される。
ECC手段352は、読み出したデータに誤りがないことを確認するとデータをバッファ354に転送するが、読み出したデータに誤りがあることを検出すると訂正を試みる。訂正できた場合には、正しくなったデータをバッファ354に転送する。もし、訂正できなかった場合には、ダミーデータ生成手段400を起動する。
ダミーデータ生成手段400は、1セクタ分の“0”のデータをバッファ354に転送するとともに、セクタ障害の発生したセクタの論理ブロック番号をエラー保持手段410に保持させる。
転送手段356は、バッファ354内のデータを転送する。従って、ダミーデータ生成手段400が生成したデータ“0”もディスクアレイ装置100に転送される。
【0043】
以上のように、セクタ障害が発生したときにダミーデータを転送するようにすると、データ転送を中断する必要がない。
【0044】
ディスクアレイ装置100へのエラーの報告は、ディスクアレイ装置100に、読み出し終了を報告する前に、エラー保持手段410に保持した論理ブロック番号をまとめて報告する。なお、セクタのデータを転送する毎に、そのセクタのデータがダミーデータであるか否かの情報を付加する方法によりエラー報告を行ってもよい。
【0045】
●交代セクタ処理切り替え手段420
交代セクタ処理切り替え手段420により、交代セクタを使用するように切り替えると、交代セクタへのヘッド移動や回転待ちが発生する。これに対して、交代セクタをエラーとして処理するように切り替えると、読み出し要求のあったセクタが交代セクタに当たる場合にはダミーデータ生成手段400を起動し、1セクタ分の“0”のデータをバッファ354に転送するとともに、エラー保持手段410にダミーデータを転送したセクタの論理ブロック番号を保持する。従って、交代セクタへのヘッド移動や回転待ちが発生しない。
【0046】
●リード処理
セクタ障害が発生しない場合のリード処理については、第1の実施形態と同様である。
【0047】
●セクタ障害時のリード処理
ホストコンピュータ10は、例えばストライプD5の読み出しの要求を発行する。
制御手段190は、ホスト接続手段110を介して、前記要求を受け取る。そして、ストライプD5を含むストライプグループすなわちストライプD4,D5,D6,D7および冗長データ格納領域P4−7 の内容を読み出すように、制御バス130を介して、5つのディスク接続手段200に指令する。
各ディスク接続手段200は、要求された内容を各ディスク装置251〜255から読み出そうとする。ここで、ストライプD5の読み出し中にディスク装置252でセクタ障害が発生したとする。
ディスク装置252は、リトライを実施せず、セクタ障害が発生したセクタのデータとしてダミーデータ“0”を転送する。このため、ディスクアレイ装置100は、セクタ障害の発生を認識せずに処理を続行する。
【0048】
ディスク装置252は、ストライプD5の読み出しを完了すると、エラー保持手段410に格納した、ダミーデータを転送した論理ブロック番号をまとめてディスクアレイ装置100に転送する。この論理ブロック番号を受け取って初めてディスクアレイ装置100はセクタ障害が発生していたことを認識する。
そこで、ディスクアレイ装置100の制御手段190は、ダミーデータ“0”が転送されたセクタについてのみ、データ復元手段160を起動し、ストライプD5内の障害セクタのデータを復元する。そして、この復元が終了した時点で、制御手段190は、ホスト接続手段110を介して、ストライプD5のデータを、記憶手段150からホストコンピュータ10に転送する。
【0049】
以上の処理によれば、障害セクタに対してのみデータの復元を行うから、データ復元に必要な時間を短縮することができる。なお、第1の実施形態では、ストライプ全体に対してデータの復元が必要であり、データ復元に必要な時間が比較的長くなる。
【0050】
●交代セクタ時のリード処理
図13に示すように、記録媒体300のストライプD5の中の1セクタが障害セクタであり、交代セクタが当てられている場合を考える。
交代セクタを利用する場合、ストライプD5の先頭セクタがヘッド310の下に来るのを待って読み出しを開始し、障害セクタに当たると、ヘッド310を交代セクタのあるトラック301に移動させ、交代セクタがヘッド310の下に来るのを待って読み出し、交代セクタの読み出しが終了すると、ストライプD5のあるトラック301にヘッドを移動して、続きのセクタがヘッド310の下に来るのを待って続きの読み出しを行う。従って、交代セクタを含まないストライプの読み出しに比べて応答時間が伸びる。
【0051】
交代セクタを利用しない場合の動作は次のようになる。
ホストコンピュータ10は、例えばストライプD5の読み出しの要求を発行する。
制御手段190は、ホスト接続手段110を介して、前記要求を受け取る。そして、ストライプD5を含むストライプグループすなわちストライプD4,D5,D6,D7および冗長データ格納領域P4−7 の内容を読み出すように、制御バス130を介して、5つのディスク接続手段200に指令する。
各ディスク接続手段200は、要求された内容を各ディスク装置251〜255から読み出そうとする。ここで、ストライプD5の読み出し中に障害セクタがあったとする。
ディスク装置252は、交代セクタを利用せず、ダミーデータ転送手段400を用いて、そのセクタのデータとしてダミーデータ“0”を転送する。このため、ディスクアレイ装置100は、セクタ障害の発生を認識せずに処理を続行する。
【0052】
ディスク装置252は、ストライプD5の読み出しを完了すると、エラー保持手段410に格納した、ダミーデータを転送した論理ブロック番号をまとめてディスクアレイ装置100に転送する。この論理ブロック番号を受け取って初めてディスクアレイ装置100は障害セクタがあったことを認識する。
そこで、ディスクアレイ装置100の制御手段190は、ダミーデータ“0”が転送されたセクタについてのみ、データ復元手段160を起動し、ストライプD5内の障害セクタのデータを復元する。そして、この復元が終了した時点で、制御手段190は、ホスト接続手段110を介して、ストライプD5のデータを、記憶手段150からホストコンピュータ10に転送する。
以上のように、交代セクタを使わずにエラーとして扱うようにすれば、応答時間の悪化を防ぐことが出来る。
【0053】
【発明の効果】
本発明のディスクアレイ装置によれば、次の効果が得られる。
(1) セクタ障害が発生するか否かに関わらず、データの復元に必要なデータと冗長データとを読み出しておくことにより、セクタ障害発生時の最大応答時間を低減することが出来る。
(2) ディスク装置のリトライを使用せず、データ復元手段によりデータを復元することにより、最大応答時間を低減することが出来る。
(3) 交代領域を使用せず、データ復元手段によりデータを復元することにより、交代領域へのシーク時間と回転待ちの時間が入らないため、最大応答時間を低減することが出来る。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にかかるコンピュータシステムの構成図である。
【図2】第1の実施形態に用いるディスク装置の構成図である。
【図3】記録媒体上でのトラックとセクタとセクタ内領域とを示す説明図である。
【図4】データと冗長データの配置を示す図である。
【図5】第1の実施形態における応答時間を示すタイムチャートである。
【図6】従来のディスクアレイ装置における応答時間を示すタイムチャートである。
【図7】リトライを3回で打ち切った場合の応答時間を示すタイムチャートである。
【図8】3回目のリトライで読み取りに成功した場合の応答時間を示すタイムチャートである。
【図9】リトライアボートによる応答時間を示すタイムチャートである。
【図10】ディスク処理の最大予定終了時間でリトライを打ち切った場合の応答時間を示すタイムチャートである。
【図11】ディスク処理の最大予定終了時間内のリトライで読み取りに成功した場合の応答時間を示すタイムチャートである。
【図12】第2の実施形態に用いるディスク装置の構成図である。
【図13】障害セクタと交代セクタの説明図である。
【図14】ディスクアレイ装置のデータと冗長データの配置を論理イメージと物理イメージで示す説明図である。
【符号の説明】
10…ホストコンピュータ,
20…SCSIバス,
100…ディスクアレイ装置,110…ホスト接続手段,120…データバス,
130…制御バス,150…記憶手段,160…データ復元手段,170…冗長データ生成手段,200…ディスク接続手段,
201…SCSIバス,
251〜255…ディスク装置,300…記録媒体,301…トラック,302…セクタ,303…位置情報領域,304…データ領域,305…ECC領域,
310…ヘッド,315…ヘッド制御手段,320…モータ,325…モータ制御手段,350…波形整形手段,352…ECC手段,354…バッファ,356…転送手段,390…コントローラ,400…ダミーデータ生成手段,410…エラー保持手段,420…交代セクタ処理切り替え手段。
Claims (1)
- ディスク制御装置と、該ディスク制御装置によりアクセスが制御される複数のディスク装置とを有し、前記複数のディスク装置は、コンピュータによりアクセスされるデータを格納するデータ領域を有する少なくとも2つの第1のディスク装置と、前記2つのディスク装置の互いに対応するデータ領域に格納されたデータに対する冗長データを格納する前記データ領域に対応する冗長データ格納領域を有する第2のディスク装置とを含むディスクアレイ装置であって、
前記第1のディスク装置は、
前記ディスク制御装置が受けるコンピュータからのデータの読み出し要求に対し、該データを格納したデータ領域から前記データを読み出しできないセクタ障害を検出した場合、前記読み出しを中断し、前記ディスク制御装置にエラー報告を行う手段
を有し、
前記ディスク制御装置は、
前記読み出し要求に対し、該データを格納したデータ領域から前記データを、前記データを格納したデータ領域に対応する他のデータ領域から他のデータを、前記データを格納したデータ領域に対応する前記冗長データ領域から冗長データを読み出す手段と、
前記エラー報告を受けた場合、前記読み出した他のデータと前記冗長データとを用いて前記データを復元する手段と、
前記エラー報告を受けることなく前記データの読み出しに成功した場合は前記読み出したデータを前記コンピュータに転送し、前記エラー報告を受けた場合は前記復元したデータを前記コンピュータに転送する手段と
を有することを特徴とするディスクアレイ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05052097A JP3613722B2 (ja) | 1997-03-05 | 1997-03-05 | ディスクアレイ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05052097A JP3613722B2 (ja) | 1997-03-05 | 1997-03-05 | ディスクアレイ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10247133A JPH10247133A (ja) | 1998-09-14 |
JP3613722B2 true JP3613722B2 (ja) | 2005-01-26 |
Family
ID=12861263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05052097A Expired - Fee Related JP3613722B2 (ja) | 1997-03-05 | 1997-03-05 | ディスクアレイ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3613722B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309818A (ja) | 2004-04-22 | 2005-11-04 | Hitachi Ltd | ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム |
JP4397770B2 (ja) | 2004-09-17 | 2010-01-13 | 富士通株式会社 | 記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラム |
JP5605093B2 (ja) * | 2010-08-30 | 2014-10-15 | 日本電気株式会社 | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム |
-
1997
- 1997-03-05 JP JP05052097A patent/JP3613722B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10247133A (ja) | 1998-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3180130B2 (ja) | エラーデータ訂正可能なコンピュータ用記憶装置及びディジタルデータの記憶方法 | |
US5588012A (en) | Apparatus and method for ensuring data in external storage system | |
US5195100A (en) | Non-volatile memory storage of write operation identifier in data sotrage device | |
EP0661635B1 (en) | A system for controlling command queuing on parity drives in an array of disk drives | |
US7610446B2 (en) | RAID apparatus, RAID control method, and RAID control program | |
JP3230645B2 (ja) | データ処理方法、システムおよび装置 | |
US20050229033A1 (en) | Disk array controller and information processing apparatus | |
US5715424A (en) | Apparatus and method for writing data onto rewritable optical media | |
KR100537577B1 (ko) | 스트리밍 오디오비주얼 데이터를 디스크 드라이브에기록하는 방법 | |
US7805659B2 (en) | Method and data storage devices for a RAID system | |
JP3613722B2 (ja) | ディスクアレイ装置 | |
JP2000020248A (ja) | ディスクの障害回復方法、ディスクドライバおよび記録媒体 | |
JP2913840B2 (ja) | 集合ディスク装置 | |
JP3845239B2 (ja) | ディスクアレイ装置及びディスクアレイ装置における障害復旧方法 | |
JP2004185477A (ja) | 光記憶媒体アレイ装置およびデータ転送方法 | |
JPH1124848A (ja) | ディスクアレイの障害領域交代処理方法およびディスクアレイ装置 | |
JP3615274B2 (ja) | ファイル制御装置 | |
JP2002123372A (ja) | キャッシュメモリ付きディスクアレイ装置及びそのエラー制御方法並びにその制御プログラムを記録した記録媒体 | |
JP3798773B2 (ja) | ディスク制御装置及び冗長化論理ディスクドライブの一貫性回復方法 | |
JP2000357060A (ja) | ディスクアレイ装置 | |
JPH07211016A (ja) | ディスク記憶装置およびそのデータ記録方法 | |
JP3597550B2 (ja) | ディスクアレイ装置 | |
JPH0962461A (ja) | ディスクアレイ装置における自動データ復旧方法 | |
JP2845770B2 (ja) | ディスクアレイ装置 | |
JPH04311218A (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) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041020 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |