(57)【要約】【課題】ディスクアレイを構成する一部のＨＤＤが一時的に抜き取られて再び接続された場合のリビルド作業を効率化できるディスクアレイコントローラを提供する。【解決手段】ディスクアレイ４を構成する個々のＨＤＤ５−１、５−２に、自ＨＤＤの識別情報、ディスクアレイ４を構成する相手のＨＤＤの識別情報および最新更新日時をそれぞれ記録する。また、ディスクアレイ４の片肺運転中に更新のあったユーザ領域のＬＢＡを不揮発性メモリ３に記録する。リビルド処理部１３は、個々のＨＤＤ５−１、５−２に記録された自ＨＤＤ識別情報、相手ＨＤＤ識別情報および最新更新日時に基づいて一時的に抜き取られていたＨＤＤを判定し、不揮発性メモリ３に記録されたＬＢＡに基づいて、片肺運転で使用されたＨＤＤ上の該当する位置の記録データを一時的に抜き取られていたＨＤＤの同一位置に上書きしてリビルドを行う。【選択図】図１
2005346212.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイを構成する複数の物理ドライブをそれぞれ接続可能な複数の接続部と、
前記各接続部に接続された個々の物理ドライブに、その物理ドライブ自身の識別情報、前記ディスクアレイを構成する相手の物理ドライブの識別情報、および最新更新日時をそれぞれ記録するドライブ情報手段と、
前記ディスクアレイの片肺運転中に更新のあったユーザ領域の位置情報を記録する更新位置情報記録手段と、
前記各接続部に接続された個々の物理ドライブに記録された前記各識別情報および前記最新更新日時に基づいて一時的に抜き取られていた物理ドライブを判定し、前記更新位置情報記録手段に記録された前記位置情報に基づいて、前記片肺運転で使用された物理ドライブ上の該当する位置の記録データを前記一時的に抜き取られていた物理ドライブのユーザ領域の同一位置に上書きするリビルド手段と
を具備することを特徴とするディスクアレイコントローラ。
【請求項２】
前記ドライブ情報手段は、前記物理ドライブの前記ユーザ領域以外にドライブ情報記録用の領域を確保し、この領域に前記物理ドライブ自身の識別情報、他の接続部に接続された物理ドライブの識別情報、および最新更新日時を記録することを特徴とする請求項１に記載のディスクアレイコントローラ。
【請求項３】
前記リビルド手段は、前記各接続部に接続された個々の物理ドライブに記録された前記各識別情報および前記最新更新日時に基づいて交換された物理ドライブを判定し、前記片肺運転された物理ドライブの前記ユーザ領域のデータを前記交換された物理ドライブにコピーすることを特徴とする請求項１または２に記載のディスクアレイコントローラ。
【請求項４】
請求項１ないし３のいずれか１項に記載のディスクアレイコントローラを備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の物理ドライブで構成されるディスクアレイを制御するディスクアレイコントローラと情報処理装置に関する。
【背景技術】
【０００２】
物理ドライブたとえばＨＤＤ（Hard Disk Drive）を用いた記録再生装置の信頼性向上、高速化を実現する技術にＲＡＩＤ（Redundant Arrays of Independent (Inexpensive) Disks）がある。このＲＡＩＤは、ストライピング、ミラーリング、パリティチェック、ＥＣＣ（Error Check and Correct）、データとパリティ、ＥＣＣの分散書き込みなどの機能で構成され、採用している機能やその組み合わせの違いにより、ＲＡＩＤ０からＲＡＩＤ６、さらにはＲＡＩＤ０＋１、ＲＡＩＤ１０／３０／５０など様々なレベルがある。
【０００３】
ＲＡＩＤ１、ＲＡＩＤ５を構成している一部のＨＤＤが故障した場合、その他のＨＤＤが故障する前に、故障ＨＤＤを交換した後リビルド作業を実行すれば、元のディスクアレイの構成を復元することができる。このリビルド作業は、故障していないＨＤＤの全記録領域の内容を交換ＨＤＤにコピーすることによって行われる。
【０００４】
２つのディスクアレイ内の個々のＨＤＤを、ディスクアレイ間で一対一でミラーリングした構成においては、一方のディスクアレイ（第１のディスクアレイ）内のＨＤＤの１つに故障が発生した場合、他方のディスクアレイ（第２のディスクアレイ）のみで運用を継続し、ＨＤＤ交換後に、その第１のディスクアレイ内の交換されたＨＤＤへは第２のディスクアレイ内の対応するＨＤＤの内容の全体をコピーし、第１のディスクアレイ内のその他のＨＤＤは、第２のディスクアレイ内の対応するＨＤＤ内の、片肺運用中に更新された部分のみを上書きすることで復旧を行う方法がある（たとえば特許文献１を参照）。
【特許文献１】特開平４−２１６１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ディスクアレイを構成するＨＤＤで使用していたポートの一部を一時的に他の機器の接続に使用するためなどの目的で、一方のＨＤＤが一時的に抜き取られて再び接続されることがある。この場合、ディスクアレイを構成するＨＤＤ間の差分は、一方のＨＤＤで片肺運転中に更新されたユーザ領域の一部分のみであるにも拘わらず、一時的に抜かれていたＨＤＤは交換されたＨＤＤと見なされることで、ユーザ領域の全面コピーによるリビルド処理が行われていた。
【０００６】
本発明は、このような課題を解決するためになされたものであり、ディスクアレイを構成する一部のＨＤＤが一時的に抜き取られて再び接続された場合のリビルド作業を効率化することのできるディスクアレイコントローラおよび情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために、本発明にかかるディスクアレイコントローラは、ディスクアレイを構成する複数の物理ドライブをそれぞれ接続可能な複数の接続部と、前記各接続部に接続された個々の物理ドライブに、その物理ドライブ自身の識別情報、ディスクアレイを構成する相手の物理ドライブの識別情報、および最新更新日時をそれぞれ記録するドライブ情報手段と、ディスクアレイの片肺運転中に更新のあったユーザ領域の位置情報を記録する更新位置情報記録手段と、各接続部に接続された個々の物理ドライブに記録された各識別情報および最新更新日時に基づいて一時的に抜き取られていた物理ドライブを判定し、更新位置情報記録手段に記録された位置情報に基づいて、片肺運転で使用された物理ドライブ上の該当する位置の記録データを一時的に抜き取られていた物理ドライブのユーザ領域の同一位置に上書きするリビルド手段とを具備することを特徴とする。
【０００８】
また、本発明のディスクアレイコントローラにおいて、ドライブ情報手段は、物理ドライブのユーザ領域以外にドライブ情報記録用の領域を確保し、この領域に物理ドライブ自身の識別情報、他の接続部に接続された物理ドライブの識別情報、および最新更新日時を記録するものである。
【０００９】
また、本発明のディスクアレイコントローラにおいて、リビルド手段は、各接続部に接続された個々の物理ドライブに記録された各識別情報および最新更新日時に基づいて交換された物理ドライブを判定し、片肺運転された物理ドライブのユーザ領域のデータを交換された物理ドライブにコピーするものであってもよい。
【発明の効果】
【００１０】
本発明のディスクアレイコントローラおよび情報処理装置によれば、ディスクアレイを構成する一部のＨＤＤが一時的に抜き取られて再び接続された場合のリビルド作業を効率良く行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態について説明する。
【００１２】
図１は本発明の一実施形態にかかるディスクアレイコントローラ１００の構成を示す図である。同図に示すように、このディスクアレイコントローラ１００は、ＣＰＵ（Central Processing Unit)、ＣＰＵで実行されるディスクアレイコントロールのためのファームウェアや各種パラメータなどが格納されたＲＯＭ（Read Only Memory）などで構成される制御プロセッサ１と、ディスクアレイコントロールのための作業領域として用いられるＲＡＭ（Random Access Memory）２と、ディスクアレイ４を構成する物理ドライブであるＨＤＤ５の片肺運転中に更新のあったユーザ領域の位置情報であるＬＢＡ（論理ブロック番号：Logical Block Address）を記録する不揮発性メモリ３と、ディスクアレイ４内の複数のＨＤＤ５（５−１、５−２，・・・）がそれぞれ接続される複数のポート６（６−１，６−２，・・・）と、これらのポート６に接続された各ＨＤＤ５に対する読み書きなどの制御を行うディスクコントローラ７と、ホストＣＰＵとの通信を制御するホストインタフェース８と、これらを接続する伝送路としてのバス９などで構成されている。なお、各々のポート６に対してＨＤＤ５は着脱可能とされている。
【００１３】
制御プロセッサ１は、ＲＯＭに格納されたファームウェアによって、ドライブ情報管理部１１、更新位置情報管理部１２、リビルド処理部１３として機能する。
【００１４】
ドライブ情報管理部１１は、ディスクアレイ４を構成する個々のＨＤＤ５の記録領域にドライブ情報領域をユーザ領域に対して独立して確保し、各々のＨＤＤ５のドライブ情報領域に、そのＨＤＤ自身の製造番号やディスクアレイコントローラ１００にて内部的に生成したユニークな通し番号などの自ＨＤＤ識別情報、自身のＨＤＤとディスクアレイを構成する相手のＨＤＤの製造番号や任意に生成したユニークな通し番号などの相手ＨＤＤ識別情報、およびユーザ領域の更新が最後に行われた日時を、ドライブ情報として記録する。
【００１５】
更新位置情報管理部１２は、ディスクアレイ４内の一部のＨＤＤ５が抜かれた状態での運転中すなわち片肺運転中に、ディスクアレイ４内のＨＤＤ５で更新のあったユーザ領域の位置情報であるＬＢＡ（論理ブロック番号：Logical Block Address）を、たとえば不揮発性メモリ３に記録して管理する。
【００１６】
リビルド処理部１３は、ドライブ情報管理部１１によってＨＤＤ５のドライブ情報領域２０に記録して管理されたドライブ情報と、更新位置情報管理部１２によって不揮発性メモリ３に記録して管理されたＬＢＡとに基づいて、ディスクアレイ４内の１つのＨＤＤ５が一時的に抜き取られて再び接続された場合のリビルド処理を行う。
【００１７】
次に、この実施形態のディスクアレイコントローラ１００の動作を説明する。
【００１８】
まず、ディスクアレイ４に、すべてのＨＤＤ５が接続されて状態では、制御プロセッサ１はドライブ情報管理部１１によって次のような処理を行う。
【００１９】
図２は、このドライブ情報管理部１１の処理の流れを示す図である。
【００２０】
ディスクアレイ４の構成の設定あるいは更新が行われる都度、ドライブ情報管理部１１は、たとえば図３に示すように、ディスクアレイ４内の個々のＨＤＤ５−１、５−２の記録領域にドライブ情報領域２０−１、２０−２をそれぞれ確保する（ステップ２０１）。このドライブ情報領域２０−１、２０−２は、ユーザ領域２１−１，２１−２に対して独立して確保され、ユーザによるアクセスが不可とされている。
【００２１】
次に、ドライブ情報管理部１１は、ディスクアレイ４内の個々のＨＤＤ５−１、５−２の記録領域に確保されたドライブ情報領域２０−１、２０−２に、次のように自ＨＤＤ識別情報と相手ＨＤＤ識別情報をそれぞれ記録する（ステップ２０２）。
【００２２】
図４は、ディスクアレイ４が２つのＨＤＤ５−１、５−２で構成されている場合のドライブ情報領域２０−１、２０−２の構成を示す図である。この場合、一方のＨＤＤ５−１のドライブ情報領域２０−１には、そのＨＤＤ５−１の識別情報である自ＨＤＤ識別情報２２−１と、ディスクアレイを構成する相手のＨＤＤ５−２の識別情報である相手ＨＤＤ識別情報２３−１とが記録され、他方のＨＤＤ５−２のドライブ情報領域２０−２には、そのＨＤＤ５−２の識別情報である自ＨＤＤ識別情報２２−２と、ディスクアレイを構成する相手のＨＤＤ５−１の識別情報である相手ＨＤＤ識別情報２３−２とが記録される。
【００２３】
ここで、ドライブ情報管理部１１は、個々のＨＤＤ５−１、５−２ごとに通し番号を生成して各々のＨＤＤ５−１、５−２の識別情報として扱うようにしてもよく、或いは、ＨＤＤの製造番号などの固有情報をユーザに入力させるようにホストに接続された表示装置を通して促し、ユーザからホストに接続された入力装置より入力されたＨＤＤの固有情報を識別情報として扱うようにしてもよい。
【００２４】
また、各々のＨＤＤ５−１、５−２のドライブ情報領域２０−１、２０−２には、ディスクアレイ４の運用時においてユーザ領域が最後に更新された日時２３−１、２３−２が記録される（ステップ２０３）。一方のＨＤＤたとえばＨＤＤ５−１が一時的に抜き取られた場合、そのＨＤＤ５−１が再び接続されるまでの間は、他方のＨＤＤ５−２による片肺運転となり、この間にＨＤＤ５−２のドライブ情報領域２０−２の最新更新日時２４−２が、ユーザ領域２１−２の更新が発生する都度、制御プロセッサ１のドライブ情報管理部１１によって更新される。
【００２５】
図５は、片肺運転中の更新位置情報管理部１２の動作の流れを示す図である。
【００２６】
片肺運転中は、制御プロセッサ１は更新位置情報管理部１２を起動する。更新位置情報管理部１２は、片肺運転中のＨＤＤ５−２のユーザ領域において記録データの更新が発生したとき、その更新が行われた位置を示すＬＢＡを不揮発性メモリ３に記録する（ステップ５０１）。もちろん、この場合、不揮発性メモリ３ではなく、片肺運転中の第２のＨＤＤ５−２にＬＢＡを記録する領域をユーザ領域とは独立して確保しておき、ここに記録するようにしてもよい。また、ＬＢＡの記録方法としては、一つ一つのＬＢＡをビットマップで記録する方法、ＬＢＡをいくつかのまとまった単位でビットマップで記録する方法などがある。
【００２７】
図６は、一時的に抜き取られたＨＤＤ５−１がディスクアレイ４に再び接続された場合のリビルド処理部１３の動作の流れを示す図である。
【００２８】
ユーザは、抜き取っていたＨＤＤ５−１をディスクアレイ４に接続した後、リビルドの実行を指定する命令をホストを通じてディスクアレイコントローラ１００内の制御プロセッサ１に与える。この命令を受けて制御プロセッサ１はリビルド処理部１３を起動する。
【００２９】
リビルド処理部１３は、起動後、まず、ディスクアレイ４内の各ＨＤＤ５−１、５−２内のドライブ情報領域２０−１、２０−２を読み込み（ステップ６０１）、その中の自ＨＤＤ識別情報２２−１、２２−２および相手ＨＤＤ識別情報２３−１、２３−２に基づいて、双方のＨＤＤ５−１、５−２がディスクアレイ４を構成する元々の組み合わせであるか否かを判定する（ステップ６０２）。すなわち、ＨＤＤ５−１に記録された自ＨＤＤ識別情報２２−１とＨＤＤ５−２に記録された相手ＨＤＤ識別情報２３−２とが一致するかどうかを判定し、一致する場合に（ステップ６０２のＹＥＳ）、双方のＨＤＤ５−１、５−２がディスクアレイ４を構成するＨＤＤの組み合わせであることを判定する。あるいは、ＨＤＤ５−１に記録された相手ＨＤＤ識別情報２３−１とＨＤＤ５−２に記録された自ＨＤＤ識別情報２２−２とが一致するかどうかを判定し、一致する場合に双方のＨＤＤ５−１、５−２がディスクアレイ４を構成するＨＤＤの組み合わせであることを判定してもよい。或いは、その両方をチェックして各々一致する場合に、双方のＨＤＤ５−１、５−２がディスクアレイ４を構成するＨＤＤの組み合わせであることを判定してもよい。
【００３０】
双方のＨＤＤ５がディスクアレイ４を構成する元々の組み合わせであることが判定された場合には（ステップ６０２のＹＥＳ）、次にリビルド処理部１３は、各ＨＤＤ５−１、５−２のドライブ情報領域２０−１、２０−２に記録されている最新更新日時２４−１、２４−２を比較して、最新更新日時がより古い方のＨＤＤこの例ではＨＤＤ５−１を一時的に抜き取られていたＨＤＤであると判断する（ステップ６０４）。続いて、リビルド処理部１３は、不揮発性メモリ３から、ＨＤＤ５−２の片肺運転中にユーザ領域２１−２においてデータの更新が発生した位置を示すＬＢＡを読み込み、ＨＤＤ５−２のユーザ領域２１−２の上記ＬＢＡが示す位置のデータを読み込み、ＨＤＤ５−１の同じＬＢＡの位置にそのデータを上書きすることによってリビルド処理を行う（ステップ６０５）。
【００３１】
一方、ＨＤＤ５−１に記録された自ＨＤＤ識別情報２２−１とＨＤＤ５−２に記録された相手ＨＤＤ識別情報２３−２とが一致しない場合（ステップ６０２のＮＯ）、リビルド処理部１３は、双方のＨＤＤ５−１、５−２がディスクアレイ４を構成するＨＤＤの組み合わせではないことを判定し、続いて各ＨＤＤ５−１、５−２のドライブ情報領域２０−１、２０−２に記録されている最新更新日時２４−１、２４−２を比較して、最新更新日時がより古い方のＨＤＤこの例ではＨＤＤ５−１を交換されたＨＤＤである（一時的に抜き取られたＨＤＤではない）と判定し（ステップ６０５）、このＨＤＤ５−１にＨＤＤ５−２の内容を全面コピーすることによってリビルド処理を行う（ステップ６０６）。
【００３２】
以上説明したように、この実施形態のディスクアレイコントローラ１００によれば、ディスクアレイ４を構成する１つのＨＤＤが一時的に抜き取られて再び接続された場合のリビルド作業を効率化することができる。また、１つのＨＤＤが一時的に抜き取られて再び接続された場合に、各ＨＤＤに記録された自ＨＤＤ識別情報、相手ＨＤＤ識別情報および最新更新日時に基づき、一時的に抜き取られて再び接続されたＨＤＤおよび交換されたＨＤＤをそれぞれ認識し、これらのＨＤＤに対する最適なリビルド処理を開始することができる。これにより、リビルド作業のより一層の効率化を図れる。
【００３３】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００３４】
【図１】図１は本発明の一実施形態にかかるディスクアレイコントローラの構成を示す図である。
【図２】ドライブ情報管理部の処理の流れを示すフローチャートである。
【図３】ディスクアレイ内の個々のＨＤＤに確保されたドライブ情報領域を示す図である。
【図４】ディスクアレイが２つのＨＤＤで構成されている場合のドライブ情報領域の構成を示す図である。
【図５】片肺運転中の更新位置情報管理部の動作の流れを示すフローチャートである。
【図６】一時的に抜き取られたＨＤＤがディスクアレイに再び接続された場合のリビルド処理の流れを示すフローチャートである。
【符号の説明】
【００３５】
１…制御プロセッサ、２…ＲＡＭ、３…不揮発性メモリ、４…ディスクアレイ、５（５−１，５−２）…ＨＤＤ、６（６−１，６−２）…ポート、７…ディスクコントローラ、８…ホストインタフェース、９…バス、１１…ドライブ情報管理部、１２…更新位置情報管理部、１３…リビルド処理部、２０−１，２０−２…ドライブ情報領域、２１−１，２１−２…ユーザ領域、２２−１，２２−２…自ＨＤＤ識別情報、２３−１，２３−２…相手ＨＤＤ識別情報、２４−１，２４−２…最新更新日時、１００…ディスクアレイコントローラ。
【図１】
2005346212.tif 000003
【図２】
2005346212.tif 000004
【図３】
2005346212.tif 000005
【図４】
2005346212.tif 000006
【図５】
2005346212.tif 000007
【図６】
2005346212.tif 000008