JP3601982B2 - Disk array device control method and disk array device - Google Patents
Disk array device control method and disk array device Download PDFInfo
- Publication number
- JP3601982B2 JP3601982B2 JP22734398A JP22734398A JP3601982B2 JP 3601982 B2 JP3601982 B2 JP 3601982B2 JP 22734398 A JP22734398 A JP 22734398A JP 22734398 A JP22734398 A JP 22734398A JP 3601982 B2 JP3601982 B2 JP 3601982B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- host device
- command
- disk array
- 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
【0001】
【産業上の利用分野】
本発明はディスクアレイ装置の制御方法及びディスクアレイ装置に関し、特に、複数のディスク装置を並列に運転するディスクアレイ装置の制御方法及びディスクアレイ装置に関するものである。
【0002】
【従来の技術】
近年、一般的なディスクアレイ装置は複数のディスク装置を具えており、こららを並列に運転してデータ処理を行うよう構成されている。すなわち、ホスト装置からデータの書込み命令を受けたときには、書込みデータに冗長データを付加した上で複数のディスク装置に振り分けてデータの書込みを行う。一方、ホスト装置からデータの読出し命令を受けたときには、前記振り分けたデータを複数のディスク装置から読出して復元し、復元したデータをホスト装置に送出する。
【0003】
このようなディスクアレイ装置では、ホスト装置からの書込み/読出しを処理する際にいずれかのディスク装置でエラーが発生した場合に、そのディスク装置を処理から切離して縮退運転とし、エラー発生以後は当該ディスクを用いることなく、残りのディスク装置を用いることにより前記書込み/読出し命令を遂行できるよう構成されている。
【0004】
例えば、データ読出し時にディスク(記録媒体)上の微少なキズ等によってリードエラーが生じると、ディスク装置内部において数秒程度を要するリード再試行が行われる。この再試行によってデータを正常に読取れた場合は処理を続行し、エラーが再試行によっても救済できない読出し不能リードエラーである場合にはそのディスク装置を故障として切離し、ディスクアレイ装置を縮退運転とする。この場合、ディスクアレイ装置は冗長データも含めて残りデータから正しいデータを復元し、ホスト装置に送出する。
【0005】
ディスクアレイ装置では縮退運転となること自体は正常なデータ読出しが続行されるため問題とはならないが、縮退運転状態に移ることで保守(ディスク装置交換)を必要とし、この保守処理が行われなければ縮退運転が永続的なものとなってしまう。保守処理が完了するまでの間は冗長性が失われるため、その間に他の故障が発生すればデータ読出しが不可能となる危険性が高い。
【0006】
このような危険性を鑑み、ディスク装置のエラーにより永続的な縮退運転に移ることなく安定した運転を続けることが可能なディスク装置の一例が、平成10年特許願第44844号の出願明細書に記載されている。
【0007】
この明細書に記載されているディスクアレイ装置では、データ書込み/読出し時に複数のディスク装置のうちのいずれか1台においてエラーが発生した場合に、当該ディスク装置を一時的に処理から切離してディスクアレイ装置を仮縮退運転状態とする。この場合、ディスクアレイ装置は装置が本来有するエラー発生時のデータ処理を行い(即ち、一時的に処理から切離したディスク装置以外のディスク装置を用いてデータの書込み/読出しを行い)、ホスト装置からの命令を遂行する。
【0008】
又、エラー発生により処理から切離されたディスク装置が既に存在する状態でホスト装置から新たに書込みあるいは読出し命令を受けた場合は、当該ディスクを引き続き縮退運転状態扱いとし、残りのディスク装置を用いてホスト装置からの命令を実行する。
【0009】
このディスクアレイ装置は更に、上記ホスト装置からの書込み/読出し命令処理の遂行と同時に、仮縮退状態のディスク装置のエラー発生箇所を欠陥領域として予備領域に交付割り付け処理を行い、その後新たに使用する交付領域のデータとして残りのディスク装置に書き込まれたデータからデータを復旧して書込むといった内部処理を行い、その後にエラーが発生したディスク装置の仮縮退状態を解除して、ディスクアレイ装置を仮縮退運転状態から正常運転状態に戻すように構成している。
【0010】
このように、特願平10−44844の出願明細書に記載されたディスクアレイ装置では、ホスト装置からのデータ書込み/読出し命令の実行と並行して、仮縮退状態のディスク装置のエラー箇所への保守処理、及び、保守処理終了後に他のディスク装置からデータを復旧して書き込む処理を行うようにしているため、ディスクアレイ装置が永続的な縮退運転状態に移行することなく、比較的早い時期に正常運転状態に戻すことが可能である。
【0011】
【発明が解決すべき課題】
しかしながら、欠陥領域の予備領域への交代割り付け処理、及び、データを残りのディスク装置から復旧して交代領域へ書き込む処理は煩雑であり、これらの処理がホスト装置からの書込み/読出し命令の実行に並行して行われた場合、書込み/読出し命令を実行する性能が低下してしまう場合があった。ホスト装置からの書込み/読出し命令を処理する能力が低下すると、特に、データ授受の待ち時間が短いコンピュータシステムにおいては、安定した運転を継続することができなくなる恐れがある。
【0012】
本発明の目的は、エラーが発生して仮縮退状態となったディスク装置の復旧処理を、ホスト装置からのデータ書込み/読出し要求に対する性能を低下させることなく行うことができるディスクアレイ装置を提供することである。
【0013】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るディスクアレイ装置の制御方法は、複数のディスク装置を並列に運転し、ホスト装置からデータの書込み命令を受けたときに前記データに冗長データを付加して前記複数のディスク装置に振り分けて書込みを行い、前記ホスト装置からデータの読出し命令を受けたときに前記複数のディスク装置に振り分けたデータを復元して前記ホスト装置に送出するディスクアレイ装置の制御方法において、
前記ホスト装置からのデータ書込み/読出し命令を処理する際に前記複数のディスク装置のいずれかにエラーが発生した場合に、当該ディスク装置を前記処理から一時的に切離し、当該ディスク装置以外のディスク装置(以下、残りのディスク装置と呼ぶ)を用いて前記処理を続行する工程と、
前記ホスト装置からデータの書込み/読出し命令を受けたときに前記一時的に切離されたディスク装置が存在する場合に、前記残りのディスク装置を用いて前記命令を実行する工程と、
前記ホスト装置から保守処理を行う命令を受けた場合にのみ前記一時的に切り離されたディスク装置の保守処理を行う行程と、
前記保守処理が終了したら前記一時的に切離されたディスク装置の一時的な切離し状態を解除する工程とを具えることを特徴とする。
【0014】
また、上記制御方法を適用したディスクアレイ装置は、複数のディスク装置を並列に運転し、ホスト装置からデータの書込み命令を受けたときに前記データに冗長データを付加して前記複数のディスク装置に振り分けて書込みを行い、前記ホスト装置からデータの読出し命令を受けたときに前記複数のディスク装置に振り分けたデータを復元して前記ホスト装置に送出するよう構成されたディスクアレイ装置において、
前記データの書込み/読出しを制御する制御手段であって、前記ホスト装置からのデータの書込み/読出し命令を処理する際に前記複数のディスク装置のうちのいずれかにエラーが発生した場合に、当該ディスク装置を処理から一時的に切離し、当該ディスク装置以外のディスク装置(以下、残りのディスク装置と呼ぶ)を用いて前記処理を続行し、あるいは、前記ホスト装置からデータの書込み/読出し命令を受けたときに前記一時的に切離されたディスク装置が存在する場合に、前記残りのディスク装置を用いて前記命令を実行する制御手段と、
前記ホスト装置から保守処理を行う命令を受けた場合に、前記一時的に切離されたディスク装置があればその保守処理を行う保守処理手段と、
この保守処理が終了した時に当該ディスク装置の一時的な切離し状態を解除する解除手段とを具えることを特徴とする。
【0015】
このように、本発明のディスクアレイ装置の制御方法及びディスクアレイ装置では、ホスト装置から保守処理を行う命令を受けたときに初めてエラーが発生して仮縮退運転状態とされたディスク装置の保守処理を行うようにしている。このように構成することにより、ディスクアレイ装置は保守処理、すなわち仮縮退中のディスク装置の欠陥領域の予備領域への交代割り付け処理及び残りのディスク装置からデータを復旧して交代領域へ書き込む処理を、ホスト装置からの書込み/読出し読出し命令の処理と同時に行うことがない。従って、ホスト装置からの書込み/読出し命令の処理時に、その命令実行にかかる性能を低下させる恐れがなくなる。
【発明の実施の形態】
【0016】
本発明の一実施例としてのディスクアレイ装置の構成及び動作を、添付の図面を参照しながら以下に説明する。
【0017】
図1は、本発明のディスクアレイ装置の実施例の構成を示すブロック図である。図1に示すように、本実施例のディスクアレイ装置は、ディスクアレイ制御部2と、4つのディスク制御部3−1〜3−4と、各ディスク制御部によりそれぞれ制御される4つのディスク装置4−1〜4−4とを具えている。ディスクアレイ制御部2はホスト装置1からの命令の識別・処理を行い、エラー発生位置記憶部21と、仮縮退中のディスクに替えて行われたデータの書込み位置記憶部22とを具えている。
【0018】
このディスクアレイ制御部2は、ホスト装置1からデータ書込み命令を受けると、送られてきたデータに冗長データ(パリティデータ)を付加して、複数のディスク制御部3−1〜3−4に分配する。各ディスク制御部は各々配下のディスク装置4−1〜4−4にデータの書込みを行う。
【0019】
一方、ホスト装置1からデータ読出し命令を受信した場合は、ディスク装置4−1〜4−4に書込まれているデータがそれぞれ対応するディスク制御部3−1〜3−4に送られ、ディスクアレイ制御部2で1つのデータに復元され、ホスト装置1に送出される。
【0020】
ディスクアレイ制御部2は、ホスト装置1からの書込み命令あるいは読出し命令の処理中に、ディスク装置4−1〜4−4のいずれかにおいてリードエラー救済等にかかる処理動作に時間を要して一定時間内に正常な書込み/読出しが完了しない場合に、当該ディスク装置を命令処理から一時的に切離してディスクアレイ装置としては仮縮退運転状態とし、エラーが発生した位置(ブロックアドレス)をエラー発生位置記憶部21に格納する。この場合、ディスクアレイ制御部2は当該ディスク装置以外のディスク装置を用いて前記ホスト装置1からの命令にかかる処理を続行し、完了させる。
【0021】
更に、上述したようなエラー発生によってディスクアレイ装置が仮縮退運転状態にある時にホスト装置1からデータの書込み命令を受けた場合には、縮退運転中のディスク装置を引き続き縮退運転状態扱いとし、残りのディスク装置を用いて書込み命令に対する処理を実行すると共に、当該データを書き込んだ位置(ブロックアドレス)を書込み位置記憶部22に格納する。
【0022】
また、ディスクアレイ装置が仮縮退運転状態にある時に、新たにホスト装置1からデータの読出し命令を受けた場合には、仮縮退運転中のディスク装置を引き続き縮退運転扱いとし、ディスクアレイ装置が本来有するデータ復元機能を用いてデータを復元し(即ち、残りのディスク装置を用いてデータを復元する)、ホスト装置に送出する。
【0023】
なお、ディスクアレイ装置のデータ書込み時の制御方法及びデータ読出し時のデータ復元方法は、従来の一般的なディスクアレイ装置のデータ処理方法等を用いることができ、特に、その一例が前述した特願平10−44844の出願明細書に詳細に記載されているので、本願明細書においてその説明は省略する。
【0024】
更に、ディスクアレイ装置がホスト装置1からエラー復旧命令を受信した場合は、先ず仮縮退運転中のディスク装置があるいかどうかを判定する。ここで仮縮退運転中のディスク装置がある場合には、エラー発生位置記憶部21からエラー発生位置を読出して、この位置を欠陥領域として予備領域に交代割り付け等の内部処理を行った後に、当該ディスク装置以外のディスク装置からこのディスク装置に書込むべきデータを復旧して書込む。
【0025】
この復旧処理の前であってディスクアレイ装置の仮縮退運転中にホスト装置1からデータ書込み命令を受信し、当該命令に対する処理を行っていた場合は、仮縮退運転中に書込み位置記憶部22に登録された書込み位置に対して、残りのディスク装置からこのディスク装置に書込むべきデータを復旧して、この仮縮退中のディスク装置に書き込む。これらの復旧処理が完了したら、ディスクアレイ装置の仮縮退運転状態を解除して正常運転状態に戻す。
【0026】
本実施例のディスクアレイ装置の動作を、図2〜図5に示すフローチャートを参照しながら以下に説明する。
【0027】
図2に示すように、ディスクアレイ装置が動作を開始すると、ディスクアレイ制御部2がホスト装置1からの指示待ち状態となる(図2ステップS1)。ホスト装置1からデータ読出し命令を受けた場合は(図2ステップS4)、先ず仮縮退状態のディスク装置があるかどうかを判定する(図2ステップS5)。ここで仮縮退状態のディスク装置がなければ、ディスクアレイ装置が具えるディスク制御部3−1〜3−4に対して配下のディスク装置4−1〜4−4への読出し指示を与える(図2ステップS6)。これによってディスク装置4−1〜4−4は各々が有するデータを順次読出して、ディスク制御部3−1〜3−4を介してディスクアレイ制御部2に供給する。ディスクアレイ制御部2は構成ディスクにエラーが発生していない旨を確認し、これら全てのデータを正常に受け取ると(図2ステップS7)、読出したデータからパリティデータを捨てて、復元したデータをホスト装置に送出し(図2ステップS8)、命令に対する動作を完了する。
【0028】
一方、ホスト装置1からのデータ読出し命令の受信時に、ディスクアレイ装置を構成するディスク装置のいずれかにエラーが発生した場合は(図2ステップS7)、当該エラーが発生したディスク装置を一時的に切離して縮退運転(仮縮退状態)とすると共に、当該エラーの発生位置をエラー発生位置記憶部21に格納する(図2ステップS9)。この場合、ディスクアレイ制御部2は残りのディスク装置からデータを読み出してデータを復旧して(図2ステップS10)、ホスト装置1に送出する(図2ステップS11)。
【0029】
又、ホスト装置1からデータ読出し命令を受信した時に縮退運転状態のディスク装置がある場合は(図2ステップS5)、図4に示すように、当該縮退状態のディスク装置を引き続き縮退運転状態扱いとして、残りのディスク装置からデータを復旧して、ホスト装置1に送出する(図4ステップS21)。
【0030】
ディスクアレイ制御部2がホスト装置1からデータ書込み命令を受けた場合は(図2ステップS3)、図3に示すフローチャートに従って処理が行われる。先ずディスクアレイ制御部2は仮縮退状態のディスク装置があるかどうかを判定する(図3ステップS13)。ここで仮縮退状態のディスク装置がなければ、各ディスク制御部3−1〜3−4に対して配下のディスク装置4−1〜4−4への書込み指示を与える(図3ステップS14)と共に、書込むべきデータをホスト装置1から受取ってパリティデータを付加した後、ディスク制御部3−1〜3−4に振り分けて送り出す。これらのデータはディスク制御部3−1〜3−4によって各々配下のディスク装置4−1〜4−4に書込まれる。
【0031】
このとき、各ディスク装置4−1〜4−4の内部では、データの書込みに先だってデータ管理領域(ID部)の読出しが行われる。このID部の読出し動作においてリードエラー発生の有無を確認し、リードエラーが発生しなければ(図3ステップS15)そのディスク装置は異常がないということになり、振り分けられたデータの書込み処理がなされる(図3ステップS16)。
【0032】
一方、ホスト装置1からのデータ書込み命令の受信時に、ディスク装置のいずれかにおいて前述したID部のリードエラーが発生した場合には(図3ステップS15)、エラーが発生したディスク装置を処理から切離して縮退運転にすると共に、このエラー発生アドレスをエラー発生位置記憶部21に格納する(図3ステップS17)。ホスト装置1からの書込みデータは、エラーが発生したディスク装置をとばして残りのディスク装置に書き込まれる(図3ステップS18)。
【0033】
又、ホスト装置1からデータ書込み命令を受信した時に縮退運転状態のディスク装置がある場合は(図3ステップS13)、当該縮退状態のディスク装置を引き続き縮退運転状態扱いとして、残りのディスク装置にデータの書込みを行う(図3ステップS19)。同時に、データを書込んだ位置(ブロックアドレス)を書込み位置記憶部22に逐次登録しておく(図3ステップS20)。
【0034】
更に、ディスクアレイ制御部2がホスト装置1からエラー復旧命令を受けた場合は(図2ステップS2)、図5に示すフローチャートに従って処理が行われる。仮縮退状態のディスク装置があるかどうかを判定し(図5ステップS22)、ここで仮縮退状態のディスク装置がある場合に、エラー発生位置記憶部21からこのディスク装置のエラー発生位置を読出し、この位置を欠陥領域として、通常ディスク装置が備えている予備領域(図示せず)への交代割り付けを指示すると同時に、エラー発生箇所の以後の使用を禁止して、同一箇所でのエラー再発を防止する(図5ステップS23)。この処理が完了したら、交代割り付けを行った領域に対して、残りのディスク装置から書込むべきデータを復旧し、交代割り付け後の領域に書込む(図5ステップS24)。
【0035】
次に、ディスクアレイ装置の仮縮退運転中にデータ書込みが行われていたかどうかを判定する(図5ステップS25)。ここで、仮縮退運転中にデータ書込みが行われていた場合は、前記書込み位置記憶部22に格納しておいた書込み位置(ブロックアドレス)を読出し、その領域のデータを残りのディスク装置のデータを読出すことにより復元し、縮退運転状態のディスク装置に順次書込む(図5ステップ26)。この書込み処理が全て完了した時点で、ディスク装置の一時的な切離し状態(仮縮退状態)を解除して、ディスクアレイ装置を縮退運転状態から正常運転状態に戻す(図5ステップS27)。一方、仮縮退運転中にデータ書込みが行われていなかった場合は、そのままディスク装置の仮縮退状態を解除して正常運転状態に戻す(図5ステップS25、S27)。
【0036】
この復旧処理はシステムの稼働状況に応じて、ホスト装置がデータ書込み/読出し処理を要求しない時に行われるようにする。例えば、ホスト装置が書込み命令あるいは読出し命令を一定時間以上送信しなかった場合に復旧命令を発するようにしても良いし、運用開始/停止を毎日行うようなシステムであれば、毎日の運転開始時あるいは運転停止時にエラー復旧命令を実行するように設定しても良い。例えば毎日の運転停止時にエラー復旧命令を行うようにすれば、次の運用開始時にはエラーが復旧した状態で通常運転を行うことができる。
【0037】
なお、ホスト装置1から受けた命令が読出し命令、書込み命令、あるいはエラー復旧命令のいずれでもなかった場合には、その命令に応じた処理を行い(図2ステップS12)、命令に対する動作を完了する。
【0038】
以上に本発明の一実施例の構成を詳細に説明したが、本発明は上述した実施の形態に限定されるものではなく、使用状況等に応じて他の構成を採用しても良い。例えば、上述した例では4台のディスク装置を具えるディスクアレイ装置を構成しているが、これを3台以下や5台以上のディスク装置を具えるようにしても良い。
【0039】
【発明の効果】
上記の通り、本発明では、ディスクアレイ装置を構成するいずれかのディスク装置にエラーが発生した場合にそのディスク装置を一時的に処理から切離して仮縮退運転状態とし、残りのディスク装置を用いてデータの書込み/読出し処理を遂行する。更に、ホスト装置から保守処理を行う命令を受信した場合にエラーが発生したディスク装置の保守処理を定期的に行うが、この保守処理をホスト装置からの書込み/読出し命令の実行と並行して行わないようにしているため、いずれかのディスク装置にエラーが発生した場合でも永続的な縮退運転状態が続くことがなく、ホスト装置からの書込み/読出し命令の実行にかかる性能を低下させることがない。即ち、ホスト装置からの書込み/読出し命令にかかる処理能力を良好な状態に保ち、システムの安定した運転を継続することができる。
【図面の簡単な説明】
【図1】図1は、本発明の一実施例であるディスクアレイ装置の構成を示すブロック図である。
【図2】図2は、図1に示すディスクアレイ装置の動作を説明するフローチャートである。
【図3】図3は、データ書込み命令を処理する際のディスクアレイ装置の動作を説明するフローチャートである。
【図4】図4は、データ読出し処理を行う際に既に仮縮退運転状態のディスク装置が存在する場合のディスクアレイ装置の動作を説明するフローチャートである。
【図5】図5は、エラー復旧命令を受けた場合のディスクアレイ装置の動作を説明するフローチャートである。
【符号の説明】
1 ホスト装置
2 ディスクアレイ制御部
21 エラー発生位置記憶部
22 データ書込み位置記憶部
3−1〜3−4 ディスク制御部
4−1〜4−4 ディスク装置[0001]
[Industrial applications]
The present invention relates to a method for controlling a disk array device and a disk array device, and more particularly to a method for controlling a disk array device that operates a plurality of disk devices in parallel and a disk array device.
[0002]
[Prior art]
In recent years, a general disk array device has a plurality of disk devices, and is configured to perform data processing by operating these in parallel. That is, when a data write command is received from the host device, the data is written to the plurality of disk devices after adding redundant data to the write data. On the other hand, when a data read command is received from the host device, the distributed data is read from a plurality of disk devices and restored, and the restored data is sent to the host device.
[0003]
In such a disk array device, when an error occurs in any one of the disk devices during processing of writing / reading from the host device, the disk device is disconnected from the processing and the operation is degraded. It is configured so that the write / read command can be performed by using the remaining disk devices without using a disk.
[0004]
For example, if a read error occurs due to a minute scratch or the like on a disk (recording medium) at the time of reading data, a read retry that takes about several seconds is performed inside the disk device. If the data is successfully read by this retry, the process is continued.If the error is an unreadable read error that cannot be remedied by the retry, the disk device is disconnected as a failure and the disk array device is degraded. I do. In this case, the disk array device restores the correct data from the remaining data including the redundant data, and sends it to the host device.
[0005]
In the disk array device, the degraded operation itself is not a problem because normal data reading is continued, but maintenance (disk device replacement) is required by transitioning to the degraded operation state, and this maintenance process must be performed. If this were the case, the degenerate operation would be permanent. Since the redundancy is lost until the maintenance processing is completed, there is a high risk that data reading becomes impossible if another failure occurs during that time.
[0006]
In view of such a danger, an example of a disk device capable of continuing stable operation without shifting to permanent degenerate operation due to an error of the disk device is disclosed in Japanese Patent Application No. 44844/1998. Has been described.
[0007]
In the disk array device described in this specification, when an error occurs in any one of a plurality of disk devices at the time of data writing / reading, the disk device is temporarily disconnected from the processing and the disk array is processed. The device is brought into a temporarily degenerate operation state. In this case, the disk array device performs data processing at the time of occurrence of an error inherent in the device (that is, performs data writing / reading using a disk device other than the disk device temporarily disconnected from the processing), and transmits data from the host device. Perform the instructions of
[0008]
If a new write or read command is received from the host device in a state where a disk device disconnected from the process due to the occurrence of an error already exists, the disk is continuously treated as a degraded operation state and the remaining disk devices are used. To execute an instruction from the host device.
[0009]
Further, the disk array device performs the allocation / assignment process to the spare area with the error occurrence location of the temporarily degraded disk device as a defective area at the same time as the execution of the write / read command processing from the host apparatus, and then newly uses it. Performs internal processing such as restoring and writing data from the data written to the remaining disk devices as data in the delivery area, and then releases the temporary degraded state of the disk device in which the error occurred, and temporarily resets the disk array device. It is configured to return from the degraded operation state to the normal operation state.
[0010]
As described above, in the disk array device described in the specification of Japanese Patent Application No. 10-44844, in parallel with the execution of the data write / read command from the host device, the error location of the temporarily degraded disk device is detected. Since the maintenance process and the process of restoring and writing data from another disk device after the maintenance process is completed, the disk array device does not shift to the permanent degraded operation state, It is possible to return to a normal operation state.
[0011]
[Problems to be solved by the invention]
However, the process of alternately assigning the defective area to the spare area and the process of restoring data from the remaining disk devices and writing the data to the spare area are complicated, and these processes are difficult to execute the write / read command from the host device. If performed in parallel, the performance of executing a write / read instruction may be reduced. If the ability to process write / read commands from the host device is reduced, there is a risk that stable operation cannot be continued, especially in a computer system with a short waiting time for data transfer.
[0012]
SUMMARY OF THE INVENTION An object of the present invention is to provide a disk array device capable of performing a recovery process of a disk device which has become in a temporarily degraded state due to occurrence of an error without deteriorating performance with respect to a data write / read request from a host device. That is.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, a method of controlling a disk array device according to the present invention includes operating a plurality of disk devices in parallel and adding redundant data to the data when receiving a data write command from a host device. Control of a disk array device that writes data to the plurality of disk devices and restores the data allocated to the plurality of disk devices when receiving a data read command from the host device and sends the data to the host device. In the method,
When an error occurs in any of the plurality of disk devices when processing a data write / read command from the host device, the disk device is temporarily disconnected from the processing and a disk device other than the disk device is processed. (Hereinafter referred to as a remaining disk device) to continue the processing,
Executing a command using the remaining disk devices when there is the temporarily disconnected disk device when receiving a data write / read command from the host device;
Performing a maintenance process of the temporarily disconnected disk device only when receiving a command to perform a maintenance process from the host device;
Releasing the temporarily detached state of the temporarily detached disk device when the maintenance processing is completed.
[0014]
Further, the disk array device to which the above control method is applied operates a plurality of disk devices in parallel, adds redundant data to the data when receiving a data write command from a host device, and applies the redundant data to the plurality of disk devices. A disk array device configured to perform distribution and write, and when receiving a data read command from the host device, restore the data distributed to the plurality of disk devices and send the restored data to the host device;
Control means for controlling writing / reading of the data, when an error occurs in any of the plurality of disk devices when processing a data write / read command from the host device, The disk device is temporarily disconnected from the process, and the process is continued using a disk device other than the disk device (hereinafter, referred to as a remaining disk device), or a data write / read command is received from the host device. Control means for executing the command by using the remaining disk devices when there is the temporarily disconnected disk device when
When receiving an instruction to perform a maintenance process from the host device, a maintenance processing unit that performs the maintenance process if the temporarily disconnected disk device exists,
When the maintenance processing is completed, the disk device is provided with a release unit that releases the temporary disconnection state of the disk device.
[0015]
As described above, according to the disk array device control method and the disk array device of the present invention, the maintenance process of the disk device which is in the temporarily degraded operation state due to the occurrence of an error only when a command for performing the maintenance process is received from the host device is performed. To do. With this configuration, the disk array device performs the maintenance process, that is, the process of alternately assigning the defective area of the temporarily degraded disk device to the spare area and the process of restoring data from the remaining disk devices and writing the data to the alternate area. It is not performed simultaneously with the processing of the write / read / read command from the host device. Therefore, at the time of processing a write / read command from the host device, there is no possibility that the performance related to the execution of the command is reduced.
BEST MODE FOR CARRYING OUT THE INVENTION
[0016]
The configuration and operation of a disk array device as one embodiment of the present invention will be described below with reference to the accompanying drawings.
[0017]
FIG. 1 is a block diagram showing a configuration of an embodiment of a disk array device according to the present invention. As shown in FIG. 1, the disk array device according to the present embodiment includes a
[0018]
When the
[0019]
On the other hand, when a data read command is received from the host device 1, the data written in the disk devices 4-1 to 4-4 are sent to the corresponding disk control units 3-1 to 3-4, respectively. The data is restored to one data by the
[0020]
During processing of a write command or a read command from the host device 1, the disk
[0021]
Further, when a data write command is received from the host device 1 while the disk array device is in the temporary degenerate operation state due to the occurrence of an error as described above, the disk device in the degenerate operation is continuously treated as the degenerate operation state, and In addition to executing the processing for the write command using the disk device, the position (block address) where the data is written is stored in the write
[0022]
Further, when a new data read command is received from the host device 1 while the disk array device is in the temporary degenerate operation state, the disk device in the temporary degenerate operation is continuously treated as a degenerate operation, and the disk array device is The data is restored using the data restoration function provided (that is, the data is restored using the remaining disk devices) and sent to the host device.
[0023]
As a control method at the time of writing data in the disk array device and a data restoring method at the time of reading data, a conventional general data processing method of the disk array device or the like can be used. Since it is described in detail in the application specification of Hei 10-44844, the description thereof will be omitted in this specification.
[0024]
Further, when the disk array device receives an error recovery command from the host device 1, it is first determined whether or not there is a disk device in the temporary degenerate operation. Here, if there is a disk device that is in the temporary degenerate operation, the error occurrence position is read from the error occurrence
[0025]
Before this recovery process, if a data write command is received from the host device 1 during the temporary degenerate operation of the disk array device and processing for the command is performed, the write
[0026]
The operation of the disk array device of this embodiment will be described below with reference to the flowcharts shown in FIGS.
[0027]
As shown in FIG. 2, when the disk array device starts operating, the disk
[0028]
On the other hand, when an error has occurred in any of the disk devices constituting the disk array device upon receiving the data read command from the host device 1 (step S7 in FIG. 2), the disk device in which the error has occurred is temporarily stored. The separation is performed to cause the degenerate operation (temporary degenerate state), and the error occurrence position is stored in the error occurrence position storage unit 21 (step S9 in FIG. 2). In this case, the disk
[0029]
If there is a disk device in the degraded operation state when the data read command is received from the host device 1 (step S5 in FIG. 2), the disk device in the degraded state is continuously treated as the degraded operation state as shown in FIG. The data is recovered from the remaining disk devices and sent to the host device 1 (step S21 in FIG. 4).
[0030]
When the
[0031]
At this time, in each of the disk devices 4-1 to 4-4, reading of the data management area (ID section) is performed prior to writing of data. It is confirmed whether or not a read error has occurred in the read operation of the ID portion. If no read error has occurred (step S15 in FIG. 3), it means that the disk device has no abnormality, and the allocated data is written. (Step S16 in FIG. 3).
[0032]
On the other hand, if the above-described read error of the ID portion occurs in any of the disk devices upon receiving the data write command from the host device 1 (step S15 in FIG. 3), the disk device in which the error has occurred is disconnected from the processing. In this case, the error occurrence address is stored in the error occurrence position storage unit 21 (step S17 in FIG. 3). The write data from the host device 1 is written to the remaining disk devices by skipping the disk device in which the error has occurred (step S18 in FIG. 3).
[0033]
If there is a disk device in the degraded operation state when the data write command is received from the host device 1 (step S13 in FIG. 3), the disk device in the degraded state is continuously treated as the degraded operation state, and the data is transferred to the remaining disk devices. Is written (step S19 in FIG. 3). At the same time, the position (block address) where the data was written is sequentially registered in the write position storage unit 22 (step S20 in FIG. 3).
[0034]
Further, when the disk
[0035]
Next, it is determined whether or not data writing has been performed during the temporary degeneration operation of the disk array device (step S25 in FIG. 5). Here, if data writing has been performed during the temporary degenerate operation, the write position (block address) stored in the write
[0036]
This recovery processing is performed when the host device does not request data write / read processing in accordance with the operation status of the system. For example, a recovery command may be issued when the host device does not transmit a write command or a read command for a certain period of time or longer. Alternatively, it may be set so that an error recovery command is executed when the operation is stopped. For example, if an error recovery command is issued when the operation is stopped every day, the normal operation can be performed with the error recovered at the next operation start.
[0037]
If the command received from the host device 1 is not a read command, a write command, or an error recovery command, a process corresponding to the command is performed (step S12 in FIG. 2), and the operation for the command is completed. .
[0038]
Although the configuration of the example of the present invention has been described in detail above, the present invention is not limited to the above-described embodiment, and another configuration may be adopted according to a use situation or the like. For example, in the above-described example, a disk array device having four disk devices is configured, but three or less disk devices or five or more disk devices may be provided.
[0039]
【The invention's effect】
As described above, according to the present invention, when an error occurs in any one of the disk devices constituting the disk array device, the disk device is temporarily disconnected from the processing to be in the temporary degenerate operation state, and the remaining disk devices are used. Performs data write / read processing. Further, when a command for performing a maintenance process is received from the host device, the maintenance process for the disk device in which the error has occurred is performed periodically, and the maintenance process is performed in parallel with the execution of the write / read command from the host device. Therefore, even if an error occurs in any one of the disk devices, the permanent degraded operation state does not continue, and the performance of executing the write / read command from the host device does not decrease. . That is, it is possible to keep the processing capability for the write / read command from the host device in a good state, and to continue the stable operation of the system.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a disk array device according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operation of the disk array device illustrated in FIG. 1;
FIG. 3 is a flowchart illustrating an operation of the disk array device when processing a data write instruction.
FIG. 4 is a flowchart for explaining the operation of the disk array device when a disk device in a temporarily degenerate operation state already exists when performing a data read process;
FIG. 5 is a flowchart illustrating an operation of the disk array device when an error recovery command is received.
[Explanation of symbols]
1
Claims (5)
前記ホスト装置からのデータ書込み/読出し命令を処理する際に前記複数のディスク装置のいずれかにエラーが発生した場合に、エラー発生位置を記録するとともに当該ディスク装置を前記処理から一時的に切離してディスクアレイ装置として縮退運転扱い(以下、仮縮退運転と呼ぶ)として管理し、冗長性を利用して当該ディスク装置以外のディスク装置(以下、残りのディスク装置と呼ぶ)を用いて前記処理を続行する工程と、
前記仮縮退運転時に前記ホスト装置からデータの書込み/読出し命令を受けたときに、冗長性を利用して前記残りのディスク装置を用いて前記命令を実行する工程と、
前記ホスト装置から保守処理を行う命令を受けた場合にのみ、前記エラー発生位置を欠陥領域として予備領域に交代割付の内部処理を行い、前記残りのディスク装置から前記一時的に切り離されたディスク装置に書き込むべきデータを復旧して書き込む保守処理を行う工程と、
前記保守処理が終了したら前記仮退縮運転状態を解除して正常運転に戻す工程とを具えることを特徴とするディスクアレイ装置の制御方法。A plurality of disk devices are operated in parallel, and when receiving a data write command from the host device, redundant data is added to the data and the data is distributed to the plurality of disk devices and written, and data is read from the host device. A method of controlling a disk array device, which restores data allocated to the plurality of disk devices when receiving the command and sends the data to the host device,
When an error occurs in any of the plurality of disk devices when processing a data write / read command from the host device, an error occurrence position is recorded and the disk device is temporarily disconnected from the process. The disk array device is managed as a degraded operation (hereinafter, referred to as a temporary degraded operation), and the above processing is continued using a disk device other than the disk device (hereinafter, referred to as a remaining disk device) using redundancy. The process of
When receiving a data write / read command from the host device during the temporary degenerate operation, executing the command using the remaining disk devices using redundancy;
Only when a command for performing a maintenance process is received from the host device, the error occurrence position is set as a defective area, and internal processing for alternate allocation to a spare area is performed, and the disk device temporarily disconnected from the remaining disk device is executed. Performing a maintenance process of restoring data to be written to the
A step of releasing the temporary retraction operation state and returning to a normal operation state after the maintenance processing is completed.
前記データの書込み/読出しを制御する制御手段であって、前記ホスト装置からのデータの書込み/読出し命令を処理する際に前記複数のディスク装置のうちのいずれかにエラーが発生した場合に、当該ディスク装置を処理から一時的に切離してディスクアレイ装置として縮退運転扱い(以下、仮縮退運転と呼ぶ)として管理し、冗長性を利用して当該ディスク装置以外のディスク装置(以下、残りのディスク装置と呼ぶ)を用いて前記処理を続行し、前記仮縮退運転時に前記ホスト装置からデータの書込み/読出し命令を受けたときに冗長性を利用して前記残りのディスク装置を用いて前記命令を実行する制御手段と、
前記いずれかのディスク装置でエラーが発生した場合にそのエラー発生位置を記録する第1の記憶手段と、
前記ホスト装置から保守処理を行う命令を受けた場合に、前記エラー発生位置を欠陥領域として予備領域に交代割付の内部処理を行い、前記残りのディスク装置から前記一時的に切り離されたディスク装置に書き込まれるべきデータを復旧して書き込む保守処理を行う保守処理手段と、
この保守処理が終了したら前記仮退縮運転状態を解除して正常運転に戻す解除手段とを具えることを特徴とするディスクアレイ装置。A plurality of disk devices are operated in parallel, and when receiving a data write command from the host device, redundant data is added to the data and the data is distributed to the plurality of disk devices and written, and data is read from the host device. A disk array device configured to restore the data allocated to the plurality of disk devices when receiving the command and to send the restored data to the host device;
Control means for controlling writing / reading of the data, when an error occurs in any of the plurality of disk devices when processing a data write / read command from the host device, A disk device is temporarily disconnected from processing, managed as a degraded operation as a disk array device (hereinafter, referred to as a temporary degraded operation), and a disk device other than the disk device is used by utilizing redundancy (hereinafter, the remaining disk devices). the process continues with the previous SL above using the remaining disk apparatus using redundancy when subjected to write / read command data from the host device during temporary degeneration operation instruction using the called) and Controlling means to execute;
First storage means for recording an error occurrence position when an error occurs in any one of the disk devices;
When a command for performing a maintenance process is received from the host device, the error occurrence position is set as a defective region, and internal processing for replacement is performed in the spare region, and the disk device temporarily disconnected from the remaining disk devices is Maintenance processing means for performing maintenance processing for restoring data to be written and writing the data;
When the maintenance process is completed, the disk array device comprises a release unit that releases the temporary retraction operation state and returns to the normal operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22734398A JP3601982B2 (en) | 1998-08-11 | 1998-08-11 | Disk array device control method and disk array device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22734398A JP3601982B2 (en) | 1998-08-11 | 1998-08-11 | Disk array device control method and disk array device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000056935A JP2000056935A (en) | 2000-02-25 |
JP3601982B2 true JP3601982B2 (en) | 2004-12-15 |
Family
ID=16859327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22734398A Expired - Fee Related JP3601982B2 (en) | 1998-08-11 | 1998-08-11 | Disk array device control method and disk array device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3601982B2 (en) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4303187B2 (en) | 2004-11-10 | 2009-07-29 | 富士通株式会社 | Program, storage control method, and storage device |
JP4886209B2 (en) | 2005-04-15 | 2012-02-29 | 株式会社東芝 | Array controller, information processing apparatus including the array controller, and disk array control method |
JP2008217202A (en) * | 2007-03-01 | 2008-09-18 | Nec Corp | Disk array device and firmware update method |
US7996174B2 (en) | 2007-12-18 | 2011-08-09 | Teradyne, Inc. | Disk drive testing |
US8549912B2 (en) | 2007-12-18 | 2013-10-08 | Teradyne, Inc. | Disk drive transport, clamping and testing |
US8305751B2 (en) | 2008-04-17 | 2012-11-06 | Teradyne, Inc. | Vibration isolation within disk drive testing systems |
US20090262455A1 (en) | 2008-04-17 | 2009-10-22 | Teradyne, Inc. | Temperature Control Within Disk Drive Testing Systems |
US7945424B2 (en) | 2008-04-17 | 2011-05-17 | Teradyne, Inc. | Disk drive emulator and method of use thereof |
US8041449B2 (en) | 2008-04-17 | 2011-10-18 | Teradyne, Inc. | Bulk feeding disk drives to disk drive testing systems |
US7848106B2 (en) | 2008-04-17 | 2010-12-07 | Teradyne, Inc. | Temperature control within disk drive testing systems |
US8102173B2 (en) | 2008-04-17 | 2012-01-24 | Teradyne, Inc. | Thermal control system for test slot of test rack for disk drive testing system with thermoelectric device and a cooling conduit |
US8238099B2 (en) | 2008-04-17 | 2012-08-07 | Teradyne, Inc. | Enclosed operating area for disk drive testing systems |
US8095234B2 (en) | 2008-04-17 | 2012-01-10 | Teradyne, Inc. | Transferring disk drives within disk drive testing systems |
US8160739B2 (en) | 2008-04-17 | 2012-04-17 | Teradyne, Inc. | Transferring storage devices within storage device testing systems |
US8117480B2 (en) | 2008-04-17 | 2012-02-14 | Teradyne, Inc. | Dependent temperature control within disk drive testing systems |
JP2011524060A (en) | 2008-06-03 | 2011-08-25 | テラダイン、 インコーポレイテッド | How to handle storage devices |
JP4399021B1 (en) | 2008-10-29 | 2010-01-13 | 株式会社東芝 | Disk array control device and storage device |
US8547123B2 (en) | 2009-07-15 | 2013-10-01 | Teradyne, Inc. | Storage device testing system with a conductive heating assembly |
US8687356B2 (en) | 2010-02-02 | 2014-04-01 | Teradyne, Inc. | Storage device testing system cooling |
US8116079B2 (en) | 2009-07-15 | 2012-02-14 | Teradyne, Inc. | Storage device testing system cooling |
US8466699B2 (en) | 2009-07-15 | 2013-06-18 | Teradyne, Inc. | Heating storage devices in a testing system |
US8628239B2 (en) | 2009-07-15 | 2014-01-14 | Teradyne, Inc. | Storage device temperature sensing |
US7995349B2 (en) | 2009-07-15 | 2011-08-09 | Teradyne, Inc. | Storage device temperature sensing |
US7920380B2 (en) | 2009-07-15 | 2011-04-05 | Teradyne, Inc. | Test slot cooling system for a storage device testing system |
US9779780B2 (en) | 2010-06-17 | 2017-10-03 | Teradyne, Inc. | Damping vibrations within storage device testing systems |
US8687349B2 (en) | 2010-07-21 | 2014-04-01 | Teradyne, Inc. | Bulk transfer of storage devices using manual loading |
US9001456B2 (en) | 2010-08-31 | 2015-04-07 | Teradyne, Inc. | Engaging test slots |
US9459312B2 (en) | 2013-04-10 | 2016-10-04 | Teradyne, Inc. | Electronic assembly test system |
US10725091B2 (en) | 2017-08-28 | 2020-07-28 | Teradyne, Inc. | Automated test system having multiple stages |
US10845410B2 (en) | 2017-08-28 | 2020-11-24 | Teradyne, Inc. | Automated test system having orthogonal robots |
US11226390B2 (en) | 2017-08-28 | 2022-01-18 | Teradyne, Inc. | Calibration process for an automated test system |
US10948534B2 (en) | 2017-08-28 | 2021-03-16 | Teradyne, Inc. | Automated test system employing robotics |
US10983145B2 (en) | 2018-04-24 | 2021-04-20 | Teradyne, Inc. | System for testing devices inside of carriers |
US10775408B2 (en) | 2018-08-20 | 2020-09-15 | Teradyne, Inc. | System for testing devices inside of carriers |
US11867749B2 (en) | 2020-10-22 | 2024-01-09 | Teradyne, Inc. | Vision system for an automated test system |
US11899042B2 (en) | 2020-10-22 | 2024-02-13 | Teradyne, Inc. | Automated test system |
US11953519B2 (en) | 2020-10-22 | 2024-04-09 | Teradyne, Inc. | Modular automated test system |
US11754622B2 (en) | 2020-10-22 | 2023-09-12 | Teradyne, Inc. | Thermal control system for an automated test system |
US11754596B2 (en) | 2020-10-22 | 2023-09-12 | Teradyne, Inc. | Test site configuration in an automated test system |
-
1998
- 1998-08-11 JP JP22734398A patent/JP3601982B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000056935A (en) | 2000-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3601982B2 (en) | Disk array device control method and disk array device | |
JP3184171B2 (en) | DISK ARRAY DEVICE, ERROR CONTROL METHOD THEREOF, AND RECORDING MEDIUM RECORDING THE CONTROL PROGRAM | |
JP2002108573A (en) | Disk array device and method for controlling its error and recording medium with its control program recorded thereon | |
US7480909B2 (en) | Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking | |
JPH05204554A (en) | Storage device array system and its operation method | |
WO1992005495A1 (en) | Input/output controller | |
JP3681766B2 (en) | Disk array device | |
US7620786B2 (en) | Storage recovery using a delta log | |
JP2001344076A (en) | Disk array device | |
JPH11184643A (en) | Managing method for disk array device and mechanically readable recording medium recording program | |
JPH1195933A (en) | Disk array system | |
JPH0816328A (en) | Disk array system | |
JP2010026812A (en) | Magnetic disk device | |
JPH10254642A (en) | Storage device system | |
US7779293B2 (en) | Technology to control input/output device bridges | |
JP3597349B2 (en) | Storage subsystem and fault recovery method thereof | |
JPH09251353A (en) | Disk array system | |
JP2005107675A (en) | Disk array controller and method for duplicating disk drive | |
JP2007128183A (en) | Storage system | |
JP2830840B2 (en) | Disk array repair processing method and method | |
JP4190756B2 (en) | Magnetic tape array controller and write data recovery method using the same | |
JP2004070456A (en) | Data backup method, data backup device, and information processing unit | |
JPH10254643A (en) | Storage device system | |
JP2004126878A (en) | Data writing and data writing/reading device, and data writing and data writing/reading method | |
JP2002123372A (en) | Disk array device with cache memory, its error- controlling method and recording medium with its control program recorded thereon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040921 |
|
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: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111001 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |