(57)【要約】【課題】  訂正不可能なエラーの検出されたメモリが縮退された場合でも、ミラー機能を提供してＯＳ起動後の訂正不可能なエラーに対する耐性の強い制御装置を提供する。【解決手段】  サーバ１０へ電源が投入されると、ＭＣＨ１２はバンク２とバンク３に対してエラーの検出を行う。もし、訂正不可能なエラーがバンク２及びバンク３のいずれでも検出されなければＭＣＨ１２はバンク２及びバンク３をミラー構成としてＯＳを起動させる。バンク２若しくはバンク３のいずれかを構成するメモリに訂正不可能なエラーのあるメモリが存在すれば、ＭＣＨ１２は当該メモリを含むメモリバンクを縮退させ、残ったバンク及びバンク１でミラー構成とした後、ＢＩＯＳ１４ａはＯＳを起動させる。【選択図】      図１
2006277612.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリ部と、
前記第１のメモリ部の記憶容量以上の記憶容量を持つ第２のメモリ部と、
前記第１のメモリ部及び前記第２のメモリ部にそれぞれ同一のデータを書き込むメモリ制御手段と、
前記第１のメモリ部及び前記第２のメモリ部を構成するメモリに訂正不可能なエラーが存在するか否かを検出し、訂正不可能なエラーが存在するメモリを縮退させる縮退手段と、
前記縮退手段によりメモリが縮退された場合に、前記第１のメモリ部若しくは前記第２のメモリ部の一部若しくは全部を構成して前記メモリ制御手段によりデータが書き込まれる予備用メモリ部と
を備えることを特徴とする制御装置。
【請求項２】
前記予備用メモリ部は、前記縮退手段によりメモリが縮退された場合に、オペレーションシステムの起動前に前記第１のメモリ部若しくは前記第２のメモリ部の一部若しくは全部を構成すること
を特徴とする請求項１記載の制御装置。
【請求項３】
前記メモリ制御手段は、設定に応じて、前記第１のメモリ部及び前記第２のメモリ部に異なるデータを書き込むこと
を特徴とする請求項１記載の制御装置。
【請求項４】
前記予備用メモリ部を構成するメモリの記憶容量は、前記第１のメモリ部及び前記第２のメモリ部を構成するメモリの記憶容量の内、最大のもの以上であること
を特徴とする請求項１記載の制御装置。
【請求項５】
前記第１のメモリ部、前記第２のメモリ部、及び前記予備用メモリ部を構成するメモリの記憶容量がそれぞれ同じであること
を特徴とする請求項１記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを備える制御装置に関する。
【背景技術】
【０００２】
近年、例えばサーバ等のメモリが使用される装置において、その信頼性を向上させるために、メモリを二重化構成とするミラー機能が広く普及している（例えば、特許文献１参照）。特許文献１には、２つのメモリを有し、重要度の高いデータは其々のメモリに対して同一のデータを書き込むことでデータの二重化を行い、重要度の低いデータは二重化を行わない装置について記載されている。このようにミラー機能を使用すると、訂正不可能なエラーが発生しても、二重化を行っている他方のメモリからデータを読み出せば良いので、信頼性が高い。
【０００３】
一方、近年のサーバでは、システム起動時にメモリの初期化及び検査を行う段階で、訂正不可能なエラーが検出された場合に、当該メモリを縮退させ、残ったメモリにサイズを縮小してシステム起動を行うメモリリサイズ機能が広く実装されている。
【特許文献１】特開平５−０８８９８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の装置にメモリリサイズ機能を実装すると、片方のメモリに訂正不可能なエラーが検出された場合には、そのメモリがメモリリサイズ機能により縮退されるため、使用できるメモリが１つ、即ち奇数個となるので二重化を行うことができず、ミラー機能が無効となった状態で稼動することとなる。さらに、信頼性を回復すべく冗長構成を持つミラー機能を再度有効とするには、メモリを入れ替えるための保守サービスを受ける必要が生じ、システムダウンの回数が増加して稼働率の低下を招くこととなる。
【０００５】
一方、普段から使用される現用メモリに加えてスペアメモリを持ち、オペレーションシステム（以下ＯＳ）の起動後に、稼動しているメモリで訂正可能なエラーが閾値以上発生した場合に、当該メモリの内容をスペアメモリにコピーしてエラーの発生したメモリを縮退させて稼動を継続させるオンラインスペア機能も普及している。しかしながらこれは、システムの稼動後に機能するものであるため、デバイスの固定的な故障等の、訂正不可能なエラーが発生した場合には、これを救済することはできない。尚、オンラインスペア機能及びミラー機能は、ユーザがＢＩＯＳの設定によってユーザが任意の機能を選択的に利用されている。
【０００６】
そこで本発明は、訂正不可能なエラーの検出されたメモリが縮退された場合でも、ミラー機能を提供してＯＳ起動後の訂正不可能なエラーに対する耐性の強い制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の制御装置は、第１のメモリ部と、前記第１のメモリ部の記憶容量以上の記憶容量を持つ第２のメモリ部と、前記第１のメモリ部及び前記第２のメモリ部にそれぞれ同一のデータを書き込むメモリ制御手段と、前記第１のメモリ部及び前記第２のメモリ部を構成するメモリに訂正不可能なエラーが存在するか否かを検出し、訂正不可能なエラーが存在するメモリを縮退させる縮退手段と、前記縮退手段によりメモリが縮退された場合に、前記第１のメモリ部若しくは前記第２のメモリ部の一部若しくは全部を構成して前記メモリ制御手段によりデータが書き込まれる予備用メモリ部とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、訂正不可能なエラーの検出されたメモリが縮退された場合でも、ミラー機能を提供してＯＳ起動後の訂正不可能なエラーに対する耐性の強い制御装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の制御装置について、図面を参照しながら説明する。
【実施例１】
【００１０】
図1は、本発明の制御装置の実施例であるサーバの構成を示す図である。サーバ１０は、ＣＰＵ１１ａ及びＣＰＵ１１ｂの２つのＣＰＵから構成されるＣＰＵ部１１と、ＭＣＨ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１２（メモリ制御手段、縮退手段）と、ＭＣＨ１２に専用のハブインタフェースを介して接続されるＩＣＨ（Ｉ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１３と、ＩＣＨ１３に接続される不揮発性のメモリであり、ＢＩＯＳ１４ａを格納するＢＩＯＳ−ＲＯＭ１４と、ＭＣＨ１２のチャネルＡに接続されるメモリ１Ａ、メモリ２Ａ、及びメモリ３Ａと、ＭＣＨ１２のチャネルＢに接続されるメモリ１Ｂ、メモリ２Ｂ、及びメモリ３Ｂとから構成される。
【００１１】
ＣＰＵ部１１は、先述の通り２つのＣＰＵ１１ａ及びＣＰＵ１１ｂから構成される。サーバ１０の動作を制御するために設けられたプロセッサであり、ＢＩＯＳ−ＲＯＭ１４に格納されたＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１４ａを実行するとともに、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ、図示せず）から読み込まれるＯＳ及び各種アプリケーションプログラムを実行する。
【００１２】
ＭＣＨ１２は、従来のノースブリッジの役割と同様、ＣＰＵ部１１のインタフェースの役割を果たし、専用のハブインタフェースを介してＩＣＨ１３が接続される。また、ＭＣＨ１２はメモリ１Ａ乃至３Ａ、１Ｂ乃至３Ｂを制御するメモリコントローラの役割を果たす。後に詳述するが、メモリ１Ａ乃至３Ａ、１Ｂ乃至３Ｂへのメモリリサイズ機能、ミラー＋スペア機能、ミラー機能、オンラインスペア機能、等のメモリ制御機能は、ＣＰＵ部１１で実行されるＢＩＯＳ１４ａの制御の下で、ＭＣＨ１２が行う。尚図示していないが、ＭＣＨ１２にはこの他、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ、図示せず）も接続される。
【００１３】
ＩＣＨ１３は、ＰＣＩバスやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）等が接続される。また、ＢＩＯＳ１４ａを格納する不揮発性のメモリであるＢＩＯＳ−ＲＯＭ１４も、ＩＣＨ１３に接続される。
【００１４】
メモリ１Ａ乃至メモリ３Ａ、メモリ１Ｂ乃至メモリ３Ｂは、其々ＭＣＨ１２のチャネルＡ、チャネルＢに接続されるメモリである。各メモリの記憶容量は必ずしも同一である必要は無いが、本実施例では、其々のメモリの記憶容量を同一とする。メモリ１Ａ及びメモリ１Ｂでバンク１（予備用メモリ部）、メモリ２Ａ及びメモリ２Ｂでバンク２（第２のメモリ部）、メモリ３Ａ及びメモリ３Ｂでバンク３（第１のメモリ部）を構成する。
【００１５】
先述の通り、これらのメモリに対し、ＭＣＨ１２は、ＢＩＯＳ１４ａの制御の下、メモリリサイズ機能、ミラー機能、オンラインスペア機能、ミラー＋スペア機能を提供する。尚、サーバ１０において、ミラー機能、オンラインスペア機能、ミラー＋スペア機能については図２に示すようなＢＩＯＳ１４ａの設定画面において、ユーザが選択的に利用することができる。尚、図２に示す「Ｄｉｓａｂｌｅｄ」をユーザが選択した場合には、ミラー機能、オンラインスペア機能、ミラー＋スペア機能のいずれの機能も有効とせず、即ちメモリに冗長性を持たせずに動作させる。
【００１６】
メモリリサイズ機能とは、サーバ１０への電源投入時、即ちＯＳ起動前にメモリの初期化及び検査を行う際に訂正不可能なエラーが検出された場合に、当該メモリを縮退させる機能である。メモリリサイズ機能については、ミラー機能、オンラインスペア機能、ミラー＋スペア機能のいずれがユーザにより選択されていたとしても有効とされる。尚ここで、訂正不可能なエラーとは、メモリを構成する異なるメモリチップで発生する２ビット以上のエラーを指す。１つのメモリチップ内だけで発生するエラー、若しくは全体で１ビットまでのエラーに関しては、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）で訂正することが可能である。
【００１７】
ミラー機能とは、メモリを二重化構成とする機能であり、サーバ１０においては、例えばバンク３とバンク２を二重化構成とし、メモリ３Ａとメモリ２Ｂ、メモリ３Ｂとメモリ２Ａにそれぞれ同一のデータを書き込む。このように二重化を図っておけば、例えばメモリ３Ａのあるアドレスに訂正不可能なエラーが発生したとしても、メモリ２Ｂからデータを読み出せばよいので、信頼性が高い。尚、ミラー機能を有効としている場合には、バンク１を構成するメモリ１Ａ及びメモリ１Ｂは使用しない。
【００１８】
オンラインスペア機能とは、普段から使用される現用メモリに加えてＯＳ起動後に、稼動しているメモリで訂正可能なエラーが閾値以上発生した場合に、当該メモリの内容をスペアメモリにコピーし、その後、エラーの発生したメモリを縮退させて稼動を継続させる機能である。例えば、メモリ２Ａ、メモリ２Ｂ、メモリ３Ａ、メモリ３Ｂを現用メモリとして、メモリ１Ａ、メモリ１Ｂをスペアメモリとして稼動させている場合、メモリ２Ａで訂正可能なエラーが所定回数以上発生した場合には、メモリ２Ａのデータの内容をメモリ１Ａにコピーして、その後、メモリ２Ａを縮退させる。
【００１９】
ミラー＋スペア機能とは、メモリリサイズ機能によりメモリが縮退された場合にも、ミラー機能を有効とすることのできる機能である。図３は、ミラー＋スペア機能における、ＭＣＨ１２の処理の流れを示すフローチャートである。
【００２０】
サーバ１０へ電源が投入されると、ＭＣＨ１２はＢＩＯＳ１４ａの制御の下、バンク２及びバンク３に対して、メモリチェックを行い、エラーの検出を行う（Ｓ３０１）。もし、訂正不可能なエラーがバンク２及びバンク３のいずれでも検出されなければ（Ｓ３０２のＮｏ）、ＭＣＨ１２はＢＩＯＳ１４ａの制御の下、バンク２及びバンク３をミラー構成とし（Ｓ３０３）、ＢＩＯＳ１４ａはＯＳを起動させる。
【００２１】
もし、バンク２若しくはバンク３のいずれかを構成するメモリに訂正不可能なエラーのあるメモリが存在すれば（Ｓ３０２のＹｅｓ）、ＭＣＨ１２はＢＩＯＳ１４ａの制御の下当該メモリを含むメモリバンクを縮退させ（Ｓ３０４）、残ったバンク及びバンク１でミラー構成とする（Ｓ３０５）。例えば、メモリ２Ｂで訂正不可能なエラーが検出された場合には、バンク２を縮退させ、バンク３及びバンク１で二重化構成とする。ミラー構成とした後、ＢＩＯＳ１４ａはＯＳを起動させる。
【００２２】
以上説明したように、本実施例によれば、たとえ訂正不可能なエラーの検出されたメモリがメモリリサイズ機能により縮退された場合でも、スペアメモリによりミラー機能を提供することができる。これにより、ＯＳ起動後の訂正不可能なエラーに対する耐性を強めることができ、サーバ１０の稼働率を上げることが可能である。
【００２３】
また、本実施例によれば、ユーザがミラー＋スペア機能の他に、ミラー機能、スペア機能等も設定することが可能であるため、よりユーザはサーバ１０の使用目的に応じた設定自由度が高くなる。
【００２４】
本実施例のミラー＋スペア機能では、エラーの発生したメモリの存在するバンクを縮退させたが、エラーの発生したメモリのみを縮退させることも可能である。例えば、メモリ２Ｂで訂正不可能なエラーが検出された場合には、メモリ２Ｂのみを縮退させ、代わりにメモリ１Ｂとメモリ２Ｂ、及びバンク３でミラー機能を提供することが可能である。
【００２５】
また、本実施例では、メモリ１Ａ乃至３Ａ、メモリ１Ｂ乃至３Ｂの記憶容量は同一としたが、先述の通り必ずしもその必要はない。しかしながら、全メモリの記憶容量が同一であれば、ミラー機能提供時におけるメモリの使用効率が上昇する。また、スペアメモリとして用いるバンク１を構成する其々のチャネルのメモリの記憶容量は、バンク２及びバンク３を構成する其々のチャネルのメモリの記憶容量の内、最大のものと同一若しくはそれ以上であることが望ましい。これにより、バンク２及びバンク３のいずれのバンクを縮退させた場合であっても、バンク１をスペアとして使用できるようになる。
【００２６】
尚、本実施例では、バンク１を予備用メモリ部、バンク２を第２のメモリ部、バンク３を第１のメモリ部として説明を行ったが、この組み合わせは任意であり、例えばバンク１を第１のメモリ部、バンク２を第２のメモリ部、バンク３を予備用メモリ部とすることも可能である。また、本実施例では、第１のメモリ部及び第２のメモリ部を構成するバンク数はそれぞれ１つであるが、例えば第１のメモリ部を構成するバンク数、及び第２のメモリ部を構成するバンク数を其々２つとする等、其々を構成するバンク数を複数個とすることも可能である。
【００２７】
本実施例では、制御装置の実施例としてサーバ１０を例にとって説明したが、一般のパーソナルコンピュータ等に適用することもできる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施例１に係るサーバの構成を示す図。
【図２】本発明の実施例１に係るサーバのＢＩＯＳの設定画面を示す図。
【図３】本発明の実施例１に係るサーバが提供するミラー＋スペア機能におけるＭＣＨの処理の流れを示す図。
【符号の説明】
【００２９】
１１・・・ＣＰＵ部
１１ａ、１１ｂ・・・ＣＰＵ
１２・・・ＭＣＨ
１３・・・ＩＣＨ
１４・・・ＢＩＯＳ−ＲＯＭ
１Ａ、１Ｂ、２Ａ、２Ｂ、３Ａ、３Ｂ・・・メモリ
【図１】
2006277612.tif 000003
【図２】
2006277612.tif 000004
【図３】
2006277612.tif 000005