(57)【要約】【課題】  制御要素であるメモリに異常が生じた場合でも、その後の迅速かつ確実な再起動が可能なデータ処理装置及びその制御方法を提供。【解決手段】  少なくとも１つが制御要素として使用される複数のメモリを搭載する。起動時に、制御要素として使用されるメモリの異常を検出すると、各メモリのうち、異常が検出されたメモリを除く他のメモリを新たな制御要素として設定し、起動を継続する。【選択図】      図３
2009015525.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つが制御要素として使用される複数のメモリと、
起動時、前記制御要素として使用されるメモリの異常を検出する検出手段と、
前記検出手段で異常が検出されたとき、前記各メモリのうち、異常が検出されたメモリを除く他のメモリを新たな制御要素として設定し起動を継続する制御手段と、
を備えていることを特徴とするデータ処理装置。
【請求項２】
前記異常が検出されたメモリを報知する報知手段、をさらに備えていることを特徴とするデータ処理装置。
【請求項３】
少なくとも１つが制御要素として使用される複数のメモリを備えたデータ処理装置において、
起動時、前記制御要素として使用されるメモリの異常を検出するステップと、
前記異常が検出されたとき、前記各メモリのうち、異常が検出されたメモリを除く他のメモリを新たな制御要素として設定し起動を継続するステップと、
を備えていることを特徴とするデータ処理装置の制御方法。
【請求項４】
前記異常が検出されたメモリを報知するステップ、をさらに備えていることを特徴とするデータ処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの異常に対処したデータ処理装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータを利用したシステムは、交通管制システムや金融システムをはじめ、産業のいたるところに浸透している。そのため、システムを構成する各種コンピュータに故障等が生じた際、システムを停止することなく故障箇所の修復を行えるような、高い信頼性を備えたコンピュータへのニーズが益々高まっている。
【０００３】
このような要求に応えるべく、種々の信頼性向上手段を講じたコンピュータシステムが提案されている。例えば特許文献１に記載の高信頼化（フォールトトレランス：Fault  Tolerance）コンピュータシステムでは、プロセッサ及び入出力装置の高信頼化を図るため、特別な周辺回路を用いずに一般に流通している汎用プロセッサを用いて、汎用計算機と共通性が高く、共同開発可能で性能価格性の高い高信頼化コンピュータシステムを実現する手法が提案されている。
【特許文献１】特開平９−３４８０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、運用中のシステムが、構成要素である各デバイスの障害による停止でダウンすることが、多大な損失を生むようなものであるとき、例えばメモリモジュールやＣＰＵ等のあらゆる構成要素の高信頼化が必要となることは言うまでもない。
【０００５】
本発明はこのような事情に基づいてなされたものであり、その目的は、制御要素であるメモリに異常が生じた場合でも、その後の迅速かつ確実な再起動が可能なデータ処理装置及びその制御方法を提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明のデータ処理装置は、少なくとも１つが制御要素として使用される複数のメモリと、起動時、前記制御要素として使用されるメモリの異常を検出する検出手段と、前記検出手段で異常が検出されたとき、前記各メモリのうち、異常が検出されたメモリを除く他のメモリを新たな制御要素として設定する制御手段と、を具備したことを特徴とするものである。
【発明の効果】
【０００７】
かかる手段を講じた本発明によれば、制御要素であるメモリに異常が生じた場合でも、その後の迅速かつ確実な再起動が可能なデータ処理装置及びその制御方法を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明を実施するための最良の形態について、図面を用いて説明する。  
図１は、本実施の形態にかかるデータ処理装置１の要部構成を示すブロック図である。データ処理装置１は、制御の中枢としてＣＰＵ２を搭載している。このＣＰＵ２に対し、データ受渡しの管理等の情報流通を制御するチップセット３、少なくとも１つが制御要素（いわゆるメインメモリ）として使用されるデータ記憶用の複数のメモリモジュール４ａ，４ｂ、画像の処理を行う画像処理カード５、拡張ボード等を装着するための複数のＰＣＩスロット６、ＢＩＯＳ−ＲＯＭ（Basic  Input/Output  System−Read  Only  Memory）７、ＮＶＲＡＭ（Non  Volatile  Random  Access  Memory）１２などを、例えばＰＣＩバス等のバスライン８を介して接続している。
【０００９】
チップセット３は、ＣＰＵ２とバスライン８とを接続するために用いられるノースブリッジ９と、各種コントローラ等の機能を有するサウスブリッジ１０とを備えている。画像処理カード５には、情報を出力するためのディスプレイ１１が接続されている。ディスプレイ１１は、後述の障害が発生したメモリモジュール４ａ及びその交換要請等を表示する。
【００１０】
ノースブリッジ９は、ＯＳ制御によりアプリケーションを起動し、データ処理を実行することができるよう、ＣＰＵ２に対する各種機器の接続を賄う。ＢＩＯＳ−ＲＯＭ７には、ＰＯＳＴ（Power-On  Self  Test）７１と、ＢＩＯＳドライバ７２と、ＶＧＡ（Video  Graphics  Array）ドライバ７３とが記録されている。ＰＯＳＴ７１は、ＢＩＯＳがシステム電源投入時に各ハードウェアを初期化する際に実行されるテストプログラムで、異常が検出された場合、その内容をディスプレイ１１へ表示したり、又はＢｅｅｐ音の出力等によりユーザーに報知する。ＶＧＡドライバ７３は、ＶＧＡを制御する。
【００１１】
ＮＶＲＡＭ１２は、ＳＲＡＭ（Static  Random  Access  Memory）に小さな電池を持たせることにより、外部から電源が供給されない間も記憶情報を保持する仕組みを備えている。ＮＶＲＡＭ１２には、ＢＩＯＳの設定情報及びエラー発生情報等が記録される。
【００１２】
そして、ＣＰＵ２は、主要な機能として、次の（１）〜（３）の機能を備えている。  
（１）起動時、メモリモジュール４ａ，４ｂのうち、制御要素として使用されるいずれか一方のメモリモジュールの異常を検出する検出手段。
【００１３】
（２）上記検出手段で異常が検出されたとき、メモリモジュール４ａ，４ｂのうち、異常が検出されたメモリモジュールを除く他のメモリモジュールを新たな制御要素として設定し起動を継続する制御手段。
【００１４】
（３）上記異常が検出されたメモリモジュールをディスプレイ１１の表示により報知する報知手段。
【００１５】
図２の流れ図により、基本的な動作について説明する。  
まず、データ処理装置１の筐体に設けられた電源投入釦の押下等により、ＢＩＯＳの制御下にて起動処理を実行する（ＳＴ１０１）。この起動処理では、上記メモリモジュール４ａ，４ｂのうち、制御要素として使用される例えばメモリモジュール４ａの異常を検出する。異常があれば起動を停止し、異常がなければ起動を継続する。そして起動が完了すると、ＯＳを起動し（ＳＴ１０２）、通常のデータ処理を実行する通常処理に入る（ＳＴ１０３）。この通常処理では、メモリモジュール４ａの致命的な障害の発生を監視する（ＳＴ１０４）。障害の発生がなければ（ＳＴ１０４のＮＯ）ユーザーからのデータ処理装置１に対する終了指示を待つ（ＳＴ１０５）。終了指示を受けた場合（ＳＴ１０５のＹＥＳ）、終了処理を実行する。
【００１６】
メモリモジュール４ａに致命的な障害が発生した場合（ＳＴ１０４のＹＥＳ）、例えば使用可能であるメモリ領域にデータの書込みが不可能となった場合など、システムロックやリブート等を生じてしまう。このとき、ＢＩＯＳの制御により再起動処理を実行する（ＳＴ１０７）。
【００１７】
図３の流れ図により、再起動処理の具体例について説明する。再起動処理は、上記ＳＴ１０１の起動処理と同じであり、先ずメモリモジュール４ａの異常を検出する（ＳＴ２０１）。この異常検出は、メモリモジュール４ａの不良箇所を発見し、その不良箇所のメモリアドレスを特定する処理を含んでいる。特定した不良箇所のメモリアドレスは、ＮＶＲＡＭ１２に記録する。
【００１８】
メモリモジュール４ａに異常がない場合（ＳＴ２０２のＮＯ）、そのまま起動を継続し（ＳＴ２０３）、各デバイスの診断及び初期化等を行う。そして、起動の完了後、ＯＳの制御下にて上記ＳＴ１０２〜１０５の処理を再び実行する。
【００１９】
ただし、上記した致命的な障害の発生に関わる何らかの異常がメモリモジュール４ａにある場合には（ＳＴ２０２のＹＥＳ）、そのメモリモジュール４ａを制御対象から切離す（ＳＴ２０４）。この切離しは、例えばメモリモジュール４ａ及びチップセット３がＳＰＤ（Serial  Presence  Detect）に対応している場合、ＳＰＤより取り出される障害の発生したメモリモジュール４ａのメモリクロックを無視し、使用不可とすることにより行う。そして、この切離しに伴い、他方のメモリモジュール４ｂを新たな制御要素として設定する（ＳＴ２０５）。
【００２０】
なお、切離したメモリモジュール４ａの識別子をＮＶＲＡＭ１２に記録する。この識別子は、複数あるメモリモジュール４ａ，４ｂの中から一つを特定するに足るものであれば如何様であってもよい。例えば、本実施形態のようにデータ処理装置１が２つのメモリモジュール４ａ，４ｂを搭載可能であるとき、一方のメモリモジュール４ａの識別子を“０”、他方のメモリモジュール４ｂの識別子を“１”として、ＮＶＲＡＭ１２に記録された変数Ｘに切離し処理を行った方を記録する。３つ以上のメモリモジュールが搭載可能である場合には、例えば識別子を用いず、ＮＶＲＡＭ１２にメモリモジュールの搭載可能数分の変数Ｘ１，Ｘ２，Ｘ３，…を記録する。そして“０”を正常（致命的な障害なし）、“１”を異常（致命的な障害有り）として各メモリモジュールの状態を記録する。このようにすれば、いくつかのメモリモジュールに致命的な障害が発生した際においても、それらを上記ＳＴ２０４の処理にて制御対象から切離すことで、残りの正常なメモリモジュールを用いてデータ処理装置１の稼動を継続できる。
【００２１】
メモリモジュール４ｂを新たな制御要素として設定した後、メモリモジュール４ａが異常であることをディスプレイ１１の表示によって報知する（ＳＴ２０６）。例えば、メモリモジュール４ａのＥＥＰＲＯＭ（Electronically  ERASABLE and  Programmable  Read  Only  Memory）に記録された型番をＳＰＤにより読み出し、それを表示する。この表示に際しては、メモリモジュール４ａの変換が必要な旨の文字情報もいっしょに表示する。ユーザーは、状況に応じてデータ処理装置１の動作を終了し、メモリモジュール４ａを交換するか、又はデータ処理装置１を終了せずに処理を実行するかを決定することができる。
【００２２】
制御要素として新たに設定されたメモリモジュール４ｂに対しても上記ＳＴ２０１による異常検出が実行されるが、メモリモジュール４ｂに異常がなければ（ＳＴ２０２のＮＯ）、そのまま起動を継続することとなる（ＳＴ２０３）。
【００２３】
このように、メモリモジュール４ａに致命的な障害が発生して、一旦はシステムロックやリブート等の異常現象が発生しても、メモリモジュール４ｂをメモリモジュール４ａに代わる新たな制御要素として設定することにより、迅速かつ確実な再起動が可能となり、業務の停滞を回避することができる。メモリモジュール４ａを交換する時期は、ユーザーが最適である時期を選択すればよい。
【００２４】
このような複数のメモリモジュール４ａ，４ｂによる起動バックアップ機能を備えた高信頼性システムは、システムダウンによる損害が大きいシステム運用形態に対して特に有効である。例えば、ＰＯＳシステムにおける商品登録業務が挙げられる。ＰＯＳシステムにおける商品登録業務においては、システムダウンが発生した際、業務の続行が困難となる場合が多数である。他にも道路交通システムや金融管理システムなど生活の根幹に関わるシステムにも本発明は有効である。
【００２５】
なお、この実施の形態ではデータ処理装置１に２つのメモリモジュール４ａ，４ｂを搭載した場合を例に説明したが、２つに限らず、３つ以上でもよい。
【００２６】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全体構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合せてもよい。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態におけるデータ処理装置の要部構成を示すブロック図。
【図２】同データ処理装置の基本的な動作を説明するための流れ図。
【図３】同データ処理装置の起動（再起動）処理を説明するための流れ図。
【符号の説明】
【００２８】
１…データ処理装置、２…ＣＰＵ、３…チップセット、４ａ，４ｂ…メモリモジュール、５…画像処理カード、６…ＰＣＩスロット、７…ＢＩＯＳ−ＲＯＭ、８…バスライン、９…ノースブリッジ、１０…サウスブリッジ、１１…ディスプレイ、１２…ＮＶＲＡＭ、７１…ＰＯＳＴ、７２…ＢＩＯＳドライバ、７３…ＶＧＡドライバ
【図１】
2009015525.tif 000003
【図２】
2009015525.tif 000004
【図３】
2009015525.tif 000005