(57)【要約】【課題】ＲＡＩＤコントローラの障害耐性を装置の小型化や低コスト化を妨げずに高める。【解決手段】システムメモリを有する情報処理装置に組み込まれたＲＡＩＤ装置のＲＡＩＤコントローラにおいて、前記ＲＡＩＤコントローラは、第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化したことを特徴とする。【選択図】      図１
2015130037.tif 000002
【特許請求の範囲】
【請求項１】
システムメモリを有する情報処理装置に組み込まれたＲＡＩＤ装置のＲＡＩＤコントローラにおいて、
前記ＲＡＩＤコントローラは、
第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化した、
ＲＡＩＤコントローラ。
【請求項２】
前記第１のメモリに障害が発生した場合、前記第１のメモリを前記第２のメモリに切り替える、請求項１記載のＲＡＩＤコントローラ。
【請求項３】
前記第１と第２のメモリとは、ファームウェア領域とバッファ領域とキャッシュ領域とを有する、請求項１または２記載のＲＡＩＤコントローラ。
【請求項４】
システムメモリを有する情報処理装置に組み込まれたＲＡＩＤ装置において、
前記ＲＡＩＤ装置のＲＡＩＤコントローラは、
第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化した、
ＲＡＩＤ装置。
【請求項５】
前記ＲＡＩＤコントローラは、前記第１のメモリに障害が発生した場合、前記第１のメモリを前記第２のメモリに切り替える、請求項４記載のＲＡＩＤ装置。
【請求項６】
前記第１と第２のメモリとは、ファームウェア領域とバッファ領域とキャッシュ領域とを有する、請求項４または５記載のＲＡＩＤ装置。
【請求項７】
システムメモリとＲＡＩＤ装置とを有する情報処理装置において、
前記ＲＡＩＤ装置のＲＡＩＤコントローラは、
第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化した、
情報処理装置。
【請求項８】
前記ＲＡＩＤコントローラは、前記第１のメモリに障害が発生した場合、前記第１のメモリを前記第２のメモリに切り替える、請求項７記載の情報処理装置。
【請求項９】
前記第１と第２のメモリとは、ファームウェア領域とバッファ領域とキャッシュ領域とを有する、請求項７または８記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイシステムの代表的な実装形態であるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術に関する。
【背景技術】
【０００２】
ＲＡＩＤ装置は、複数台のハードディスク装置（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ、ＨＤＤ）を組み合わせて仮想的な1台のハードディスクとして運用することにより、アクセス処理のパフォーマンスや信頼性の向上を実現する装置である。ＲＡＩＤ装置のＲＡＩＤコントローラは、並列に接続されたＨＤＤを、他のシステムからは論理的に一つのディスクとして認識されるように制御している。このＲＡＩＤコントローラはメモリを備えている。このメモリはファームウェアが動作するメモリ領域、バッファメモリ領域、キャッシュメモリ領域を有する。そして、このメモリの各領域に経年変化などにより何らかの動作障害が発生すると、ＲＡＩＤコントローラは動作を継続することができなくなる。
【０００３】
このような障害を防ぐ技術として、ＲＡＩＤコントローラを二重化したＲＡＩＤ装置が特許文献１に開示されている。特許文献１のＲＡＩＤ装置は、二重化されたＲＡＩＤコントローラを備え、各々のＲＡＩＤコントローラには別々のメモリを搭載するように構成されている。この構成により、一方のＲＡＩＤコントローラのメモリに障害が発生したことでＲＡＩＤコントローラが動作できなくなった場合でも、他方のＲＡＩＤコントローラが動作することで、ＲＡＩＤ装置の動作を継続することができる。特に、メモリに修復できない故障が発生した場合でも、他方のＲＡＩＤコントローラによってＲＡＩＤ装置の動作の継続が可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２０６２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のＲＡＩＤ装置は以下の課題を有している。すなわち、ＲＡＩＤコントローラを二組備え、各々のコントローラがそれぞれ別々のメモリを備える構成とすることから、部品点数の増大や実装面積の増大をもたらしている。その結果、装置の小型化を難しくし、装置コストを増大させるという問題を生じている。
【０００６】
本発明は、上記の課題を鑑みてなされたものであり、その目的は、装置の小型化や低コスト化を妨げずに障害耐性を高めた、ＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明のＲＡＩＤコントローラは、システムメモリを有する情報処理装置に組み込まれたＲＡＩＤ装置のＲＡＩＤコントローラにおいて、前記ＲＡＩＤコントローラは、第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化したことを特徴とする。
【０００８】
本発明のＲＡＩＤ装置は、システムメモリを有する情報処理装置に組み込まれたＲＡＩＤ装置において、前記ＲＡＩＤ装置のＲＡＩＤコントローラは、第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化したことを特徴とする。
【０００９】
本発明の情報処理装置は、システムメモリとＲＡＩＤ装置とを有する情報処理装置において、前記ＲＡＩＤ装置のＲＡＩＤコントローラは、第１のメモリと第２のメモリとを有し、前記第２のメモリは前記システムメモリの一部を有し、前記第１のメモリと前記第２のメモリとをミラー化したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、装置の小型化や低コスト化を妨げずに障害耐性を高めた、ＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態のＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置の構成を示す図である。
【図２】本発明の第２の実施形態のＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置の構成を示す図である。
【図３】本発明の第２の実施形態の動作を示すフローチャートである。
【図４】本発明の第２の実施形態の動作を示すフローチャートである。
【図５】本発明の第２の実施形態の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態のＲＡＩＤコントローラを有するＲＡＩＤ装置を組み込んだ情報処理装置の構成を示す。
【００１３】
本実施形態のＲＡＩＤコントローラは、システムメモリ１０５を有する情報処理装置１００に組み込まれたＲＡＩＤ装置１０１のＲＡＩＤコントローラ１０２である。ＲＡＩＤコントローラ１０２は、第１のメモリ１０３と第２のメモリ１０４とを有し、第２のメモリはシステムメモリ１０５の一部を有し、第１のメモリ１０３と第２のメモリ１０４とをミラー化したことを特徴とする。
【００１４】
本実施形態によれば、装置の小型化や低コスト化を妨げずに障害耐性を高めた、ＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置を提供することができる。
（第２の実施形態）
（構成の説明）
図２は、本発明の第２の実施形態のＲＡＩＤコントローラを有するＲＡＩＤ装置を組み込んだ情報処理装置の構成を示す。
【００１５】
情報処理装置１は、サーバ等であり、ＣＰＵ２（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、共通バス３、システムメモリ４を有する。ＣＰＵ２は、共通バス３、システムメモリ４を制御する。共通バス３にはＲＡＩＤ装置１９のＲＡＩＤコントローラ６が接続している。ＣＰＵ２は、ＲＡＩＤ装置１９とのデータの転送や指示を行う。ＲＡＩＤ装置１９は、ＲＡＩＤコントローラ６と複数のＨＤＤ１０を有する。
【００１６】
ＲＡＩＤコントローラ６は、マイクロプロセッサ７、ＲＡＩＤコントローラメモリ８、フラッシュメモリ９、メモリミラー化手段１８を有する。ＲＡＩＤコントローラ６は、マイクロプロセッサ７により制御されている。
【００１７】
フラッシュメモリ９は、ＲＡＩＤコントローラＢＩＯＳおよびファームウェアを格納している。マイクロプロセッサ７は、フラッシュメモリ９からＲＡＩＤコントローラＢＩＯＳおよびファームウェアを読み出し、ＲＡＩＤコントローラ６を制御する。フラッシュメモリ９は、また、ログを保存するためにも用いられる。
【００１８】
マイクロプロセッサ７は、さらに、ＲＡＩＤコントローラメモリ８およびＨＤＤ１０を制御する。ＨＤＤ１０は、オペレーティングシステム１１を格納している。オペレーティングシステム１１は、ＲＡＩＤコントローラドライバ１２とＲＡＩＤコントローラ管理ユーティリティ１７を有する。
【００１９】
ＣＰＵ２は、ＲＡＩＤコントローラドライバ１２をロードし、ＲＡＩＤコントローラドライバ１２により、ＲＡＩＤコントローラ６を制御する。また、ＣＰＵ２は、ＲＡＩＤコントローラ管理ユーティリティ１７をロードし、ＲＡＩＤコントローラ管理ユーティリティ１７により、フラッシュメモリ９に保存されたログを監視し、ＲＡＩＤコントローラ６の異常をオペレータに通知する。
【００２０】
ＲＡＩＤコントローラメモリ８は、第１のメモリであり、ファームウェア１３−１、バッファ領域１４−１、キャッシュ領域１５−１を有する。
【００２１】
システムメモリ４は、第２のメモリであり、ＲＡＩＤコントローラ用メモリ領域５を有する。ＲＡＩＤコントローラ用メモリ領域５は、ファームウェア領域１３−２、バッファ領域１４−２、キャッシュ領域１５−２を有する。
【００２２】
マイクロプロセッサ７は、メモリミラー化手段１８を用いて、ＲＡＩＤコントローラメモリ８のファームウェア１３−１、バッファ領域１４−１、キャッシュ領域１５−１と、ＲＡＩＤコントローラ用メモリ領域５のファームウェア領域１３−２、バッファ領域１４−２、キャッシュ領域１５−２とを、それぞれミラー化して運用する。メモリミラー化手段１８は、システムメモリ４とＲＡＩＤコントローラメモリ８とを同期させる機能を有する。
【００２３】
マイクロプロセッサ７は、エラーレジスタ１６を有し、メモリエラーなどの異常を検出した場合に、エラービットをエラーレジスタ１６にセットすることで、ファームウェアやＲＡＩＤコントローラＢＩＯＳに異常を認識させることができる。
（動作の説明）
本実施形態のＲＡＩＤコントローラ６を有するＲＡＩＤ装置１９を組み込んだ情報処理装置１の動作を説明する。
【００２４】
図３は、本実施形態のＲＡＩＤコントローラ６を有するＲＡＩＤ装置１９を組み込んだ情報処理装置１の動作を示すフローチャートである。図３のフローチャートの動作により、情報処理装置１の稼働中にＲＡＩＤコントローラ６のメモリ異常が検出された場合の、メモリの切り替えに備えることができる。
【００２５】
情報処理装置１の起動により、図３のフローチャートは開始する。
【００２６】
ステップＳ１０１で、ＣＰＵ２は、共通バス３とマイクロプロセッサ７を介してフラッシュメモリ９からロードしたＲＡＩＤコントローラＢＩＯＳの処理により、システムメモリ４内にＲＡＩＤコントローラ用メモリ領域５を確保する。ＲＡＩＤコントローラ用メモリ領域５は、ファームウェア領域１３−２、バッファ領域１４−２、キャッシュ領域１５−２を有する。
【００２７】
ステップＳ１０２で、ＣＰＵ２は、ＲＡＩＤコントローラＢＩＯＳの処理により、フラッシュメモリ９からファームウェアをロードし、ＲＡＩＤコントローラメモリ８のファームウェア領域１３−１と、ＲＡＩＤコントローラ用メモリ領域５のファームウェア領域１３−２とに、おのおのファームウェアを、格納する。
【００２８】
ステップＳ１０３で、マイクロプロセッサ７は、ＨＤＤ１０とのデータ転送用のバッファ用およびキャッシュ用に、ＲＡＩＤコントローラメモリ８とＲＡＩＤコントローラ用メモリ領域５とを、メモリミラー化手段１８を用いてミラー化して運用する。具体的には、バッファ領域１４−１とバッファ領域１４−２、キャッシュ領域１５−１とキャッシュ領域１５−２とを、それぞれミラー化して運用する。
【００２９】
ステップＳ１０４で、ＣＰＵ２は、ＲＡＩＤコントローラドライバ１２の処理により、データ通信の応答時間を監視することで、ファームウェア領域１３−１内のファームウェアが正常動作しているか否かを監視する。
【００３０】
情報処理装置１の稼働の終了により、図３のフローチャートは終了する。
【００３１】
図４は、本実施形態のＲＡＩＤコントローラ６を有するＲＡＩＤ装置１９を組み込んだ情報処理装置１の動作を示すフローチャートである。図４のフローチャートの動作により、情報処理装置１の稼働中にＲＡＩＤコントローラ６のメモリ異常が検出された場合に、メモリを切り替えて動作を継続することができる。
【００３２】
ステップＳ２０１で、マイクロプロセッサ７は、ＲＡＩＤコントローラメモリ８上で修復不可能なメモリのエラーを検出する。
【００３３】
ステップＳ２０２で、マイクロプロセッサ７は、エラーレジスタ１６にエラービットをセットし、ソフトウェア割り込みを発生させる。
【００３４】
ステップＳ２０３で、ソフトウェア割り込みにより、マイクロプロセッサ７で動作するファームウェア領域１３−１内のファームウェアは、エラーレジスタ１６を参照してメモリのエラーを認識する。
【００３５】
ステップＳ２０４で、メモリのエラーを認識したファームウェアは、処理を停止する。
【００３６】
ステップＳ２０５で、ＣＰＵ２は、ＲＡＩＤコントローラドライバ１２の処理にて一定時間の応答がないことでファームウェア処理の異常を検出すると、ソフトウェア割り込みを発生させる。
【００３７】
ステップＳ２０６で、マイクロプロセッサ７は、ＲＡＩＤコントローラドライバ１２のソフトウェア割り込みを検出すると、ファームウェアのロード先をファームウェア領域１３−１からファームウェア領域１３−２へ切り替える。これにより、マイクロプロセッサ７は、処理の継続が可能になる
ステップＳ２０７で、マイクロプロセッサ７は、メモリミラー化手段１８に指示して、エラーが発生したＲＡＩＤコントローラメモリ８を論理的に切り離し、ＲＡＩＤコントローラ用メモリ領域５のみを使用するようにして、制御を継続する。
【００３８】
ステップＳ２０８で、マイクロプロセッサ７は、ＲＡＩＤコントローラメモリ８の異常をログとしてフラッシュメモリ９に保管する。
【００３９】
ステップＳ２０９で、ＣＰＵ２は、ＲＡＩＤコントローラ管理ユーティリティ１７の処理にて、フラッシュメモリ９内のログを基にオペレータにＲＡＩＤコントローラメモリ８の異常を通知し、終了とする。
【００４０】
図５は、本実施形態のＲＡＩＤコントローラ６を有するＲＡＩＤ装置１９を組み込んだ情報処理装置１の動作を示すフローチャートである。図５のフローチャートの動作により、情報処理装置１の起動中にＲＡＩＤコントローラ６のメモリ異常が検出された場合に、メモリを切り替えて動作を継続することができる。
【００４１】
ステップＳ３０１で、情報処理装置１の起動時に行われるＲＡＩＤコントローラ６の初期化工程において、マイクロプロセッサ７が、ＲＡＩＤコントローラメモリ８上で修復不可能なメモリのエラーを検出する。
【００４２】
ステップＳ３０２で、マイクロプロセッサ７は、エラーレジスタ１６にエラービットをセットしてソフトウェア割り込みを発生させる。
【００４３】
ステップＳ３０３で、マイクロプロセッサ７で動作するＲＡＩＤコントローラＢＩＯＳは、ソフトウェア割り込みを検出すると、マイクロプロセッサ７のエラーレジスタ１６を参照し、メモリのエラーを認識する。
【００４４】
ステップＳ３０４で、メモリのエラーを認識したＲＡＩＤコントローラＢＩＯＳは、ソフトウェア割り込みを発生させる。
【００４５】
ステップＳ３０５で、ＲＡＩＤコントローラＢＩＯＳの割り込みを検出したマイクロプロセッサ７は、ファームウェアのロード先をファームウェア領域１３−１からファームウェア領域１３−２へ切り替える。これにより、マイクロプロセッサ７は、処理の継続が可能になる。
【００４６】
ステップＳ３０６で、マイクロプロセッサ７は、メモリミラー化手段１８に対してエラーが発生したＲＡＩＤコントローラメモリ８の論理的な切り離しを指示し、ＲＡＩＤコントローラ用メモリ領域５のみを使用して制御を継続する。
【００４７】
ステップＳ３０７で、マイクロプロセッサ７は、ＲＡＩＤコントローラメモリ８の異常をログとしてフラッシュメモリ９に保管する。
【００４８】
ステップＳ３０８で、オペレーティングシステム１１の起動後、ＣＰＵ２は、ＲＡＩＤコントローラ管理ユーティリティ１７の処理により、フラッシュメモリ９内のログを基にオペレータにＲＡＩＤコントローラメモリ８の異常を通知し、終了する。
【００４９】
以上、本実施形態によれば、情報処理装置が有するシステムメモリの一部を、ＲＡＩＤコントローラメモリとミラー化する。そのため、ＲＡＩＤコントローラとしての部品点数の増加や実装面積の増加をもたらすことがなく、装置の小型化を難しくしたり装置コストを増大させたりといった問題は生じない。
【００５０】
よって、本実施形態によれば、装置の小型化や低コスト化を妨げずに障害耐性を高めた、ＲＡＩＤコントローラ、ＲＡＩＤ装置およびこれを用いた情報処理装置を提供することができる。
【００５１】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
【符号の説明】
【００５２】
１    情報処理装置
２    ＣＰＵ
３    共通バス
４    システムメモリ
５    ＲＡＩＤコントローラ用メモリ領域
６    ＲＡＩＤコントローラ
７    マイクロプロセッサ
８    ＲＡＩＤコントローラメモリ
９    フラッシュメモリ
１０    ＨＤＤ
１１    オペレーティングシステム
１２    ＲＡＩＤコントローラドライバ
１３−１、１３−２    ファームウェア領域
１４−１、１４−２    バッファ領域
１５−１、１５−２    キャッシュ領域
１６    エラーレジスタ
１７    ＲＡＩＤコントローラ管理ユーティリティ
１８    メモリミラー化手段
１９    ＲＡＩＤ装置
１００    情報処理装置
１０１    ＲＡＩＤ装置
１０２    ＲＡＩＤコントローラ
１０３    第１のメモリ
１０４    第２のメモリ
１０５    システムメモリ
【図１】
2015130037.tif 000003
【図２】
2015130037.tif 000004
【図３】
2015130037.tif 000005
【図４】
2015130037.tif 000006
【図５】
2015130037.tif 000007