(57)【要約】【課題】ホットスペア機能を有していないＲＩＡＤコントローラでも、外付け回路を付加することによりＲＡＩＤ装置の耐障害性を向上させるホットスペア機能を実現する。【解決手段】ＲＡＩＤコントローラ４とハードディスク１，２との間のバス部に切替器５を設け、ＣＰＵ処理装置６から切替指示信号１３により、切替器５の切替操作を行う。この切替操作により、障害が発生したハードディスク２と障害が発生した場合に備えて待機させてあるハードディスク３とのバスを切替える。その後、ＲＡＩＤコントローラ４が再起動を実行することにより、新たなハードディスク３の接続を認識し、ホットスペア機能を実現する。【選択図】図１
2009169469.tif 000002
【特許請求の範囲】
【請求項１】
データの二重化を行うための複数のハードディスクを有する記憶装置における二重化機能を実現する計算機システムにおいて、
コントローラと、
前記コントローラと前記ハードディスクとの接続を前記記憶装置の外部から切替え可能とした切替器を備え、
前記コントローラが前記ハードディスクの障害を検出して当該ハードディスクを切り離した際に、前記コントローラからの障害発生情報を、前記コントローラの上位の中央処理装置が収集し、
前記障害発生情報に基づいて前記中央処理装置が前記切替器の接続状態を切替えるとともに、前記計算機システムを再起動し、
前記コントローラは、前記再起動により、前記切替器の切替後の新しいハードディスクを認識し、前記二重化機能によるシステムの再構築を実現する
ことを特徴とする計算機システム。
【請求項２】
前記中央処理装置のオペレーティングシステム上のアプリケーションプログラムを起動することにより、前記中央処理装置及び前記コントローラの動作が実行される
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記コントローラは、障害を検出した当該ハードディスクの接続されるポート番号を内部のメモリに記憶する
ことを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記コントローラによる当該ハードディスクの障害の検出は、書込み動作のリトライが規定回数を超えたときを含む
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記コントローラによる当該ハードディスクの障害の検出は、障害を検出しないハードディスクから障害を検出したハードディスクへの書き戻し動作が規定回数を超えたときを含む
ことを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記中央処理装置の前記障害発生情報の収集は、定期的に実行されるポーリング動作により行われる
ことを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記障害発生情報は、障害を検出した当該ハードディスクの接続されるポート番号を含む
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記中央処理装置の前記障害発生情報の収集は、前記コントローラが障害を検出した当該ハードディスクの障害情報を報告する割込み動作に基づいて行われる
ことを特徴とする請求項１に記載の計算機システム。
【請求項９】
前記中央処理装置の接続認識コマンドに基づいて、前記コントローラが前記切替器の切替後の新しいハードディスクを認識し、前記二重化機能によるシステムの再構築を実施する
ことを特徴とする請求項１に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Array of Inexpensive Disks）と呼ばれるデータを複数のハードディスクに分散する記憶装置における二重化機能を実現する計算機システムに関し、特に、性能の向上と耐障害性を同時に確保するための計算機システムに関する。
【背景技術】
【０００２】
現在、計算機システムには外部記憶装置としてハードディスクが多く使用されている。しかし、ハードディスクはその構造上エラーが発生する可能性がある。近年、ハードディスクの容量が増加し、故障発生の可能性はより高くなってきている。
【０００３】
そこで、重要なデータを保存する必要がある場合は、従来よりハードディスクの信頼性向上のために複数のハードディスクを用いるＲＡＩＤシステムが使用されている。
【０００４】
その１つとして、２台のハードディスクに同じデータを保存するＲＡＩＤ１システムがある。ＲＡＩＤ１システムでは、データ書込み時は両方のハードディスクにデータを書き込み、読み出し時は片方よりデータを読み出す。データ読み出し時にエラーが発生した場合は、もう一方のハードディスクからデータを読み出す。
【０００５】
また、もう一方の正常なハードディスクのデータにより、エラーが発生したハードディスクのデータを修復する。このように２台のハードディスクを使用することにより、使用できる記憶容量は減るものの、システム全体としての信頼性を向上させている。
【０００６】
しかし、ＲＡＩＤ１システムにおいてライトエラーが発生した場合、そのハードディスクは計算機システムから物理的／論理的に切り離される。ここで、故障発生のハードディスクを交換し、ＲＡＩＤ１システムの再構築を行う必要がある。そうなると、計算機システムはこの間、１台のハードディスクのみで動作することになり、冗長性はなくなってしまう。
【０００７】
このような冗長性がなくなる時間を削減するための手法として、従来からホットスペアという機能が利用されている。まず、ハードディスクの故障に備えて予備のハードディスクを待機させておく。そして、ハードディスクの故障が発生した場合に切り離されたハードディスクの代わりとして、待機させておいた予備のハードディスクを稼動させる。これにより、ＲＡＩＤ１システムの再構築を自動的に実施するのである。このようにＲＡＩＤ１システムの再構築を自動的に実施する機能をホットスペアといい、ＲＡＩＤ装置の耐障害性を向上させる目的で従来から用いられている。
【０００８】
このホットスペアは、ホット・スタンバイあるいはオンライン・スタンバイとも呼ばれる。ホットスペア用ハードディスクを用意しておけば、あるハードディスクが故障したとき、代わりに予備のハードディスクを稼働させるので、ＲＡＩＤ１システムを故障発生前の状態に修復する作業を自動化することができる。なお、既にＲＡＩＤ４システムにおいては、ホットスペア機能を実現する技術が提案されている（特許文献１参照）。
【０００９】
このように、ＲＡＩＤ装置の耐障害性を高めるために、このホットスペアがよく実装される。ホットスペア用として設定されたハードディスクは、通電された待機状態にある。もし、１台のハードディスクが故障した場合、ＲＡＩＤコントローラは、故障したハードディスクを物理的／論理的に切り離し、ホットスペア用ハードディスクを起動する。
【００１０】
そして、残っているデータとパリティ情報などからホットスペア用のハードディスクに必要なデータを書き込み、ＲＡＩＤシステムを元の正常な状態に復旧させる。以上の処理がすべて自動的に実行されるのが、ホットスペアのメリットである。
【特許文献１】特開平７−３０２１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、ホットスペア用ハードディスクを用意していないローエンド仕様のＲＡＩＤコントローラの場合には、ハードディスクの故障時に、手動で正常なハードディスクに交換するまで、そのシステムは耐障害性が低下した状態で運用せざるを得なくなる。
【００１２】
また、上述した特許文献１に記載の技術のようなホットスペア機能を使用するには当該機能が内蔵された専用ＲＡＩＤコントローラを使用する必要がある。当該専用ＲＡＩＤコントローラは内部にその処理回路を内蔵しているためにハイエンド仕様で高価である。これと共に、当該専用ＲＡＩＤコントローラは一般的ではないために種類が限定されてしまい、装置全体の選択性が乏しくなってしまう。
【００１３】
そこで、本発明の目的は、専用ＲＡＩＤコントローラを用いないでホットスペア機能を実現することができ、かつ汎用ＲＡＩＤコントローラを用いて低価で構成することにより装置全体の選択性を広げることができる計算機システムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明は、コントローラと二重化を行うための複数のハードディスクを有する記憶装置における二重化機能を実現する計算機システムにおいて、コントローラとハードディスクとの接続を記憶装置の外部から切り替え可能な切替器を有している。
【００１５】
ここで、コントローラがハードディスクの障害を検出してこのハードディスクを切り離した際にコントローラの報告する障害発生情報を、コントローラの上位の中央処理装置が収集するように構成している。
【００１６】
このとき、障害発生情報に基づいて中央処理装置が切替器の接続状態を切替え、計算機システムを再起動するように構成している。
これにより、再起動によりコントローラが切替器の切替後の新しいハードディスクを認識し、二重化機能によるシステムの再構築を実施するように構成している。
【００１７】
このように本発明では、ホットスペア機能を実現するため、コントローラとハードディスクとの間のバス部に切替器を有している。そして、コントローラの上位の中央処理装置が、障害が発生したハードディスクと障害が発生した場合に備えて待機させてある予備ハードディスクとのバスを切替えることにより、ホットスペア機能を実現することができる。
【発明の効果】
【００１８】
本発明によれば、ホットスペア機能を有しない一般的なＲＡＩＤコントローラにおいてもホットスペア機能を実現することができるので、低価格なＲＡＩＤ装置を構成しながらも高い耐障害性を確保することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施の形態を、図１〜９を参照して説明する。
図１は、本発明の一実施の形態による計算機システム構成例を示す説明図である。
図１に示すように、計算機システム１１は、ＣＰＵ処理装置６とＲＡＩＤ装置１２から構成されている。
【００２０】
ＲＡＩＤ装置１２は、ハードディスクＨＤＤ＃１（マスタ）、ハードディスクＨＤＤ＃２（ミラー）、ハードディスクＨＤＤ＃３（予備）の３つのハードディスクと、ＲＡＩＤコントローラ４、及び切替器５から構成されている。
【００２１】
ＲＡＩＤコントローラ４とハードディスクＨＤＤ＃１（マスタ）の接続、及びＲＡＩＤコントローラ４とハードディスクＨＤＤ＃２（ミラー）との接続の切替えは、切替器５によって行われる。この切替えは、ＲＡＩＤ装置１２の外部に設けられたＣＰＵ処理装置６によって制御可能になっている。
【００２２】
なお、本発明の実施形態においては、便宜上、ハードディスクＨＤＤ＃１をマスタのハードディスクとし、ハードディスクＨＤＤ＃２をミラーのハードディスとしているが、両者は同じ機能を実現するハードディスクである。したがって、どちらのハードディスクをマスタ用、あるいはミラー用として利用してもよいことは言うまでもない。
【００２３】
ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃１（マスタ）と、ハードディスクＨＤＤ＃２（ミラー）の２台にてＲＡＩＤ１（二重化）システム構成を構築する機能を有している。
【００２４】
また、ＲＡＩＤコントローラ４は、後述するハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）の障害によりハードディスクが切り離された状態で動作する場合がある。その際、ＲＡＩＤコントローラ４が新しいハードディスクの接続を認識すると、自動的にＲＡＩＤ１システムの再構築が行われる。ＲＡＩＤコントローラ４は、このようなＲＡＩＤ１システムの再構築を実現する機能を有しているのである。
【００２５】
また、ＲＡＩＤコントローラ４は、後述する再起動後の新しいハードディスクの接続認識時にＲＡＩＤ１の再構築を実行する。また、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）の障害を検出する機能を有している。
【００２６】
ここで、ＲＡＩＤコントローラ４は、上位のＣＰＵ処理装置６に接続されており、ＣＰＵ処理装置６はＲＡＩＤコントローラ４の報告する障害発生情報を収集する機能を有している。
【００２７】
また、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）を切り離すためのスイッチＳＷ１、スイッチＳＷ２を備えている。
【００２８】
スイッチＳＷ１、スイッチＳＷ２により、障害のあるハードディスクは計算機システム１１から物理的に切り離される。このとき、図示しない論理／物理変換テーブが消去されることにより、障害のあるハードディスクは計算機システム１１から論理的に切り離される。
【００２９】
スイッチＳＷ１、スイッチＳＷ２の固定接点ｂは、それぞれＲＡＩＤコントローラ４のポートＰ１、ポートＰ２を介して、ハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）と接続されている。
【００３０】
ＲＡＩＤコントローラ４は、スイッチＳＷ１、スイッチＳＷ２の可動接点ａを、それぞれ固定接点ｂから固定接点ｃに切替えて接続する。これにより、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）を切り離す。
【００３１】
また、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）の情報を記憶するためのメモリ１４を備えている。
【００３２】
また、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）の情報を、障害のあるハードディスク自体のヘッダ部分に記録しても良い。
【００３３】
また、ＲＡＩＤコントローラ４は、ポートＰ１、ポートＰ２に対応するハードディスクＨＤＤ＃１（マスタ）、ハードディスクＨＤＤ＃２（ミラー）の接続又は切り離し情報を認識することができる。
【００３４】
切替器５は、ＣＰＵ処理装置６からの切替指示信号１３により、入力と出力の接続を任意に変更できる機能を有している。すなわち、ＣＰＵ処理装置６からの切替指示信号１３により、切替器５の接続状態を制御する機能を持っている。
【００３５】
また、切替器５は、スイッチＳＷ１１、スイッチＳＷ１２を備えており、ＣＰＵ処理装置６からの切替指示信号１３により、これらのスイッチの切替制御が行われる。そして、これらスイッチＳＷ１１、スイッチＳＷ１２の切替えによって、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）と、ＲＡＩＤコントローラ４との接続を切り離すようにしている。その際、切替器５は、ハードディスクＨＤＤ＃３（予備）をＲＡＩＤコントローラ４に接続するようにする。
【００３６】
つまり、ＣＰＵ処理装置６は、切替指示信号１３により、スイッチＳＷ１１又はスイッチＳＷ１２の可動接点ａを、それぞれ固定接点ｂから固定接点ｃに切替えて接続する。これにより、障害のあるハードディスクＨＤＤ＃１（マスタ）又はハードディスクＨＤＤ＃２（ミラー）の代わりに、ハードディスクＨＤＤ＃３（予備）がＲＡＩＤコントローラ４に接続される。
【００３７】
このとき、ＲＡＩＤコントローラ４は、切替器５におけるスイッチＳＷ１１、スイッチＳＷ１２の切替え状態は、認識していない。
ここで、ＣＰＵ処理装置６は、計算機システム１１を再起動する機能を有するものとする。
【００３８】
図２は、計算機システム１１の動作を示すタイミングチャートである。図２は、ＲＡＩＤコントローラ４の動作とＣＰＵ処理装置６の動作とを時系列的に並べたものである。以下、ハードディスクＨＤＤ＃２（ミラー）が障害のあるハードディスクである場合の動作を説明する。
【００３９】
図２において、Ｔ１時点で、ＲＡＩＤコントローラ４は、ハードディスクの障害発生を検出して、障害のあるハードディスクを切り離す。具体的には、図１に示したＲＡＩＤコントローラ４は、スイッチＳＷ２を用いて障害のあるハードディスクＨＤＤ＃２（ミラー）を切り離す。
【００４０】
Ｔ１２時点で、ＲＡＩＤコントローラ４は、Ｔ１時点で検出した障害情報をＣＰＵ処理装置６に供給する。具体的には、図１に示したＲＡＩＤコントローラ４は、ポートＰ２に対応するハードディスクＨＤＤ＃２（ミラー）に関する障害情報をＣＰＵ処理装置６に供給する。
【００４１】
Ｔ２時点で、ＣＰＵ処理装置６は、Ｔ１２時点の障害情報により、ハードディスクの障害発生を検知して、障害のあるハードディスクが切り離されたことを認識する。すなわち、ＣＰＵ処理装置６は、Ｔ１２時点の障害情報により、障害のあるハードディスクＨＤＤ＃２（ミラー）がＲＡＩＤコントローラ４から切り離されたことを認識する。
【００４２】
Ｔ３時点で、ＣＰＵ処理装置６は、計算機システムの再起動を実施する。この再起動は、ＣＰＵ処理装置６がアプリケーションプログラムを実行して、計算機システムをシャットダウンすることにより行われる。
【００４３】
Ｔ５時点で、ＣＰＵ処理装置６は、切替器５の接続を変更する。この接続変更は、ＣＰＵ処理装置６からの切替指示信号１３により、切替器５のスイッチＳＷ１１、スイッチＳＷ１２を切り替えることによって行われる。具体的には、ＲＡＩＤコントローラ４を障害のあるハードディスクＨＤＤ＃２（ミラー）から、ハードディスクＨＤＤ＃３（予備）に接続するように切替える。そして、Ｔ６時点で、ＣＰＵ処理装置６は、Ｔ３時点から実行していた再起動の動作を完了する。
【００４４】
一方、ＲＡＩＤコントローラ４側から見た場合、Ｔ３４時点で、ＣＰＵ処理装置６からＴ３時点で実施した再起動に対応する再起動指示がＲＡＩＤコントローラ４に供給される。
そして、Ｔ４時点で、ＲＡＩＤコントローラ４は、Ｔ３４時点の再起動指示により、ＲＡＩＤ装置１２の再起動を開始し、Ｔ７時点で再起動の動作を完了する。
【００４５】
Ｔ８時点で、ＲＡＩＤコントローラ４は、Ｔ４時点から実行していた再起動の実行により、新たなハードディスクＨＤＤ＃３（予備）の接続を認識する。
【００４６】
このようにして、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃１（マスタ）と新たなハードディスクＨＤＤ＃３（予備）を用いてＲＡＩＤ１（二重化）システム構成を再構築する。
【００４７】
図３は、ＣＰＵ処理装置６の動作を示すフローチャートである。図３は、ＣＰＵ処理装置のアプリケーションプログラムを実行することにより、実現する動作を示すものである。
【００４８】
図３に示すように、まず、ＣＰＵ処理装置６は、オペレーティングシステム（ＯＳ）上のアプリケーションプログラムを起動する（ステップＳ１）。すなわち、このアプリケーションプログラムを実行することにより、ＣＰＵ処理装置６は、図２で前述した、ＲＡＩＤコントローラ４の動作とＣＰＵ処理装置６の動作を実現させている。
【００４９】
次に、ＣＰＵ処理装置６は、ＲＡＩＤコントローラ４からハードディスクの障害情報を収集する（ステップＳ２）。具体的には、ＣＰＵ処理装置６は、ＲＡＩＤコントローラ４がハードディスクＨＤＤ＃２（ミラー）の障害を検出して当該ハードディスクＨＤＤ＃２（ミラー）を切り離した際にＲＡＩＤコントローラ４の報告する障害情報を収集する。
そして、ＣＰＵ処理装置６は、計算機システム１１の電源をシャットダウンして（ステップＳ３）、全ての処理を終了する。
【００５０】
次に、ＣＰＵ処理装置６は、切替器５の接続を変更する（ステップＳ４）。このとき、ＣＰＵ処理装置６は、ステップＳ２で収集した障害情報に基づいて計算機システム１１の設定を確認して再起動を実行する（ステップＳ５）。具体的には、ＣＰＵ処理装置６は、ステップＳ３のシャットダウンの最後の段階のアプリケーションの動作に基づいて発生される切替指示信号１３により、切替器５のスイッチＳＷ１１、スイッチＳＷ１２を切り替え、ＲＡＩＤコントローラ４を障害のあるハードディスクＨＤＤ＃２（ミラー）から、ハードディスクＨＤＤ＃３（予備）に接続する。
【００５１】
このようにＣＰＵ処理装置６は、計算機システム１１の再起動を行い、ＲＡＩＤコントローラ４が動作する前に、切替器５の接続を障害が発生したハードディスクＨＤＤ＃２（ミラー）から予備のハードディスクＨＤＤ＃３の経路に切替えるようにしている。
【００５２】
図４は、ＲＡＩＤコントローラのＨＤＤ障害検出の動作を示すフローチャートである。
図４は、図２のＴ１時点のＲＡＩＤコントローラ４によるハードディスクの障害検出、図３のステップＳ２で収集するＲＡＩＤコントローラ４からのハードディスクの障害検出の詳細な動作を示すものである。
【００５３】
図４に示すように、まず、ＲＡＩＤコントローラ４は、ハードディスクの障害が発生しているか否かを判断する（ステップＳ１１）。このステップＳ１１で、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）の障害発生を検出する。
この判断ステップＳ１１で、ハードディスクの障害が発生していると判断されると、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃２（ミラー）の接続ポートＰ２を検出する（ステップＳ１２）。
【００５４】
そして、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）の接続ポートＰ２及び対応するハードディスクＨＤＤ＃２（ミラー）の識別番号２をメモリ１４に記憶する（ステップＳ１３）。
【００５５】
続いて、ＲＡＩＤコントローラ４は、障害のあるハードディスクの接続ポートをスイッチＳＷ２で切断する（ステップＳ１４）。すなわち、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）の接続ポートＰ２をスイッチＳＷ２で切断し、スイッチＳＷ２の可動接点ａを、固定接点ｂから固定接点ｃに切替えて接続する。これにより、ＲＡＩＤコントローラ４は、障害のあるハードディスクＨＤＤ＃２（ミラー）を切り離す。
【００５６】
このように、ＲＡＩＤコントローラ４がハードディスクの障害を検出し、当該ハードディスクを切り離す。
【００５７】
図５は、ＲＡＩＤコントローラのリトライによるＨＤＤ障害検出の動作を示すフローチャートである。
図５は、図４に示すＲＡＩＤコントローラのＨＤＤ障害検出のステップＳ１１のＨＤＤ障害判断の具体的な動作の一例を示すものである。
【００５８】
図５に示すように、ＲＡＩＤコントローラ４は、ハードディスクのライト動作が正常に実行されているか否かを判断する（ステップＳ２１）。この判断ステップＳ２１で、例えば、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）のライト動作が正常に実行されていないことを検出する。
【００５９】
そして、判断ステップＳ２１で、ハードディスクのライト動作が正常に実行されていないと判断されたとき、ＲＡＩＤコントローラ４は、異常なハードディスクのライト動作のリトライを実行する（ステップＳ２２）。つまり、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）のライト動作を繰り返して実行する。
続いて、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）のライト動作のリトライ回数をメモリ１４（図１参照）に記憶する（ステップＳ２３）。
【００６０】
続いて、ＲＡＩＤコントローラ４は、ステップＳ２２のリトライが成功したか否かを判断する（ステップＳ２４）。つまり、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）のライト動作のリトライが正常に実行されたか否かを検出する。
【００６１】
次に、判断ステップＳ２４で、リトライが成功しないと判断されると、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃２（ミラー）のライト動作のリトライ回数が予め定められた規定回数に達したか否かを判断する（ステップＳ２５）。
判断ステップＳ２５で、リトライ回数が規定回数に達していないと判断されたときは、ステップＳ２２へ戻って、ステップＳ２２〜ステップＳ２５までの処理及び判断を繰り返す。
【００６２】
判断ステップＳ２５で、リトライ回数が規定回数に達したと判断された場合は、ＲＡＩＤコントローラ４は、ステップＳ２２でリトライしたハードディスクに障害があると判断する（ステップＳ２６）。つまり、ライト動作のリトライが正常に実行されていないハードディスクＨＤＤ＃２（ミラー）を、障害のあるハードディスクであると判断する。
【００６３】
判断ステップＳ２４で、リトライが成功していると判断されたときは、ＲＡＩＤコントローラ４は、ステップＳ２２のリトライしたハードディスクに障害がないと判断する（ステップＳ２７）。つまり、ＲＡＩＤコントローラ４は、ライト動作が正常に行われたハードディスクＨＤＤ＃２（ミラー）を障害のないハードディスクであると判断する。
【００６４】
なお、図２に示すＴ１２時点の障害情報は、障害を検出した当該ハードディスクＨＤＤ＃２（ミラー）の接続されるポート番号Ｐ２の他に、上述したメモリ１４に記憶された書込み動作のリトライ回数を含んでいる。
【００６５】
図６は、ＲＡＩＤコントローラの書き戻しによるＨＤＤ障害検出の動作を示すフローチャートである。
図６は、図４に示すＲＡＩＤコントローラのＨＤＤ障害検出のステップＳ１１のＨＤＤ障害判断の具体的な動作の他の例を示すものである。
【００６６】
図６に示すように、まず、ＲＡＩＤコントローラ４は、ハードディスクのライト動作が正常に実行されているか否か判断する（ステップＳ３１）。この判断ステップＳ３１で、例えば、ハードディスクＨＤＤ＃２（ミラー）のライト動作が正常に実行されていないことを検出する。
【００６７】
判断ステップＳ３１で、ハードディスクのライト動作が正常に実行されていないと判断された場合は、ＲＡＩＤコントローラ４は、他の正常なハードディスクから異常なハードディスクへ書き戻し動作を実行する（ステップＳ３２）。つまり、ＲＡＩＤコントローラ４は、正常なハードディスクＨＤＤ＃１（マスタ）から異常なハードディスクＨＤＤ＃２（ミラー）へ書き戻し動作を実行する。
【００６８】
そして、ＲＡＩＤコントローラ４は、正常なハードディスクＨＤＤ＃１（マスタ）から異常なハードディスクＨＤＤ＃２（ミラー）への書き戻し動作回数をメモリ１４に記憶する（ステップＳ３３）。
ＲＡＩＤコントローラ４は、正常なハードディスクＨＤＤ＃１（マスタ）から異常なハードディスクＨＤＤ＃２（ミラー）への書き戻し動作が正常に実行されたか否かを判断する（ステップＳ３４）。
【００６９】
次に、判断ステップＳ３４で、書き戻し動作が成功していないと判断されると、ＲＡＩＤコントローラ４は、正常なハードディスクＨＤＤ＃１（マスタ）から異常なハードディスクＨＤＤ＃２（ミラー）への書き戻し動作回数が予め定められた規定回数に達したか否かを判断する（ステップＳ３５）。
判断ステップＳ３５で、書き戻し回数が規定回数に達していないと判断された場合は、ステップＳ３２へ戻って、ステップＳ３２〜ステップＳ３５までの処理及び判断を繰り返す。
【００７０】
判断ステップＳ３５で書き戻し回数が規定回数に達したと判断された場合には、ＲＡＩＤコントローラ４は、ステップＳ３２の書き戻し先のハードディスクに障害のあると判断する（ステップＳ３６）。つまり、ＲＡＩＤコントローラ４は、書き戻し先のハードディスクＨＤＤ＃２（ミラー）の書き戻し動作が正常に実行されていないため、ハードディスクＨＤＤ＃２（ミラー）を障害のあるハードディスクであると判断する。
【００７１】
判断ステップＳ３４で、書き戻し動作が成功したと判断された場合は、ＲＡＩＤコントローラ４は、ステップＳ３２の書き戻し先のハードディスクに障害がないと判断する（ステップＳ３７）。つまり、ＲＡＩＤコントローラ４は、書き戻し動作が正常に実行されたハードディスクＨＤＤ＃２（ミラー）を障害のないハードディスクであると判断する。
【００７２】
なお、図２に示すＴ１２時点の障害情報には、障害を検出した当該ハードディスクＨＤＤ＃２（ミラー）の接続されるポート番号Ｐ２の他に、上述したメモリ１４に記憶された書込み動作のリトライ回数が含まれる点は、図５の例と変わらない。
【００７３】
図７は、ＣＰＵ処理装置のポーリングによるＨＤＤ障害検出の動作を示すフローチャートである。
図７は、図３のステップＳ２でＣＰＵ処理装置６がＲＡＩＤコントローラ４からハードディスクの障害情報を収集する詳細な動作を示すものである。
【００７４】
まず、ＣＰＵ処理装置６は、障害情報の収集を行うために定期的に実行されるポーリング動作を実行する時間であるか否かを判断する（ステップＳ４１）。この判断ステップＳ４１で、定期的なポーリングを実行する時間であると判断されると、ＣＰＵ処理装置６は、ＲＡＩＤコントローラ４からハードディスクの障害情報の受け取りを開始する（ステップＳ４２）。つまり、ＣＰＵ処理装置６は、ポーリングを実行してＲＡＩＤコントローラ４からハードディスクＨＤＤ＃２（ミラー）の障害情報の受け取りを開始する。
【００７５】
次に、ＣＰＵ処理装置６は、障害情報項目として、ハードディスクＨＤＤ＃２（ミラー）の識別番号に対応するＲＡＩＤコントローラ４のポート番号を受け取る（ステップＳ４３）。判断ステップＳ４１で定期的なポーリングを実行する時間ではないと判断されたとき、あるいは、ステップＳ４３で障害情報項目を受け取ったときは、処理を終了する。このようにして、ＣＰＵ処理装置６は、ＲＡＩＤコントローラ４から障害が発生したハードディスクを切り離したことによる障害情報を検知する。
【００７６】
図８は、ＲＡＩＤコントローラの障害報告の動作を示すフローチャートである。
図８は、図２のＴ１２時点のＲＡＩＤコントローラ４からＣＰＵ処理装置６へ供給されるハードディスクの障害情報、図３のステップＳ２でＣＰＵ処理装置６が収集するＲＡＩＤコントローラ４からハードディスクの障害情報の報告の詳細な動作を示すものである。
【００７７】
図８に示すように、まず、ＲＡＩＤコントローラ４は、障害のあるハードディスクを検出したか否かを判断する（ステップＳ５１）。この判断ステップＳ５１で、ＲＡＩＤコントローラ４は、図４のステップＳ１１と同様に、ハードディスクＨＤＤ＃２（ミラー）の障害発生を検出する。
【００７８】
判断ステップＳ５１で、障害のあるハードディスクを検出したと判断された場合は、ＲＡＩＤコントローラ４は、障害報告の割込みを実行するか否か、つまり、ステップＳ５１で検出した障害情報をＣＰＵ処理装置６へ報告するための割込みを実行するか否かを判断する。
【００７９】
判断ステップＳ５２で、障害報告の割込みを実行すると判断された場合は、ＲＡＩＤコントローラ４は、障害情報項目として、ハードディスクＨＤＤ＃２（ミラー）の識別番号に対応するＲＡＩＤコントローラ４のポート番号Ｐ２をＣＰＵ処理装置６へ報告する（ステップＳ５３）。
【００８０】
図９は、ＲＡＩＤコントローラの接続認識による再構築の動作を示すフローチャートである。
図９は、図２に示したＴ８時点で、ハードディスクＨＤＤ＃１（マスタ）と新たなハードディスクＨＤＤ＃３（予備）を用いてＲＡＩＤ１（二重化）システム構成を再構築する詳細な動作を示すものである。この再構築は、ＲＡＩＤコントローラ４が再起動の実行により、新たなハードディスクＨＤＤ＃３（予備）の接続を認識することにより、行われる。
【００８１】
図９に示すように、ＲＡＩＤコントローラ４は、再起動が実行されたか否かを判断する（ステップＳ６１）。この再起動の指示は、ＣＰＵ処理装置６から供給される。ここでは、ＣＰＵ処理装置６とＲＡＩＤコントローラ４のリセット動作が共有されている計算機システム構成を前提としている。
【００８２】
判断ステップＳ６１で、再起動が実行されたと判断されると、ＲＡＩＤコントローラ４は、新たに接続されたハードディスクＨＤＤ＃３（予備）があるか否かを判断する（ステップＳ６２）。つまり、ＲＡＩＤコントローラ４は、再起動を実行することにより、自動的に障害のあるハードディスクＨＤＤ＃２（ミラー）の代わりに、ハードディスクＨＤＤ＃３（予備）が接続されたことを認識する。
【００８３】
判断ステップＳ６２で、新たに接続されたハードディスクＨＤＤ＃３（予備）があると判断された場合、ＲＡＩＤコントローラ４は、ハードディスクＨＤＤ＃１（マスタ）上のデータを読み出す（ステップＳ６３）。そして、ＲＡＩＤコントローラ４は、新たに接続されたハードディスクＨＤＤ＃３（予備）上にハードディスクＨＤＤ＃１（マスタ）から読み出したデータを書き込む（ステップＳ６４）。
【００８４】
このように、ＲＡＩＤコントローラ４は、新しいハードディスクの接続を認識し、ＲＡＩＤ１の再構築を実施する。
【産業上の利用可能性】
【００８５】
高い信頼性が要求されるＦＡ（Factory Automation）用途のコンピュータや重要なデータを保存する必要のある用途に使用されるコンピュータ等に適用できる。
【００８６】
なお、本発明は、上述した実施の形態例に限らず、特許請求の範囲に記載された本発明の要旨を逸脱しない限りにおいて、適宜変更しうることは言うまでもない。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施の形態による計算機システム構成例を示す説明図である。
【図２】計算機システムの動作を示すタイミングチャートである。
【図３】ＣＰＵ処理装置の動作を示すフローチャートである。
【図４】ＲＡＩＤコントローラのＨＤＤ障害検出の動作を示すフローチャートである。
【図５】ＲＡＩＤコントローラのリトライによるＨＤＤ障害検出の動作を示すフローチャートである。
【図６】ＲＡＩＤコントローラの書き戻しによるＨＤＤ障害検出の動作を示すフローチャートである。
【図７】ＣＰＵ処理装置のポーリングによるＨＤＤ障害検出の動作を示すフローチャートである。
【図８】ＲＡＩＤコントローラの障害報告の動作を示すフローチャートである。
【図９】ＲＡＩＤコントローラの接続認識による再構築の動作を示すフローチャートである。
【符号の説明】
【００８８】
１…ハードディスク（マスタ）、２…ハードディスク（ミラー）、３…ハードディスク（予備）、４…ＲＡＩＤコントローラ、５…切替器、６…ＣＰＵ処理装置、１１…計算機システム、１２…ＲＡＩＤ装置、１３…切替指示信号、１４…メモリ、Ｐ１…ポート、Ｐ２…ポート
【図１】
2009169469.tif 000003
【図２】
2009169469.tif 000004
【図３】
2009169469.tif 000005
【図４】
2009169469.tif 000006
【図５】
2009169469.tif 000007
【図６】
2009169469.tif 000008
【図７】
2009169469.tif 000009
【図８】
2009169469.tif 000010
【図９】
2009169469.tif 000011