(57)【要約】【課題】  ＲＡＩＤを用いたディスクアレイ制御装置において、ディスク交換時に入力デバイスおよびユーザの操作を不要とし、交換されたディスクを検出して正常なディスクで起動できるようにし、交換されるディスクの容量が正常なディスクより小さいときでもＲＡＩＤ構築できるようにする。【解決手段】  ＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築を示すデータにより行うようにし、その結果に基づき起動ディスクを選択できるようにした。或いは、いずれか一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤ起動するようにした。或いは、ＲＡＩＤ・ＢＩＯＳにてディスク記憶容量を制限し、制限以上の記憶容量であればＲＡＩＤ構築できるようにした。【選択図】      図１
2007087053.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイと、該ディスクアレイを制御するＲＡＩＤコントローラと、該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、
ＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築データの有無により行い、該判定結果に基づき起動ディスクを選択できるようにしたことを特徴とするディスクアレイ制御装置。
【請求項２】
ディスクアレイと、該ディスクアレイを制御するＲＡＩＤコントローラと、該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、
一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤを構築して起動するようにしたことを特徴とするディスクアレイ制御装置。
【請求項３】
ディスクアレイと、当該ディスクアレイを制御するＲＡＩＤコントローラと、当該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、
該ＲＡＩＤ・ＢＩＯＳにてディスク記憶容量を所定の制限値により制限し、該制限値以上の記憶容量のとき、ＲＡＩＤを構築し起動できるようにしたことを特徴とするディスクアレイ制御装置。
【請求項４】
ＲＡＩＤ構築されたディスクであるかどうかを、ＲＡＩＤ構築データの有無により行う判定ステップと、
該判定ステップの結果に基づき、起動ディスクを選択するステップを設けたことを特徴とするディスクアレイ制御方法。
【請求項５】
一方のディスクが起動側で他方が退避側であるかどうかの判定を行う第１の判定ステップと、
ディスクがペアであることを示す共通データが等しいかどうかの判定を行う第２の判定ステップとを有し、
第１の判定結果および第２の判定結果に基づき、ＲＡＩＤを構築して起動するようにしたことを特徴とするディスクアレイ制御方法。
【請求項６】
使用するディスク記憶容量を所定の制限値により制限するステップと、
該制限値以上の記憶容量のとき、ＲＡＩＤを構築し起動するステップと、
を設けたことを特徴とするディスクアレイ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のハードディスクを多重制御するＲＡＩＤコントローラを制御するＢＩＯＳプログラムの技術に関するものである。
【背景技術】
【０００２】
一般に、複数のＨＤＤ（ハードディスクドライブ）を結合してディスクアレイとし１台のＨＤＤとして使うことでアクセス速度を向上させる技術、或いはデータを多重化して耐障害性を向上する技術として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）技術が採用されている。
【０００３】
このＲＡＩＤ技術を用いたディスクアレイ制御装置では、高速化を目的とした分散書込みとしてストライピング（ＲＡＩＤ０）、信頼性向上を目的としたミラーリング（ＲＡＩＤ１）、これらを複合化したものなどのいくつかのＲＡＩＤレベルをサポートしており、これをディスクドライバ、ミラーリングドライバ、或いはＲＡＩＤ・ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により制御するようにしている（例えば、特許文献１および特許文献２参照。）。
【特許文献１】特開平０９−２６９８７１号公報
【特許文献２】特開２００３−２１６３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のディスクアレイ制御装置では、前記ＲＡＩＤレベルの設定や起動できない場合、ユーザの操作が必要であり、そのための高度な知識が必要であり、かつ操作のためのキーボード等の入力デバイスを用意して置く必要があった。
【０００５】
また、新規にＲＡＩＤ構築する場合やディスクが故障し交換した場合で、そのディスクにＲＡＩＤコントローラの管理データが残っている場合では、ＲＡＩＤコントローラがいずれのディスクで起動するかの判定を誤る場合があった。そして、誤って交換したディスクで起動した場合は、ＲＡＩＤ構成できないだけではなく、それまで正常であった方のディスクのデータが消去されてしまう恐れがあった。
【０００６】
さらに、交換されるディスクは、ミラーリングを行うためにコピー元のディスクより物理的容量が大きい必要があるという理由から、ＲＡＩＤ制御システムが使用する論理的容量に関係なく、コピー元のディスクより物理容量の小さいディスクは使用することができなかった。
【課題を解決するための手段】
【０００７】
本発明は、前述の課題を解決するため次の構成を採用する。すなわち、ディスクアレイと、該ディスクアレイを制御するＲＡＩＤコントローラと、該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、ＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築データの有無により行い、該判定結果に基づき起動ディスクを選択できるようにした。
【０００８】
別の発明では、ディスクアレイと、該ディスクアレイを制御するＲＡＩＤコントローラと、該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤを構築して起動するようにした。
【０００９】
さらに別の発明では、ディスクアレイと、当該ディスクアレイを制御するＲＡＩＤコントローラと、当該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳとを有するディスクアレイ制御装置において、該ＲＡＩＤ・ＢＩＯＳにてディスク記憶容量を所定の制限値により制限し、該制限値以上の記憶容量のとき、ＲＡＩＤを構築し起動できるようにした。
【発明の効果】
【００１０】
本発明のディスクアレイ管理装置によれば、ＲＡＩＤ・ＢＩＯＳがＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築を示すデータにより行うようにしたので、ユーザが何らの操作をすることなくＲＡＩＤを構築してシステムを起動することができる。従って、操作のための入力デバイス等を用意する必要もない。
【００１１】
別の発明では、いずれか一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤを構築して起動するようにしたので、間違った起動を行い、ディスクデータの消失を防止することができる。
【００１２】
さらに別の発明では、該ＲＡＩＤ・ＢＩＯＳにてディスク記憶容量を所定の制限値により制限し、該制限値以上の記憶容量のとき、ＲＡＩＤを構築し起動できるようにしたので、コピー元ディスクの記憶容量より小さい容量のディスクであっても、ＲＡＩＤ・ＢＩＯＳで制限された容量の範囲でＲＡＩＤ構築が可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係る実施の形態例を、図面を用いて説明する。図面に共通する要素には同一の符号を付す。
【実施例１】
【００１４】
実施例１のディスクアレイ管理装置は、ＲＡＩＤ・ＢＩＯＳによるＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築を示すデータの有無により行うようにし、その結果に基づき、起動ディスクを選択できるようにしたものである。
【００１５】
（構成）
図１は、本発明の実施例１のディスクアレイ制御装置の構成図である。同図に示したように、ディスクアレイ制御装置は、ディスクアレイを制御するＲＡＩＤコントローラ１と、これに接続されるディスクＤＫ１およびＤＫ２（３ａ、３ｂ）、当該ＲＡＩＤコントローラを制御するＲＡＩＤ・ＢＩＯＳ（２）から構成される。そして、ディスクＤＫ１およびＤＫ２（３ａ、３ｂ）には、それぞれディスク管理データとして後述のＲＡＩＤを構築するデータ１１ａ、１１ｂが格納されるようになっている。
【００１６】
前記ＲＡＩＤ・ＢＩＯＳ（２）は、ＲＡＩＤコントローラ１をＲＡＩＤ１として制御し、ＲＡＩＤコントローラ１に接続されるディスク３ａ、３ｂを管理するために、ディスクＤＫ１およびＤＫ２（３ａ、３ｂ）に対しＲＡＩＤ構築の有無を示すデータをライト、リードする機能、リードしたデータからＲＡＩＤ構築の有無を判定する機能を有する。
【００１７】
図２は、ディスクＤＫ１およびＤＫ２（３ａ、３ｂ）に格納されるディスク管理データおよびディスク固有データの構成例を示す図であり、ディスク管理データ１０として、ＲＡＩＤ構築を示すデータ１１、起動側／退避側を示すデータ１２、ペアとなるディスクとの共通データ１３、そしてディスク固有データとして物理的記憶容量１４を格納する構成となっている。
【００１８】
前記ＲＡＩＤ構築を示すデータ１１は、当該データの読み込みの際に、例えば、特定な値或いは文字列を格納するようにしてもよいし、後述の起動側／退避側を示すデータ１２やペアとなるディスクとの共通データ１３等を、ＲＡＩＤ構築を示すデータ１１としてもよい。或いは、図２右側に示した記述例のように特定な値或いは文字列とともに当該データを読み込んだ年日時等を文字列化して記述するようにしてもよい。
【００１９】
ＲＡＩＤ構築を示すデータ１１として、以上の所定のデータが記述されていれば、すでにＲＡＩＤ構築されたディスクであると判定することができる。
【００２０】
前記起動側／退避側を示すデータ１２は、例えば、同図記述例のように、起動側であれば"Ｔｕｒｅ"、退避側であれば"Ｆａｌｓｅ"を記述して置く。勿論、単に"１"、"０"のフラッグを記述するようにしてもよい。
【００２１】
ペアとなるディスクとの共通データ１３は、例えば、同図記述例のように、ＲＡＩＤ・ＢＩＯＳ（２）によりペアリングするごとに決定する特定な値或いは文字列で、ペアとなるディスクの共通エリアに同じ値等を格納するようにし、ペアとなるディスクであるかどうかの判定を行うために使用するものである。
【００２２】
物理的記憶容量１４は、ディスクの物理的容量を格納するものであり、例えば記述例のように、"Ｄｉｓｋ  Ｃａｐａｃｉｔｙ＝”を付記してバイト数を記載する。或いは一定単位以上の容量のみを文字列として記載するようにしてもよい。
【００２３】
このディスク管理データ１０および物理的記憶容量１４が、ディスクＤＫ１、ＤＫ２のそれぞれの特定エリアに格納される構成となっている。
【００２４】
（動作）
以上の構成により、実施例１のディスクアレイ管理装置は、以下のように動作する。この動作を図３のＲＡＩＤ構築の動作フローチャートを用いて説明する。
【００２５】
ディスクアレイ管理装置の電源オン或いはリセットを行うと、ＲＡＩＤ・ＢＩＯＳ（２）は、ＲＡＩＤコントローラ１に接続されたディスクＤＫ１、ＤＫ２の有無を確認するため、ディスク管理データ１０のＲＡＩＤ構築を示すデータ１１ａ、１１ｂをリードする（ステップＳ１）。
【００２６】
そして、読み込んだＲＡＩＤ構築を示すデータ１１ａ、１１ｂから、両ディスクがすでにＲＡＩＤ構築されたものであるかどうかを判定する（ステップＳ２）。いずれのディスクもすでにＲＡＩＤ構築されたディスクであると判定した場合は、故障等によりディスク交換された場合ではなく単に電源オフやリセットされた場合であるので、特にＲＡＩＤ構築データの書込み等をせず、そのままシステム起動に移行する（ステップＳ１０）。
【００２７】
一方、ステップＳ２にて、読み込んだＲＡＩＤ構築を示すデータ１１ａ、１１ｂから、いずれかのディスクがＲＡＩＤ構築されていないディスクであると判定したときは、ディスクＤＫ１だけがすでにＲＡＩＤ構築されたディスクであるかどうかの判定を行い（ステップＳ３）、ディスクＤＫ１だけがすでにＲＡＩＤ構築されたディスクであったときは、すでにＲＡＩＤ構築されたディスクＤＫ１により起動を行い（ステップＳ４）、新たにＲＡＩＤ構築を行い、その結果を、ディスクＤＫ２のＲＡＩＤ構築を示すデータ１１ｂに格納した後（ステップＳ５）、システムを起動する（ステップＳ１０）。
【００２８】
そして、ステップＳ３にて、読み込んだＲＡＩＤ構築を示すデータ１１ａ、１１ｂから、ディスクＤＫ１がＲＡＩＤ構築されていないディスクである判定されたときは、ディスクＤＫ２にＲＡＩＤ構築を示すデータがあるかどうかの判定を行い（ステップＳ６）、ディスクＤＫ２がすでにＲＡＩＤ構築されたディスクであると判定したときは、すでにＲＡＩＤ構築されたディスクＤＫ２により起動を行い（ステップＳ７）、ディスクＤＫ１に新たにＲＡＩＤ構築を行い、その構築データを、ＲＡＩＤ構築を示すデータ１１ａに格納した後（ステップＳ８）、システムを起動する（ステップＳ１０）。
【００２９】
そして、ステップＳ６にて、読み込んだＲＡＩＤ構築を示すデータ１１ａ、１１ｂから、ディスクＤＫ２もＲＡＩＤ構築されていないディスクである判定されたときは、いずれのディスクもＲＡＩＤ構築がされていないディスクであるので、ディスクＤＫ１、ＤＫ２ともに新規にＲＡＩＤ構築を行い、その構築データを、ＲＡＩＤ構築を示すデータ１１ａ、１１ｂにそれぞれ格納した後（ステップＳ９）、システムを起動する（ステップＳ１０）。
【００３０】
（実施例１の効果）
以上詳細に述べたように、実施例１のディスク管理装置によれば、ＲＡＩＤ・ＢＩＯＳ（２）がＲＡＩＤ構築されたディスクであるかどうかの判定を、ＲＡＩＤ構築を示すデータ１１ａ、１１ｂの有無により行うようにしたので、ユーザが何らの操作をすることなくＲＡＩＤ１を構築してシステムを起動することができる。従って、操作のための入力デバイス等を用意する必要もない。
【実施例２】
【００３１】
実施例２のディスクアレイ管理装置は、いずれか一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤ１を起動するようにしたものである。
【００３２】
（構成）
図４は、本発明の実施例２のディスクアレイ制御装置の構成図であるが、ディスク３ａ、３ｂ内に格納するディスク管理データの起動側／退避側データ１２、ペアディスクとの共通データ１３以外は、実施例１の構成と同様であるので、同様の部分については、簡略化のためにその説明を省略する。
【００３３】
起動側／退避側を示すデータ１２は、図２を用いて説明したように、例えば、起動側であれば"Ｔｕｒｅ"、退避側であれば"Ｆａｌｓｅ"を記述したものでありペアとなるディスクとの共通データ１３は、あらかじめＲＡＩＤ・ＢＩＯＳ（２）によりペアリングするごとに決定する特定な値或いは文字列で、各ディスクの共通エリアに同じものを格納するようにし、ペアとなるディスクであるかどうかの判定を行うために使用するものである。
【００３４】
（動作）
以上の構成により、実施例２のディスクアレイ管理装置は、以下のように動作する。この動作を図５のＲＡＩＤ制御の動作フローチャートを用いて説明する。
【００３５】
ディスクアレイ管理装置の電源オン或いはリセットを行うと、ＲＡＩＤ・ＢＩＯＳ（２）は、ＲＡＩＤコントローラ１に接続されたディスクＤＫ１、ＤＫ２から、まず、起動側／退避側のデータ１２ａ、１２ｂをリードする（ステップＳ１１）。次に、ペアディスクとの共通データ１３ａ、１３ｂをそれぞれの特定エリアからリードする（ステップＳ１２）。
【００３６】
そして、起動側／退避側のデータ１２ａ、１２ｂから、ディスクＤＫ１、ＤＫ２の起動側、退避側による判定を行い（ステップＳ１３）、ディスクＤＫ１が起動側で、かつディスクＤＫ２が退避側、またはディスクＤＫ１が退避側で、かつディスク２が起動側の場合であった場合は、ペアディスクとの共通データ１３ａ、１３ｂが等しいかどうかを判定し（ステップＳ１４）、等しいときはＲＡＩＤ１を起動する（ステップＳ１５）。
【００３７】
一方、ステップＳ１３の判定において、起動側／退避側のデータ１２ａ、１２ｂから、ディスクＤＫ１およびＤＫ２が起動側、またはディスクＤＫ１およびＤＫ２が退避側の場合は、正しいＲＡＩＤ１構築がされておらず、ディスクデータを破壊する恐れがあるので、エラー表示等を行い停止する（ステップＳ１６）。
【００３８】
ステップＳ１４の判定において、ペアディスクとの共通データ１３ａ、１３ｂが等しくなかったときも、正しいＲＡＩＤ１構築がされておらず、ディスクデータを破壊する恐れがあるので、エラー表示等を行い停止する（ステップＳ１６）。
【００３９】
ペアディスクとの共通データ１３ａ、１３ｂが等しくない場合とは、従前に別のＲＡＩＤシステムで動作したディスクを再利用した場合などがこれにあたる。この場合、ＲＡＩＤコントローラ１は、いずれのディスクＤＫ１、ＤＫ２で起動すればよいか判断できず、いずれかを優先して起動した場合には、それまで使用していたディスクのデータが消失してしまう恐れがあるので、以上のようにエラー表示等して停止することによりデータの消失を防止することができる。
【００４０】
（実施例２の効果）
以上詳細に述べたように、実施例２のディスク管理装置によれば、いずれか一方のディスクが起動側で他方が退避側の場合であって、ペアであることを示す共通データが等しいとき、ＲＡＩＤ１を起動するようにしたので、間違った起動を行い、ディスクデータの消失を防止することができる。
【実施例３】
【００４１】
実施例３のディスクアレイ管理装置は、ＲＡＩＤ・ＢＩＯＳにてディスク記憶容量を制限し、制限以上の記憶容量であればＲＡＩＤ１構築するようにしたものである。
【００４２】
（構成）
図６は、本発明の実施例３のディスクアレイ制御装置の構成図であるが、ディスク３ａ、３ｂ内に格納するディスク固有データである物理的記憶容量１４以外は、実施例１、実施例２の構成と同様であるので、同様の部分については、簡略化のためにその説明を省略する。
【００４３】
物理的記憶容量１４は、図２を用いて説明したように、例えば、ディスクの物理的容量を格納するものであり、使用可能な物理的容量をそのバイト数をバイナリでそのまま表現し、或いは文字列として表現して格納する。例えば、４．３Ｇバイトであれば、これを１６進で表現し、"Ｄｉｓｋ  Ｃａｐａｃｉｔｙ＝ＦＦＦＦＦＦＦＦ（Ｈ）"などと表現して格納するとよい。
【００４４】
（動作）
以上の構成により、実施例３のディスクアレイ管理装置は、以下のように動作する。この動作を図７のＲＡＩＤ制御の動作フローチャートを用いて説明する。
【００４５】
まず、ディスクアレイ管理装置の電源オン或いはリセットを行うと、ＲＡＩＤ・ＢＩＯＳ（２）は、ＲＡＩＤコントローラ１に接続されたディスクＤＫ１、ＤＫ２から、ディスクの物理的容量１４ａ、１４ｂをリードする（ステップＳ２１）。このとき、物理的記憶容量データが格納されておらず、"Ｄｉｓｋ  Ｃａｐａｃｉｔｙ＝"の記述が見あたらないときは（ステップＳ２２）、ＳＣＳＩインタフェースの場合ではＲＥＡＤ  ＣＡＰＣＩＴＹコマンド、ＡＴＡインタフェースの場合ではＩＤＥＮＴＩＦＹコマンドを用いてディスク記憶容量を取得し（ステップＳ２３）、取得したディスク容量に"Ｄｉｓｋ  Ｃａｐａｃｉｔｙ＝"を付記し、当該ディスクの物理的記憶容量１４に格納する（ステップＳ２４）。
【００４６】
次に、ＲＡＩＤ・ＢＩＯＳ（２）により決められた容量制限値と前記物理的記憶容量とを比較し、当該容量制限値より小さい場合は動作不可としてその旨のエラー表示等を行い、動作を停止する（ステップＳ２６）。一方、前記物理的記憶容量が当該容量制限値以上の場合は、動作可能であるとして、当該容量制限値の範囲でＲＡＩＤ１起動を行い（ステップＳ２７）、当該容量制限値の容量範囲内で動作させる。
【００４７】
（実施例３の効果）
以上詳細に述べたように、実施例３のディスク管理装置によれば、ＲＡＩＤ・ＢＩＯＳ（２）にてディスク記憶容量を制限し、容量制限値以上の記憶容量のとき、ＲＡＩＤ１構築を行うようにしたので、コピー元ディスクの記憶容量より小さい容量のディスクであっても、容量制限値の範囲でＲＡＩＤ１構築を行うことができる。その結果、コピー元ディスクの容量を意識する必要がなくなり、また、接続できるディスクの種類を増加させることもできる。
【００４８】
《その他の変形例》
以上の実施例の説明では、ディスクＤＫ１、ＤＫ２としてハードディスクを例として説明したが、これに限らず、不揮発性の記憶装置であれば書き換え型光ディスクやフラッシュメモリ等で構成される装置でもよいし、また２台より多いディスクアレイ制御装置の場合であっても、同様の作用・効果が得られる。
【００４９】
また、以上の実施例の説明では、起動ディスクの選択、起動／否の判定、容量による起動制限をＲＡＩＤ・ＢＩＯＳ（２）にて行う例を示したが、これらの制御の全部または一部を、ＲＡＩＤコントローラ１にて行う場合でも同様の作用・効果が得られる。
【産業上の利用可能性】
【００５０】
以上述べたように、本発明は、ＲＡＩＤ・ＢＩＯＳやＲＡＩＤコントローラにより複数のハードディスクを多重制御するディスクアレイ制御装置に広く用いることができる。
【図面の簡単な説明】
【００５１】
【図１】実施例１のディスクアレイ制御装置の構成図である。
【図２】ディスク管理データおよびディスク固有データの構成例および記述例である。
【図３】実施例１のＲＡＩＤ構築の動作フローチャートである。
【図４】実施例２のディスクアレイ制御装置の構成図である。
【図５】実施例２のＲＡＩＤ起動の動作フローチャートである。
【図６】実施例３のディスクアレイ制御装置の構成図である。
【図７】実施例３のＲＡＩＤ構築および起動の動作フローチャートである。
【符号の説明】
【００５２】
１    ＲＡＩＤコントローラ
２    ＲＡＩＤ・ＢＩＯＳ
３    ディスク
１０  ディスク管理データ
１１  ＲＡＩＤ構築を示すデータ
１２  起動側／退避側を示すデータ
１３  ペアとなるディスクの共通データ
１４  物理的記憶容量
【図１】
2007087053.tif 000003
【図２】
2007087053.tif 000004
【図３】
2007087053.tif 000005
【図４】
2007087053.tif 000006
【図５】
2007087053.tif 000007
【図６】
2007087053.tif 000008
【図７】
2007087053.tif 000009