トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体
【発明者】 【氏名】鈴木 陸文

【要約】 【課題】本来の動作を滞らせることなくディスク装置の書き込み/読み出しエラーに対処でき、本来正常なディスク装置をも縮退させてしまう運転を防ぐ。

【解決手段】ディスク装置のいずれにおいて異常があったのか検出・記録しておく異常発生ディスク特定部と、異常発生ディスク装置を一時的に切離し、ディスクアレイ装置として仮縮退運転として管理する切離し状態管理部と、仮縮退運転時にデータ書込み/読出し命令を受けた時に、冗長性を利用して正常なディスク装置に上位装置との間でデータ書込み/読出し動作を行わせる命令実行手段と、上位装置との間のデータ書込み/読出し動作と並行して異常発生ディスク装置の再試行を行う再試行部と、再試行を行っても正常終了しない場合に当該異常発生ディスク装置の電源の切断および再投入を行う電源切断再投入手段とを有する。
【特許請求の範囲】
【請求項1】 複数のディスク装置を冗長性を持つように有し、ホストコンピュータからのデータ書込み命令またはデータ読出し命令に応じてホストコンピュータとの間でデータ書込み動作またはデータ読出し動作をなすディスクアレイ装置において、データ書込み動作およびデータ読出し動作のどちらかにおける異常を検出すると共に、いずれのディスク装置において異常があったのか記録しておく異常発生ディスク特定記憶手段と、当該異常発生ディスク装置を一時的に切離して、ディスクアレイ装置として縮退運転扱い(仮縮退運転と呼ぶ)として管理する切離し状態管理手段と、仮縮退運転時にホストコンピュータからデータ書込み命令またはデータ読出し命令を受けた時に、冗長性を利用して異常発生ディスク装置以外のディスク装置にホストコンピュータとの間でデータ書込み動作またはデータ読出し動作を行わせる命令実行手段と、ホストコンピュータとの間のデータ書込み動作またはデータ読出し動作と並行して異常発生ディスク装置の異常終了したデータの読み出し動作もしくは書き込み動作の再試行を行う再試行手段と、前記再試行手段により再試行を行っても正常終了しない場合に当該異常発生ディスク装置の電源の切断および再投入を行う電源切断再投入手段とを具備し、前記電源の再投入後に前記再試行手段が再度再試行を行うことを特徴とするディスクアレイ装置。
【請求項2】 前記再試行手段による再試行の結果として異常発生ディスク装置が正常である場合に、異常発生ディスク装置の一時的な切り離し状態を解除して、ディスクアレイ装置として仮縮退運転から正常運転に戻す再組込み手段を有する請求項1に記載のディスクアレイ装置。
【請求項3】 前記電源切断再投入手段による異常発生ディスク装置の電源切断、再投入の後に再試行手段が正常終了し、再組み込み手段により一時的に切離されたディスク装置が正常にディスクアレイ装置に組み込まれた場合、当該事象の履歴をディスクアレイ制御装置内部に記録するのみとし、ホストコンピュータから仮縮退事象発生履歴の報告を促す命令がない限り、ホストコンピュータに対しては通知を行わないことを特徴とする請求項2記載のディスクアレイ装置。
【請求項4】 前記電源切断再投入手段は、前記異常発生ディスク特定手段により特定された異常の発生したディスク装置に接続されたスイッチ部を前記異常発生ディスク特定手段から指示された時点から所定時間の間オフさせるための信号を前記スイッチ部に送るディスク電源制御部と、前記ディスク装置と前記ディスク装置の電源との間に接続され、通常は前記電源から前記ディスク装置に電源電流を供給するが、前記ディスク電源制御部からオフさせるための信号を受けている間は前記電源電流を遮断するスイッチ部とを備えることを特徴とする請求項1乃至3記載のディスクアレイ装置。
【請求項5】 前記ディスク電源制御部は、前記異常発生ディスク特定手段により指示された時点から、ディスク装置の種類により予め設定された所定時間の満了するまでの間ディスク選択手段に指示信号を出力する切断時間設定タイマと、前記異常発生ディスク特定手段により特定された異常の発生したディスク装置に接続されたスイッチ部を前記切断時間設定タイマから前記指示信号が出力されている間中、前記スイッチ部をオフさせるための信号を前記スイッチ部に送るディスク選択手段とを備えることを特徴とする請求項1乃至4記載のディスクアレイ装置。
【請求項6】 複数のディスク装置を冗長性を持つように有し、ホストコンピュータからのデータ書込み命令またはデータ読出し命令に応じてホストコンピュータとの間でデータ書込み動作またはデータ読出し動作をなすディスクアレイ装置のエラー制御方法において、データ書込み動作およびデータ読出し動作のどちらかにおける異常を検出すると共に、いずれのディスク装置において異常があったのか記録しておく異常発生ディスク特定記憶工程と、当該異常発生ディスク装置を一時的に切離して、ディスクアレイ装置として縮退運転扱い(仮縮退運転と呼ぶ)として管理する切離し状態管理工程と、仮縮退運転時にホストコンピュータからデータ書込み命令またはデータ読出し命令を受けた時に、冗長性を利用して異常発生ディスク装置以外のディスク装置にホストコンピュータとの間でデータ書込み動作またはデータ読出し動作を行わせる命令実行工程と、ホストコンピュータとの間のデータ書込み動作またはデータ読出し動作と並行して異常発生ディスク装置の異常終了したデータの書込み動作または読出し動作の再試行を行う再試行工程と、前記再試行工程により再試行を行っても正常終了しない場合に当該異常発生ディスク装置の電源の切断および再投入を行う電源切断再投入工程とを備え、前記電源切断再投入工程後にさらに前記再試行工程を行うことを特徴とするディスクアレイ装置のエラー制御方法。
【請求項7】 前記再試行工程における再試行の結果として異常発生ディスク装置が正常である場合に、異常発生ディスク装置の一時的な切り離し状態を解除して、ディスクアレイ装置として仮縮退運転から正常運転に戻す再組込み工程を有する請求項6に記載のディスクアレイ装置のエラー制御方法。
【請求項8】 前記再試行工程では、異常が発生した際の動作を再度実行して再び同じ異常が発生するか否かを確認し、当該異常が再発生しない場合には異常発生履歴を残すのみにしてそれ以外の処理は行わない請求項6乃至7のいずれかに記載のディスクアレイ装置のエラー制御方法。
【請求項9】 前記再試行工程では、異常が発生した位置のデータを再度書き直すことによって正常に読み出せる状態に復旧する請求項6乃至8のいずれかに記載されたディスクアレイ装置のエラー制御方法。
【請求項10】 前記再試行工程では、異常内容が媒体の物理的欠損に因るリードエラーである場合に、当該欠損位置の使用を禁止し、かつ、代替え位置を割り振るリアサイン処理をも行う請求項6乃至9のいずれかに記載のディスクアレイ装置のエラー制御方法。
【請求項11】 請求項6乃至10のいずれかに記載のディスクアレイ装置のエラー制御方法を行うための制御プログラムを記録した記録媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、情報処理装置においてデータ記憶装置として広く使用されているディスクアレイ装置、ディスクアレイ装置におけるエラー制御方法、ならびにエラー制御方法のための制御プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】本発明が関するディスクアレイ制御装置は、複数のディスク装置を1つの論理ディスクとして構成し、データを冗長な情報を付加して記録するRAID(Redundant Array Independent Disks)方式が、広く使用されている。
【0003】このような、ディスクアレイ制御装置は、一般的にホストコンピュータからのデータ読み出し/書き込み命令を受領し、指定論理ディスクに対するデータの読み出し/書き込み動作が正常に終了しなかった場合、当該論理ディスクから異常発生ディスク装置を切離し、当該論理ディスクを縮退状態とし、切離されたディスク装置以外のディスク装置を用いてデータの読み出し/書き込み動作を継続できるように制御されている。ここで論理ディスクとは複数の物理ディスクとこれを制御する制御部から構成され全体として上位装置から論理的には一つのドライブに見せるようにしたものをいう。
【0004】しかし、近年ディスク装置の大容量化、高密度記録化により、ディスク媒体上の欠陥等によるデータ読み出し/書き込みエラーの発生確率が増加している。また、この種のディスクアレイ装置においては、データの読み出し/書き込み動作が正常終了しなかった場合は、ディスクアレイ装置内部で、データ読み出し/書き込みの再試行あるいはリアサイン処理を行い、その後のデータ読み出し/書き込みの再試行により救済できた場合は通常どおりの動作を続行する一方、再試行やリアサイン処理を行ってもデータ読み出し/書き込みが正常に行われない場合にのみ、当該異常発生ディスク装置を論理ディスクから切離し、縮退状態とすることとしている。
【0005】これにより、論理ディスクが縮退状態となる確率を減少させ、冗長部分なしの縮退運転をすることによる信頼性の低下を回避するように制御することができるが、近年この種のディスクアレイ装置を動画の連続記録/再生等に使用する例が増加しており、ホストコンピュータとのデータ授受に要する時間をさらに短縮させることが要求されている。
【0006】このため、データの読み出し/書き込み動作が正常に終了しなかった場合の再試行動作に要する時間を十分確保できず、本来十分な再試行時間が与えられ、リアサイン処理等の再試行動作を行うことにより正常にデータ読み出し/書き込みが可能となるディスク装置であっても、ホストコンピュータに対するデータ読み出し/書き込み動作を要求時間内に完了させる為、当該ディスク装置を論理ディスクから切離し、論理ディスクを縮退状態とし、残りの正常なディスク装置を用いてデータの読み出し/書き込みを行うことによってデータ読み出し/書き込み動作を完了させ、当該ディスク装置を異常なディスク装置とみなして別の正常なディスク装置と交換している。
【0007】しかし、本来データの再書き込みやリアサイン処理等の適切な処理を行うことにより正常にデータ読み出し/書き込み動作が可能なディスク装置を縮退させることは、論理ディスクの信頼性を低下させるだけでなく、当該ディスク装置を異常なディスク装置として保守、交換等を行うことは経済性の上からも合理的ではない。
【0008】この問題を解決するために、特開平11−338648号公報に開示されているように、データの読み出し/書き込み動作において異常を検出した場合、当該異常発生ディスク装置を一時的に論理ディスクより切離し、論理ディスクを仮縮退状態とし、当該異常発生ディスク装置以外のディスク装置に記録された冗長なデータを元にデータ読み出し/書き込み動作を継続するとともに、ホストコンピュータからのデータ読み出し/書き込み命令とは非同期に当該異常発生ディスク装置に対してリアサイン処理等の適切な再試行処理を行い、データ読み出し/書き込み動作が正常に完了した場合は、当該異常発生ディスク装置は異常ではないと判断してこれを仮縮退状態の論理ディスクに再度組み込むように制御することにより、論理ディスクが本縮退状態(異常ディスク装置の保守・交換を行う)となる確率を減少させ、保守・交換のための復旧作業中の信頼性の低下を最小限とすることが提案されている。
【0009】この先行技術文献に開示された手法は、図7に示された構成により、再試行部712bによるデータ読み出し/書き込み動作の再試行もしくはリアサイン処理後のデータ読み出し/書き込み動作の再試行のいずれも正常終了しなかった場合はすべて当該異常発生ディスク装置を永続的な縮退状態とすることおよびその動作が開示されているが、この構成によればそれ以外の動作により救済できるときにも当該異常発生ディスク装置を永続的な縮退状態としてしまい保守・交換のための復旧作業が必要になる。
【0010】
【発明が解決しようとする課題】第1の問題点は、データ読み出し/書き込み動作の再試行もしくはリアサイン処理後のデータ読み出し/書き込み動作の再試行のいずれもが正常に終了しなかった原因がディスク装置の媒体上の欠陥等、リアサイン処理によって救済できるものであった場合しか仮縮退状態を解除できず、ディスク装置の電源の切断/再投入によってしか救済できない障害であった場合は永続的な縮退状態となってしまうという問題点があった。
【0011】本発明の主な目的は、データ読み出し/書き込み動作が正常に完了せず、当該論理ディスクが仮縮退状態となった後の再試行処理において、異常発生の原因が媒体上の欠陥によるものだけでなく、ディスク装置の電源の切断/再投入により正常にデータの読み出し/書き込みが可能となる障害であった場合でも、再試行処理において当該異常発生ディスク装置の障害原因を除去し、論理ディスクへ再組み込みを行うことにより、仮縮退状態を解除することができ、当該論理ディスクの信頼性を回復させることが可能なディスクアレイ装置を提供することにある。
【0012】
【課題を解決するための手段】本発明のディスクアレイ装置は、複数のディスク装置を冗長性を持つように有し、ホストコンピュータからのデータ書込み命令またはデータ読出し命令に応じてホストコンピュータとの間でデータ書込み動作またはデータ読出し動作をなすディスクアレイ装置であり、データ書込み動作およびデータ読出し動作のどちらかにおける異常を検出すると共に、いずれのディスク装置において異常があったのか記録しておく異常発生ディスク特定記憶手段と、当該異常発生ディスク装置を一時的に切離して、ディスクアレイ装置として縮退運転扱い(仮縮退運転と呼ぶ)として管理する切離し状態管理手段と、仮縮退運転時にホストコンピュータからデータ書込み命令またはデータ読出し命令を受けた時に、冗長性を利用して異常発生ディスク装置以外のディスク装置にホストコンピュータとの間でデータ書込み動作またはデータ読出し動作を行わせる命令実行手段と、ホストコンピュータとの間のデータ書込み動作またはデータ読出し動作と並行して異常発生ディスク装置の異常終了したデータの読み出し動作もしくは書き込み動作の再試行を行う再試行手段と、前記再試行手段により再試行を行っても正常終了しない場合に当該異常発生ディスク装置の電源の切断および再投入を行う電源切断再投入手段とを具備し、前記電源の再投入後に前記再試行手段が再度再試行を行うことを特徴とする。
【0013】本発明のディスクアレイ装置のエラー制御方法は、複数のディスク装置を冗長性を持つように有し、ホストコンピュータからのデータ書込み命令またはデータ読出し命令に応じてホストコンピュータとの間でデータ書込み動作またはデータ読出し動作をなすディスクアレイ装置のエラー制御方法であり、データ書込み動作およびデータ読出し動作のどちらかにおける異常を検出すると共に、いずれのディスク装置において異常があったのか記録しておく異常発生ディスク特定記憶工程と、当該異常発生ディスク装置を一時的に切離して、ディスクアレイ装置として縮退運転扱い(仮縮退運転と呼ぶ)として管理する切離し状態管理工程と、仮縮退運転時にホストコンピュータからデータ書込み命令またはデータ読出し命令を受けた時に、冗長性を利用して異常発生ディスク装置以外のディスク装置にホストコンピュータとの間でデータ書込み動作またはデータ読出し動作を行わせる命令実行工程と、ホストコンピュータとの間のデータ書込み動作またはデータ読出し動作と並行して異常発生ディスク装置の異常終了したデータの書込み動作または読出し動作の再試行を行う再試行工程と、前記再試行工程により再試行を行っても正常終了しない場合に当該異常発生ディスク装置の電源の切断および再投入を行う電源切断再投入工程とを備え、前記電源切断再投入工程後にさらに前記再試行工程を行うことを特徴とする。
【0014】
【発明の実施の形態】以下、本発明によるディスクアレイ装置およびそのエラー制御方法を説明する。
【0015】本発明によるディスクアレイ装置は、少くとも1台の冗長ディスク装置を含むかまたは1台分の容量が冗長となっている複数のディスク装置を有し、ホストコンピュータから送られてくる書込みデータに冗長データを付加してそれらディスク装置に振り分けて書込みを行い、ホストコンピュータからデータ読出し命令を受けた場合には、振分けたデータを復元してホストコンピュータに送出するよう構成されている。
【0016】尚、本発明のディスクアレイ装置の特殊な構成として、同一データを複数のディスク装置に書込み、読出し時には、いずれかのディスク装置から読み出す構成(例えば、RAID−1構成)であってもよい。いずれにしても、本発明によるディスクアレイ装置は、とあるディスク装置にエラーが発生した場合に、残りのディスク装置における冗長データをも含むデータに基づいて、正しいデータを復元する構成を有している。
【0017】上記のような構成のディスクアレイ装置において、ホストコンピュータから受けたデータ書込み命令またはデータ読出し命令によるデータ書込み動作またはデータ読出し動作における異常を検出した場合、具体的には、配下のディスク装置からリードエラー発生等の異常報告があった場合、あるいは所定時間以内に応答が返ってこないタイムアウト事象が検出された場合は、エラーが発生したその1台のディスク装置を一時的に切り離し、ディスクアレイ装置としては縮退運転扱い(以下、仮縮退運転と呼ぶ)とする。
【0018】複数のディスク装置のうちの1台が仮縮退運転となった時に、本来ディスクアレイ装置に備えられているデータ復元手段を働かせ、ホストコンピュータに復元データを送出して読出し命令を正常に完了させる。この処理と同時に、仮縮退運転のディスク装置に対して以下の(1)〜(4)のうちのいずれかの処理を実行する。
【0019】(1)エラーが発生した動作を再度実行し、再び同一な異常が発生するか否かを確認する。異常のない場合には、異常発生履歴を残すのみとし、それ以上の特別な処理は行わない。
【0020】(2)リードエラーが発生した位置のデータを再度書き直すことによって、正常に読み出しできる状態に復旧させる。
【0021】(3)エラー内容が媒体の部分的な物理的欠損等によるエラーである場合には、その該当位置の使用を禁止すると共に代替え位置を割り振ること、即ち所謂リアサイン処理を行い、その後再度動作を行う。
【0022】(4)ディスク装置の電源の切断/再投入を行うことにより正常に読み出し/書き込みができる状態に復帰させる。
【0023】その後に、仮縮退運転を解除して縮退運転状態から正常状態に戻す。尚、仮縮退運転のディスク装置に対する上記処理は、ホストコンピュータからの命令に並行して行われる。
【0024】上述した仮縮退運転のディスク装置が存在する時に、ホストコンピュータから新たに読出し命令を受けた場合は、ディスクアレイ装置としては仮縮退運転のディスク装置を引き続き縮退運転扱いとし、本来有するデータ復元手段(残りのディスク装置を使用したデータ復旧)によってホストコンピュータにデータを送出する。
【0025】また、ホストコンピュータから受けた命令がデータ書込み命令であった場合は、ディスクアレイ装置としては仮縮退運転のディスク装置を引き続き縮退運転扱いとし、残りのディスク装置にデータを書込む。この処理と同時に、データを書込み処理した位置(ブロックアドレス)を逐次記憶しておき、仮縮退運転のディスク装置に対する交代割付代替処理等の内部処理が完了した時点で、記憶しておいたブロックアドレスにおけるデータをディスクアレイ装置を構成する残りのディスク装置のデータに基づいて順次復旧した後に、仮縮退運転を解除して縮退運転状態から正常運転状態に戻す。
【0026】これによって、上記構成のディスクアレイ装置では永続的な(長時間に亘る)縮退運転に移ることなく、つまり復旧が完了するまでの間に次の故障が発生してもデータの読出しが不可能となる危険性を低くすることが可能となり、安定的な運転を続けることが可能となる。
【0027】
【実施例】以下、図面を参照して、本発明の実施例によるディスクアレイ装置およびそのエラー制御方法を説明する。
【0028】図1を参照して、本発明の実施例1に係るディスクアレイ装置は、仮縮退状態制御部24と異常発生ディスク特定部241とを含むディスクアレイ制御部2と、アレイ制御部31a、31bと、ディスク装置32a〜32d、32e〜32hと、スイッチ部33a〜33d、33e〜33hとを有している。本装置はRAID−3方式でもRAID−5でもよく、ディスク装置32a〜32d、32e〜32hは冗長性を持っている。そして、ホストコンピュータ1からのデータ書込み命令またはデータ読出し命令に応じてホストコンピュータ1との間でデータ書込み動作またはデータ読出し動作をなすものである。尚、本実施例の以下の説明ではアレイ制御部32aの配下にある4台のディスク装置32a〜32dを用いる場合について説明するが、アレイ31制御装置31bの配下にあるディスク装置32e〜32hの動作も同様であり、本発明は、3台や5台以上のディスク装置を用いる場合にも適用可能である。
【0029】図1を参照すると、ディスクアレイ制御部2は、異常発生ディスク特定部241と、仮縮退制御部24とを備えている。仮縮退制御部24は、切離し状態管理部242と、再試行部243と、仮縮退運転中に受けたデータ書込み動作による未変更部分を更新した後に仮縮退したディスク装置に再組み込みを行う再組込み部245と、ディスク電源制御部244とを備えている。
【0030】また、本発明のディスクアレイ装置は、各ディスク装置32ごとにスイッチ部33aを有する。図1においてディスク装置32aはスイッチ部33aに接続され、同様に他のディスク装置32b〜32hも対応するスイッチ部33b〜33hにそれぞれ接続されている。
【0031】図1を参照すると、ディスクアレイ制御部2は、ホストコンピュータ1から受けた命令を解読する。
【0032】書込み命令時には、通常、アレイ制御部31aは、ホストコンピュータ1から受け取ったデータを、ディスク装置32a〜32dに分配してデータを書込む。
【0033】一方、読出し命令時には、通常、ディスク装置32a〜32dはそれぞれ、書込まれているデータを対応するアレイ制御部31aに送る。アレイ制御部31aは、ディスク装置32a〜32dからのデータを一つのデータに戻し、ディスクアレイ制御部2を介してホストコンピュータ1に送る。
【0034】ディスクアレイ制御部2の異常発生ディスク特定部241は、書込み命令時にディスク装置32a〜32dのいずれかの動作が異常であることを検出した場合、異常(エラー)がどのディスク装置で発生したかをメモリに記録すると同時に仮縮退制御部24の切離し状態管理部242に通知し、切離し状態管理部242はそのディスク装置を一時的にディスクアレイの動作対象装置からはずして仮縮退運転とし、ディスクアレイ制御部2は、残りのディスク装置に対して書込み処理を続行する。
【0035】仮縮退制御部24の再試行部243は、ディスクアレイ制御部2の異常発生ディスク特定部241からエラー通知を受け取ると、ディスクアレイ制御部2の処理と並行してエラーが発生したディスク装置に対して、(1)異常が発生した動作を再度実行して再び同一な異常が発生するか否かを確認して異常のない場合には正常に読み出せる状態に復旧したとして異常発生履歴を残すのみにしてそれ以上の特別な処理はおこなわない、異常のあるときは、(2)その該当位置の使用を禁止して代替え位置を割り振るいわゆるリアサイン処理(交代割付け)等の保守処理を内部処理として行う。(3)リアサイン処理をしても読み出し/書き込み動作を再試行してもまだ異常が発生する場合は異常ディスク装置の電源切断/再投入動作を行い、その上で(1)の書き込み動作の再試行を行う。いずれの処理も、ディスクアレイ制御部2の処理と並行して行う。
【0036】一方、読出し命令時にディスク装置32a〜32dのいずれかにエラー発生を検出すると、ディスクアレイ制御部2の異常発生ディスク特定部24は、異常(エラー)がどのディスク装置で発生したかをメモリに記録すると同時に仮縮退制御部24の切離し状態管理部242に通知し、切離し状態管理部242はそのディスク装置を一時的にディスクアレイの動作対象装置からはずして仮縮退運転とし、ディスクアレイ制御部2は、残りのディスク装置に対する読出し処理を続行する。
【0037】仮縮退制御部24の再試行部243は、ディスクアレイ制御部2の異常発生ディスク特定部24からエラー通知を受け取ると、ディスクアレイ制御部2の処理と並行してエラーが発生したディスク装置に対して、(1)異常が発生した動作を再度実行して再び同一な異常が発生するか否かを確認して異常のない場合には異常発生履歴を残すのみとしてそれ以上の特別な処理はおこなわない、(2)エラーが発生した位置のデータを再度書き直すことによって正常に読み出せる状態に復旧する、あるいは、(3)その該当位置の使用を禁止して代替え位置を割り振るいわゆるリアサイン処理(交代割付け)等の保守処理を内部処理として行う。(4)リアサイン処理をしても読み出し/書き込み動作を再試行してもまだ異常が発生する場合は異常ディスク装置の電源切断/再投入動作を行い、その上で(1)(2)の読み出し/書き込み動作の再試行を行う。いずれの処理も、ディスクアレイ制御部2の処理と並行して行う。
【0038】ここで、ディスクアレイ制御部2は、エラーが発生したディスク装置に対する仮縮退制御部24による内部処理が完了する前に次のホストコンピュータ指示を受け取ると、その指示に対応する処理を行うが、その処理がデータ書込みであれば、その書込み位置を図示しない記憶部に記憶しておく。
【0039】エラーが発生したディスク装置に対する仮縮退制御部24による内部処理が完了した時に、ディスクアレイ制御部2において書込み処理が行われていれば、ディスクアレイ制御部2の再組込み部245は、ディスクアレイ制御部2が記憶部に記憶された書込み位置に基づいて残りのディスク装置によるデータの復旧とその復旧データの書込みとを行った後で仮縮退運転を解除して通常状態に戻す。
【0040】図5を参照すると、ディスク電源制御部244は、切断時間設定タイマ244aとディスク選択部244bと、起動確認部244cとを備える。切断時間設定タイマ244aの出力は異常発生ディスク特定部241が電源切断を指示した時点からONになり、ディスクアレイ制御部2内にあり使用しているディスク装置32の種類により定まる電源の切断から再投入までに必要な切断時間長を設定する切断時間長設定部2aから指示された切断時間の経過後にOFFになる機能をもつ。
【0041】ディスク選択部244bは、異常発生ディスク特定部241から特定された異常の発生したディスク装置(例えば32a)に接続されているスイッチ部33aにつながる信号線(ディスク装置が32aのときは信号線L32a、33bのときは信号線L33b、以下同様)のみを切断時間設定タイマ244aの出力がONとなる時間だけOFFを出力し、切断時間設定タイマ244aの出力がOFFのときはONを出力する機能をもつものとする。
【0042】起動確認部244cは、異常ディスクに対して電源の切断・再投入の後、正常な起動がされたかどうかを確認するためのコマンドをディスクアレイ制御部2に発行させることにより、異常ディスク装置の電源が正常に立ち上がってアイドリング状態に達したかどうか、即ち正常起動をしたかどうかを確認し、その結果を再試行部243に通知する。
【0043】図6を参照すると、スイッチ部33aはスイッチ33a1を備える。ディスク電源制御部244からの信号線L33aがONのときは本ディスクアレイ装置内にあるディスク装置用電源40から供給される電源電流がスイッチ33aを通過してディスク装置32a1へ供給されるが、信号線L33aがOFFのときは電源電流はスイッチ33a1を通過せず遮断され電源をディスク装置32aに供給できない状態となる。
【0044】このような構成により、ディスク電源制御部244は、切り離し状態管理部242での仮縮退動作実行中、再試行部243にて行われる再試行動作が異常終了した場合、異常発生ディスク特定部241により特定された異常発生ディスク装置に対応するスイッチ部33aに対し、ディスク装置32aへの電源の切断及び再投入を行うように制御することができる。
【0045】ディスク電源制御部244は、電源の切断及び再投入を行ったディスク装置32aの監視を行い、ディスク装置32aが正常に起動した後、正常起動を確認しその結果を再試行部243に通知し、再度再試行部243は、再試行動作を行うことになる。
【0046】次に、本発明の実施の形態の一実施例について詳細に説明する。まず、仮縮退制御部24の動作ついて図2のフローチャートを用いて説明する。すなわち、ディスクアレイ装置がホストコンピュータ1よりデータ読み出し命令もしくはデータ書き込み命令を受領した場合、ステップ100により、ホスト1から指定された論理ディスクを構成する各ディスク装置からのデータ転送動作が行われる。このデータ転送動作の実行結果が正常に終了したかどうかを判定し(ステップ101)、正常終了の場合は、ホストコンピュータ1へ正常終了した旨の報告を行い(ステップ107)、制御を終了する。
【0047】上記データ転送動作が正常に終了しなかった場合、当該論理ディスクが既に仮縮退状態か否かを判別し(ステップ102)、既に仮縮退状態であった場合は、ホストコンピュータに対し異常終了報告を行い(ステップ106)、制御を終了する。
【0048】データ転送動作が異常終了となり、かつ当該論理ディスクが仮縮退状態ではない場合、データ転送動作が異常終了したディスク装置の特定を行い(ステップ103)、異常発生ディスク装置の台数が当該論理ディスクの冗長度より多い場合、ホストコンピュータに対し異常終了報告を行い(ステップ106)、制御を終了する。異常発生ディスク装置の台数が当該論理ディスクの冗長度以下であった場合、特定された異常発生ディスク装置を仮縮退状態とし(ステップ102)、当該論理ディスクからの切離動作を行うとともに、データ読み出し/書き込みが異常終了したアドレス、ディスク装置及び当該論理ディスクが仮縮退状態である旨の情報をディスクアレイ制御装置内部に記憶する。上記仮縮退処理実行後、ステップ100に戻り、データ読み出し/書き込みの再試行を行う。
【0049】尚、ここで冗長度とは論理ディスクに属する物理ディスク(ディスク装置)の数からホストからみた実際に記憶可能な容量に対応したディスク装置の数を引いて得られた数をいう。例をあげると、RAID−3で論理ディスクが物理ディスク4台で構成され、1台がパリティ用ディスクであるとき、ホストが記憶可能な容量に対応したディスク装置の数は3で冗長度は1になる。またRAID−5で物理ディスクが6台、パリティとして使われるデータがディスク装置2台相当の容量となるときは、ホストが記憶可能な容量に対応したディスク装置の数は4で冗長度は2となる。
【0050】一方、仮縮退実行後の動作については図3のフローチャートに従って実行される。即ち、ホストコンピュータからの命令とは非同期に、ディスクアレイ制御装置にて配下の論理ディスクの仮縮退情報を監視し、仮縮退状態の論理ディスクが存在するかどうか判断し(ステップ200)、存在する場合は、以下の再試行動作を実行する。すなわち、当該論理ディスク内の異常発生ディスク装置に対して、ホストコンピュータからのデータ読み出し命令もしくはデータ書き込み命令が異常終了したアドレスに対するデータの読み出し/書き込み動作を再度実行する(ステップ201)。正常終了した場合は当該ディスク装置(当初の異常発生ディスク装置)を再度論理ディスクに組込み(ステップ212)、仮縮退発生履歴をディスクアレイ制御装置内部に記憶する(ステップ213)とともに当該論理ディスクの仮縮退状態を解除し(ステップ214)、制御を終了する。
【0051】ここで、ステップ201の異常ディスク装置の読み出し/書き込み動作の再試行とステップ202の正常終了したかどうかの判断とは、単に最初に読み出し動作を行おうとした場合は再試行として読み出し動作のみを行い、最初に書き込み動作を行おうとした場合は再試行として書き込み動作を行ったあと正常終了したかどうかの判断をすることでもよい。しかしこれに加え、最初に書き込み動作を行おうとした場合は再試行として書き込み動作を行ってから正常終了したかどうかを判断することであり、最初に読み出し動作を行おうとした場合は再試行としてまず読み出し動作を行って正常終了したときは再試行として正常終了したと判断し、正常終了しないときはさらに書き込み動作後に読み出し動作を行って正常終了した場合も再試行として正常終了したと判断し、ここで正常終了しないときは再試行として正常終了しなかったと判断することにしてもよい。
【0052】上記はステップ201とステップ202の詳細内容につき記したが、ステップ205とステップ206の詳細内容と、ステップ210とステップ211の詳細内容も全く同様である。
【0053】ステップ201での再読み込み/再書き込み動作が異常終了した場合、ステップ201により異常が発生したブロックの使用を禁止し代替ブロックを割り当てる、いわゆるリアサイン処理を行い(ステップ203)、ステップ202にて、再度当該アドレスに対するデータ書き込み/読み出し動作を実行する。この再試行が正常に終了したかどうかを判断し(ステップ206)、正常終了した場合、当該ディスク装置を再度論理ディスクに組込み(ステップ212)、仮縮退発生履歴をディスクアレイ制御装置内部に記憶する(ステップ213)とともに該論理ディスクの仮縮退状態を解除し(ステップ214)、制御を完了する。
【0054】上記ステップ201でのリアサイン処理が正常に終了しなかった場合、もしくはリアサイン処理が正常終了した後のデータ読み出し/書き込み動作(ステップ205)が正常に終了しなかった場合、当該異常発生ディスク装置に対する電源の切断及び再投入処理を行う(ステップ207)。さらに電源再投入後、当該異常発生ディスク装置が正常に起動した場合、再度ホストコンピュータからのデータ読み出し命令もしくはデータ書き込み命令が異常終了したアドレスに対するデータ書き込み/読み出し動作を実行し(ステップ210)、正常終了したかどうかを判断し(ステップ211)、正常終了した場合は当該ディスク装置を再度論理ディスクに組込み(ステップ212)、仮縮退発生履歴をディスクアレイ制御装置内部に記憶する(ステップ213)とともに当該論理ディスクの仮縮退状態を解除し(ステップ214)、制御を完了する。
【0055】なお、ステップ207による電源切断/再投入後、当該異常発生ディスク装置が正常に起動しなかった場合、もしくは電源再投入後、当該異常発生ディスク装置が正常に起動した後のステップ210によるデータ読み出し/書き込み動作が正常に終了しなかった場合、当該論理ディスクの仮縮退状態を解除し(ステップ216)、異常発生ディスク装置を当該論理ディスクから切離し、当該論理ディスクを縮退状態とし(ステップ217)、ホストコンピュータ1に対して当該論理ディスクが縮退状態となった旨の報告を行い(ステップ218)、処理を終了する。
【0056】尚、電源を切断・再投入することによって回復できる異常の原因・態様としては種々考えられるが、装置内部の制御用のプロセサが暴走して内部動作がおかしくなって正常な状態に戻れなくなってしまい、リセットしても効果がない場合等が考えられる。
【0057】
【発明の効果】本発明の第1の効果は、当初の障害が電源の切断/再投入により回復可能である場合、当該異常発生ディスク装置を正常データ読み込み/書き込みが可能な状態に戻し、論理ディスクへ再組み込みを行うことにより、当該論理ディスクを正常な状態に復元することができ、本縮退を行うことによる費用のかかるディスク装置の装置交換などをさけることができる。
【0058】その理由は、リアサイン処理を行ってもデータの読み出し/書き込みが正常に終了しないディスク装置に対して、電源の切断ならびに再投入処理を行うようになっているからである。
【0059】第2の効果は、当初の障害が電源の切断/再投入により回復可能である場合、当該異常発生ディスク装置を正常データ読み込み/書き込みが可能な状態に戻し、論理ディスクへ再組み込みを行うことにより、当該論理ディスクを正常な状態に復元することができ、相当な時間、本縮退を行うことによる信頼性の低下を防ぐことができる。
【0060】その理由は、リアサイン処理を行ってもデータの読み出し/書き込みが正常に終了しないディスク装置に対して、電源の切断ならびに再投入処理を行うようになっているからである。
【出願人】 【識別番号】000004237
【氏名又は名称】日本電気株式会社
【出願日】 平成12年9月28日(2000.9.28)
【代理人】 【識別番号】100082935
【弁理士】
【氏名又は名称】京本 直樹 (外2名)
【公開番号】 特開2002−108573(P2002−108573A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−296323(P2000−296323)