(57)【要約】  サーバなどのコンピュータを冗長構成にして高信頼化する場合に、高速にデータを永続化することが可能な構成を実現する。実施形態の電子回路基板は、不揮発メモリと読み出し部と切替部と通信部とを備える。読み出し部は、不揮発メモリに記憶されたデータを読み出す。切替部は、第１電源から電力が供給されているときは、不揮発メモリに対するデータの読み書きを行うホスト装置と不揮発メモリとが接続される第１の状態に切り替え、第２電源から電力が供給されているときは、ホスト装置と不揮発メモリとが接続されず、かつ、読み出し部と不揮発メモリとが接続される第２の状態に切り替える。通信部は、第２電源から電力が供給されているときに、読み出し部が不揮発メモリから読み出したデータを外部装置へ送信する。
2017009982.tif 000002
【特許請求の範囲】
【請求項１】
不揮発メモリと、
前記不揮発メモリに記憶されたデータを読み出す読み出し部と、
第１電源から電力が供給されているときは、前記不揮発メモリに対するデータの読み書きを行うホスト装置と前記不揮発メモリとが接続される第１の状態に切り替え、第２電源から電力が供給されているときは、前記ホスト装置と前記不揮発メモリとが接続されず、かつ、前記読み出し部と前記不揮発メモリとが接続される第２の状態に切り替える切替部と、
前記第２電源から電力が供給されているときに、前記読み出し部が前記不揮発メモリから読み出したデータを外部装置へ送信する通信部と、を備える、
電子回路基板。
【請求項２】
前記切替部は、前記第１電源からの電力の供給が停止し、かつ、前記第２電源から電力が供給されているときは、前記第２の状態に切り替える、
請求項１に記載の電子回路基板。
【請求項３】
前記切替部は、前記ホスト装置が異常であり、かつ、前記第２電源から電力が供給されているときは、前記第２の状態に切り替える、
請求項１に記載の電子回路基板。
【請求項４】
前記読み出し部は、前記第２の状態に切り替わった後に、前記不揮発メモリに記憶されたデータを読み出す、
請求項１に記載の電子回路基板。
【請求項５】
前記読み出し部は、前記第２の状態に切り替わった後に、前記通信部が、前記不揮発メモリに記憶されたデータを要求するデータ要求を前記外部装置から受信すると、前記不揮発メモリに記憶されたデータを読み出す、
請求項４に記載の電子回路基板。
【請求項６】
前記通信部は、前記データ要求に対する応答として、前記読み出し部が前記不揮発メモリから読み出したデータを前記外部装置へ送信する、
請求項５に記載の電子回路基板。
【請求項７】
前記不揮発メモリはＭＲＡＭである、
請求項１に記載の電子回路基板。
【請求項８】
前記第２電源からの電力を無線で受信し、受信した電力を前記電子回路基板に供給する無線給電部をさらに備える、
請求項１に記載の電子回路基板。
【請求項９】
前記通信部は、前記読み出し部が前記不揮発メモリから読み出したデータを、無線で前記外部装置へ送信する、
請求項１に記載の電子回路基板。
【請求項１０】
前記不揮発メモリは、
揮発メモリと、
前記第１電源から供給される電力を蓄える蓄電部と、を含み、
前記第１電源からの電力の供給が停止した後、または、前記ホスト装置が異常であるときは、前記第２電源である前記蓄電部に蓄えられた電力が前記電子回路基板に供給される、
請求項１に記載の電子回路基板。
【請求項１１】
前記通信部は、前記読み出し部が前記不揮発メモリから読み出したデータと、前記電子回路基板と前記ホスト装置とを含む情報処理装置の状態を復元するための復元情報を特定する復元特定情報と、を前記外部装置へ送信する、
請求項１に記載の電子回路基板。
【請求項１２】
前記切替部は、メモリバスを介して前記ホスト装置と接続される、
請求項１に記載の電子回路基板。
【請求項１３】
前記通信部は、イーサネットに従った通信線を介して前記外部装置と接続される、
請求項１に記載の電子回路基板。
【請求項１４】
揮発メモリと、
不揮発メモリと、
第１電源から供給される電力を蓄える蓄電部と、
前記揮発メモリに記憶されたデータを読み出す第１の読み出し部と、
前記不揮発メモリに記憶されたデータを読み出す第２の読み出し部と、
第１電源から電力が供給されているときは、前記揮発メモリに対するデータの読み書きを行うホスト装置と前記揮発メモリとが接続される第１の状態に切り替え、前記第１電源からの電力の供給が停止したときは、前記ホスト装置と前記揮発メモリとが接続されず、かつ、前記第１の読み出し部と前記揮発メモリとが接続される第２の状態に切り替える切替部と、
前記第２の状態に切り替わった後に、前記第１の読み出し部が前記揮発メモリから読み出したデータを前記不揮発メモリに書き込む書き込み部と、
第１電源からの電力の供給が停止しているときに、前記第２の読み出し部が前記不揮発メモリから読み出したデータを外部装置へ送信する通信部と、を備える、
電子回路基板。
【請求項１５】
不揮発メモリと、
前記不揮発メモリに対するデータの読み書きを行うホスト装置と、
前記不揮発メモリに記憶されたデータを読み出す読み出し部と、
第１電源から電力が供給されているときは、前記ホスト装置と前記不揮発メモリとが接続される第１の状態に切り替え、第２電源から電力が供給されているときは、前記ホスト装置と前記不揮発メモリとが接続されず、かつ、前記読み出し部と前記不揮発メモリとが接続される第２の状態に切り替える切替部と、
前記第２電源から電力が供給されているときに、前記読み出し部が前記不揮発メモリから読み出したデータを外部装置へ送信する通信部と、を備える、
情報処理装置。
【請求項１６】
揮発メモリと、
不揮発メモリと、
第１電源から供給される電力を蓄える蓄電部と、
前記揮発メモリに対するデータの読み書きを行うホスト装置と、
前記揮発メモリに記憶されたデータを読み出す第１の読み出し部と、
前記不揮発メモリに記憶されたデータを読み出す第２の読み出し部と、
前記第１電源から電力が供給されているときは、前記ホスト装置と前記揮発メモリとが接続される第１の状態に切り替え、前記第１電源からの電力の供給が停止したときは、前記ホスト装置と前記揮発メモリとが接続されず、かつ、前記第１の読み出し部と前記揮発メモリとが接続される第２の状態に切り替える切替部と、
前記第２の状態に切り替わった後に、前記第１の読み出し部が前記揮発メモリから読み出したデータを前記不揮発メモリに書き込む書き込み部と、
第１電源からの電力の供給が停止しているときに、前記第２の読み出し部が前記不揮発メモリから読み出したデータを外部装置へ送信する通信部と、を備える、
情報処理装置。
【請求項１７】
ホスト装置と外部装置に接続され、
不揮発メモリを備え、
第１電源から電力が供給されているときは、前記ホスト装置が前記不揮発メモリに対してデータの読み書きを行い、
第２電源から電力が供給されているときは、前記不揮発メモリに記憶されているデータを前記外部装置へ送信する、
電子回路基板。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、電子回路基板および情報処理装置に関する。
【背景技術】
【０００２】
情報処理システムで利用されるサーバコンピュータの高可用性を実現するために、メインサーバと、バックアップサーバと、メインサーバとバックアップサーバの両方からネットワークを介してアクセスできる共有ストレージと、を備えた構成が知られている。この構成では、メインサーバは、障害が発生した後の状態復旧に必要なデータを共有ストレージに記録しながら処理を進める。そして、メインサーバに障害が発生した場合には、バックアップサーバが共有ストレージに記録された状態復旧に必要なデータを読み出して、メインサーバの障害発生前の状態を再現（復元）し、メインサーバに代わって処理を継続する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２８２７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＭＲＡＭやＰＣＭなどの高速な不揮発メモリは、ＤＲＡＭに近い動作速度を持ち、ＨＤＤやＳＳＤなどのように電源が切れても記録しているデータを保持し続ける不揮発性を持つ。従来よりも高速にデータを永続化するために、例えば上記共有ストレージの代わりに、このような不揮発メモリのチップをメインサーバに搭載することが考えられる。例えば不揮発メモリのチップをＤＩＭＭ（Dual  Inline  Memory  Module）などのメモリモジュールとしてプリント基板等のパッケージに搭載し、それをコンピュータのマザーボード（メインの基板）にソケット等を使って接続する形態や、コンピュータのプロセッサが搭載されているボード上に不揮発メモリチップを（直接半田付けして）搭載する形態などが考えられる。【０００５】
しかし、例えばＤＩＭＭなどのメモリモジュールは、それが搭載されたマザーボード（メインボード）からしかアクセスできないので、マザーボードが正常に動作している間しかデータを読み出すことができない。また、ボード上にプロセッサと不揮発メモリを搭載している場合も、ボードが正常に動作している間しか不揮発メモリのデータを読み出すことができない。そのため、メインサーバ（コンピュータ）内の高速な不揮発メモリに記録しているデータを、メインサーバの障害（異常）発生後に他のコンピュータ（バックアップサーバ）から読み出すことができない。したがって、サーバなどのコンピュータを冗長構成にして高信頼化する場合に、高速にデータを永続化することが可能な構成を実現することは困難である。
【課題を解決するための手段】
【０００６】
実施形態の電子回路基板は、不揮発メモリと読み出し部と切替部と通信部とを備える。読み出し部は、不揮発メモリに記憶されたデータを読み出す。切替部は、第１電源から電力が供給されているときは、不揮発メモリに対するデータの読み書きを行うホスト装置と不揮発メモリとが接続される第１の状態に切り替え、第２電源から電力が供給されているときは、ホスト装置と不揮発メモリとが接続されず、かつ、読み出し部と不揮発メモリとが接続される第２の状態に切り替える。通信部は、第２電源から電力が供給されているときに、読み出し部が不揮発メモリから読み出したデータを外部装置へ送信する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態の情報処理システムの構成の一例を示す図。
【図２】第１の実施形態のメモリモジュールの構成の一例を示す図。
【図３】第１の実施形態の電源管理部の構成の一例を示す図。
【図４】第１の実施形態の電源管理部の構成の一例を示す図。
【図５】第１の実施形態の電源管理部の構成の一例を示す図。
【図６】第１の実施形態の電源管理部の構成の一例を示す図。
【図７】第１の実施形態のデータアクセス部の構成の一例を示す図。
【図８】第１の実施形態の切替部の構成の一例を示す図。
【図９】第１の実施形態の制御部の動作例を示す図。
【図１０】変形例の制御部の動作例を示す図。
【図１１】変形例の切替部の構成の一例を示す図。
【図１２】第１の実施形態のメモリアクセス部の動作例を示す図。
【図１３】変形例の制御部の動作例を示す図。
【図１４】変形例のメモリモジュールの構成の一例を示す図。
【図１５】変形例のメインサーバの構成の一例を示す図。
【図１６】変形例のメモリデバイスとプロセッサとの接続例を示す図。
【図１７】第２の実施形態のメモリモジュールの構成の一例を示す図。
【図１８】第２の実施形態の電源管理部の構成の一例を示す図。
【図１９】第２の実施形態のデータアクセス部の構成の一例を示す図。
【図２０】第２の実施形態の制御部の動作例を示す図。
【図２１】変形例の制御部の動作例を示す図。
【図２２】変形例の切替部の構成の一例を示す図。
【図２３】変形例の制御部の動作例を示す図。
【図２４】変形例の制御部の動作例を示す図。
【図２５】変形例のメインサーバの構成の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る電子回路基板および情報処理装置の実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
図１は、本実施形態の情報処理システム１００の概略構成の一例を示す図である。図１に示すように、本実施形態の情報処理システム１００は、メインサーバ２００と、バックアップサーバ３００とを備え、これらは例えばイーサネット（登録商標）などのネットワーク４００を介して接続される。メインサーバ２００は、障害（異常）が発生した後の状態復旧に必要なデータをメインサーバ２００内の不揮発メモリ（後述）に記憶しながら処理を進める。メインサーバ２００に障害が発生した場合には、バックアップサーバ３００が、メインサーバ２００内の不揮発メモリに記憶されたデータを取得する。そして、バックアップサーバ３００は、その取得したデータを用いて、メインサーバ２００の障害発生前の状態を復元し、メインサーバ２００に代わって処理を継続する。
【００１０】
情報処理装置の一例であるメインサーバ２００は、不揮発メモリが少なくとも搭載された電子回路基板と、不揮発メモリに対するデータの読み書きを行うプロセッサ（ホスト装置の一例）とを備え、これらはメモリバスを介して接続（直結）される。図２は、メインサーバ２００に搭載された電子回路基板１の構成の一例を示す図である。ここでは、「電子回路基板」とは、１つの基板（例えばプリント基板）と、該基板上に搭載された電子回路（メモリ等を含む）との集合体を指す。以下の説明では、電子回路基板１を「メモリモジュール１」と称する場合がある。
【００１１】
メモリモジュール１は、従来のＤＲＡＭのＤＩＭＭなどと同じく、コンピュータのマザーボードにソケットで接続され、マザーボードの電源（図２の例では「第１電源３」と称する）から供給される電力で動作する。ホスト装置の一例であるプロセッサ２は、マザーボードに搭載され、メモリモジュール１に対するデータの読み書きを行うことができる。この例では、メモリモジュール１は、メモリバス４を介して、プロセッサ２が搭載されたマザーボードと接続される。メモリバス５は、プロセッサ２がメモリモジュール１に対するデータの読み書きを行うために必要な複数本の信号線で構成される。例えばメモリバス４は、ＤＲＡＭ互換のインタフェースに従った複数本の信号線で構成される。
【００１２】
また、メモリモジュール１は、第１電源３からの電力が供給される電源線（電源ライン）５と接続され、第１電源３とは異なる外部の電源（図２の例では「第２電源６」と称する）からの電力が供給される電源線７と接続される。さらに、メモリモジュール１は、外部装置（この例ではバックアップサーバ３００）との通信に用いられる通信線８と接続される。例えば通信線８は、コンピュータネットワークの規格の１つであるイーサネット（Ethernet（登録商標））に従った通信線であってもよい。
【００１３】
図２に示すように、メモリモジュール１は、不揮発メモリ１０と、電源管理部２０と、データアクセス部３０と、切替部４０とを備える。これらの各要素は、電子回路で構成される。この例では、１つの基板５０上に、不揮発メモリ１０、電源管理部２０、データアクセス部３０、および、切替部４０の各々の機能を実現するための電子回路が搭載（形成）される。また、説明の便宜上、図２の例では、本実施形態に関する機能を主に例示しているが、電子回路基板１が有する機能は、これらに限られるものではない。
【００１４】
本実施形態では、不揮発メモリ１０は、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）で構成されるが、これに限られるものではない。例えば、不揮発メモリ１０は、ＰＣＭ（Phase  Change  Memory）、Ｍｅｍｒｉｓｔｏｒで構成されてもよい。要するに、メモリバス４に直結され、プロセッサ２からランダムアクセス可能な様々な不揮発メモリ１０を用いることができる。
【００１５】
電源管理部２０は、第１電源３からの電力、および、第２電源６からの電力を入力とし、入力された電力を、メモリモジュール１に供給する。つまり、電源管理部２０は、第１電源３および第２電源６のうちの何れかから電力が供給されている間は、メモリモジュール１内の各部（不揮発メモリ１０、データアクセス部３０、切替部４０等）に電力を供給する。
【００１６】
図３は、電源管理部２０の構成の一例を示す図である。図３の例では、電源管理部２０は、第１電源３からの電力が供給される電源線５と、メモリモジュール１内の各部に給電するための給電線２１との間に介在するダイオードＤ１を備える。また、電源管理部２０は、第２電源６からの電力が供給される電源線７と、給電線２１との間に介在するダイオードＤ２を備える。この構成によれば、第１電源３および第２電源６の何れかから電力が供給されていれば、メモリモジュール１内の各部に電力が供給される。
【００１７】
図３は、第１電源３と第２電源６が同じ電圧の電力を供給できる場合の構成であるが、外部電源である第２電源６の電圧がメモリモジュール１内で必要な電圧と異なる場合には、図４に示すように、ＤＣ／ＤＣコンバータ２２などの電圧調整回路を用いて、第２電源６の電圧をメモリモジュール１内で必要な電圧に変換する構成であってもよい。図４の例では、電源管理部２０は、第２電源６からの電力が供給される電源線７とダイオードＤ２との間に介在するＤＣ／ＤＣコンバータ２２を備えている。
【００１８】
また、例えばメモリモジュール１が２種類以上の電圧を必要とする場合には、図３や図４の構成の電源管理部２０を複数用いてもよい。このとき、外部の第２電源６から、複数の電圧と１対１に対応する複数の電力を供給するように実施しても良い。
【００１９】
また、例えば図５に示すように、第２電源６からは１種類の電圧の電力が供給され、その供給された電力を、電源管理部２０内の複数のＤＣ／ＤＣコンバータ（２２ａ，２２ｂ）の各々に入力し、各ＤＣ／ＤＣコンバータ（２２ａ，２２ｂ）から、互いに異なる電圧の電力を出力させることで、メモリモジュール１で必要な複数種類の電圧の電力を得ることもできる。
【００２０】
図５の例では、メモリモジュール１が必要とする電圧は、第１電圧と第２電圧の２種類であり、ＤＣ／ＤＣコンバータ２２ａは第１電圧の電力を出力し、ＤＣ／ＤＣコンバータ２２ｂは第２電圧の電力を出力するものとする。また、図５の例では、第１電圧の電力をメモリモジュール１内の各部に給電するための給電線２１ａと、第２電圧の電力をメモリモジュール１内の各部に給電するための給電線２１ｂとが設けられている。
【００２１】
また、図５の例では、第１電源３からは、複数種類の電圧（第１電圧、第２電圧）の電力が供給される。そして、電源管理部２０は、第１電源３からの第１電圧の電力が供給される電源線５ａと、給電線２１ａとの間に介在するダイオードＤ１１を備える。また、電源管理部２０は、ＤＣ／ＤＣコンバータ２２ａの出力側と給電線２１ａとの間に介在するダイオードＤ１２を備える。また、電源管理部２０は、第１電源３からの第２電圧の電力が供給される電源線５ｂと、給電線２１ｂとの間に介在するダイオードＤ１３を備える。さらに、電源管理部２０は、ＤＣ／ＤＣコンバータ２２ｂの出力側と給電線２１ｂとの間に介在するダイオードＤ１４を備える。以上のように電源管理部２０を構成してもよい。
【００２２】
なお、メモリモジュール１が搭載されたコンピュータ（情報処理装置）が正常に動作している間は、メモリモジュール１内の後述のデータアクセス部３０は動作する必要が無い。そのため、電源管理部２０は、データアクセス部３０に対しては、第２電源６から電力が供給されている間だけ電力を供給する構成であってもよい。図６は、この場合の電源管理部２０の構成の一例を示す図である。図６の例では、電源管理部２０は、第１電源３からの電力が供給される電源線５と、メモリモジュール１内のデータアクセス部３０以外の各部へ給電するための給電線２３との間に介在するダイオードＤ１を備える。また、電源管理部２０は、第２電源６の電圧をメモリモジュール１内で必要な電圧に変換するＤＣ／ＤＣコンバータ２２を備える。また、電源管理部２０は、ＤＣ／ＤＣコンバータ２２の出力側と、給電線２３との間に介在するダイオードＤ２を備える。さらに、図６の例では、ＤＣ／ＤＣコンバータ２２の出力側には、メモリモジュール１内のデータアクセス部３０に給電するための給電線２４が接続されている。以上のように電源管理部２０を構成してもよい。また、図６において、第１電源３と第２電源６が同じ電圧の電力を供給できる場合は、ＤＣ／ＤＣコンバータ２２は不要となる。
【００２３】
ここで、本実施形態においては、バックアップサーバ３００は、メインサーバ２００に対して、正常に動作しているか否かを確認するための状態確認信号を一定の間隔で送信し、状態確認信号の送信後、所定期間内に応答が返ってきた場合は、メインサーバ２００は正常に動作していると判断し、状態確認信号を送信後、所定期間にわたって応答を受信しなかった場合は、メインサーバ２００に障害（異常）が発生したと判断する。この例では、バックアップサーバ３００は、メインサーバ２００に障害が発生したと判断した場合、メモリモジュール１に対して、第２電源６からの電力供給を開始する制御を行う。そして、バックアップサーバ３００は、障害が発生したメインサーバ２００の状態を復元するために、メモリモジュール１に対して、不揮発メモリ１０に記憶されたデータを要求するデータ要求を送信する。
【００２４】
この例では、メモリモジュール１に対して第２電源６からの電力が供給されるということは、プロセッサ２が異常である（プロセッサ２に障害が発生している）ことを意味する。なお、第２電源６からの電力供給を制御する主体はバックアップサーバ３００に限られるものではなく、他の装置であってもよい。
【００２５】
図２の説明を続ける。データアクセス部３０は、プロセッサ２（メインサーバ２００）の障害発生後に、不揮発メモリ１０に記憶されたデータを読み出す機能や、その読み出したデータを外部装置（この例ではバックアップサーバ３００）へ送信する機能などを有する。図７は、データアクセス部３０の詳細な構成の一例を示す図である。図７に示すように、データアクセス部３０は、読み出し部３１と、制御部３２と、通信部３３とを備える。
【００２６】
読み出し部３１は、不揮発メモリ１０に記憶されたデータを読み出す。制御部３２は、データアクセス部３０の動作を統括的に制御する回路である。本実施形態では、制御部３２は、第１電源３から電力が供給されているときは、プロセッサ２と不揮発メモリ１０とが接続される第１の状態に切り替えるよう、後述の切替部４０を制御し、第２電源６から電力が供給されているときは、プロセッサ２と不揮発メモリ１０とが接続されず、かつ、読み出し部３１と不揮発メモリ１０とが接続される第２の状態に切り替えるよう、後述の切替部４０を制御する。
【００２７】
本実施形態では、データアクセス部３０の制御部３２は、第１電源３から供給される電力を検出する機能、および、第２電源６から供給される電力を検出する機能を有している。図７の例では、第１電源３に接続された電源線５から、基準電圧（典型的には「０Ｖ（ＧＮＤ）」）が供給される基準線（接地線）２５へ至る経路に抵抗ｒ１と抵抗ｒ２が直列に介在し、制御部３２は、抵抗ｒ１と抵抗ｒ２により降圧（分圧）された電圧を検出することで、第１電源３から電力が供給されているか否かを検出することができる。同様に、図７の例では、第２電源６に接続された電源線７から基準線２５へ至る経路に抵抗ｒ３と抵抗ｒ４が直列に介在し、制御部３２は、抵抗ｒ３と抵抗ｒ４により降圧（分圧）された電圧を検出することで、第２電源６から電力が供給されているか否かを検出することができる。
【００２８】
本実施形態では、制御部３２は、第１電源３から電力が供給されていることを検出した場合は、プロセッサ２の動作は正常であると判断し、第１の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する。また、制御部３２は、第２電源６から電力が供給されていることを検出した場合は、プロセッサ２に異常が発生したと判断し、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する。
【００２９】
また、制御部３２は、第２の状態に切り替わった後に（第２の状態へ切り替える制御を行った後に）、通信部３３が、不揮発メモリ１０に記憶されたデータを要求するデータ要求をバックアップサーバ３００から受信すると、読み出し部３１に対して、不揮発メモリ１０に記憶されたデータを読み出すことを指示する。この指示を受けた読み出し部３１は、不揮発メモリ１０に記憶されたデータを読み出す。つまり、本実施形態の読み出し部３１は、第２の状態に切り替わった後に、通信部３３が、不揮発メモリ１０に記憶されたデータを要求するデータ要求をバックアップサーバ３００から受信すると、不揮発メモリ１０に記憶されたデータを読み出す。制御部３２は、データ要求に対する応答として、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する。
【００３０】
通信部３３は、第２電源６からの電力が供給されているときに、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信する。本実施形態では、通信部３３は、制御部３２からの指示に従って、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信する。つまり、通信部３３は、データ要求に対する応答として、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信する。なお、本実施形態では、通信部３３は、イーサネットに従った通信線８を介してバックアップサーバ３００と接続されるが、これに限らず、通信部３３とバックアップサーバ３００との間の通信方法は任意である。例えばファイバーチャネル、ＳＰＩなどのシリアル通信、ＰＣＩ−ｅｘｐｒｅｓｓ、無線ＬＡＮなどの通信方法を用いることができる。また、例えばＰＯＥ（Power  over  Ethernet（登録商標））を使って、第２電源６からの電力供給とバックアップサーバ３００との通信線を１本のケーブルでまとめるように実施してもかまわない。
【００３１】
図２の説明を続ける。切替部４０は、制御部３２からの切替指示信号に従って、第１の状態または第２の状態に切り替える。要するに、切替部４０は、第１電源３から電力が供給されているときは、プロセッサ２と不揮発メモリ１０とが接続される第１の状態に切り替え、第２電源６から電力が供給されているときは、プロセッサ２と不揮発メモリ１０とが接続されず、かつ、読み出し部３１と不揮発メモリ１０とが接続される第２の状態に切り替える。
【００３２】
なお、例えば制御部３２は、第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されていることを検出した場合は、プロセッサ２に異常が発生したと判断し、第２の状態に切り替えることを指示する切替指示信号を切替部４０に送信する形態であってもよい。この形態においては、切替部４０は、第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されているときは、第２の状態に切り替えることになる。
【００３３】
ここで、例えばプロセッサ２に異常が発生していても、第１電源３からの電力供給が継続されるような場合も想定されるが、この例では、少なくとも第２電源６からの電力が供給されていれば、メインサーバ２００の異常を判断することができる。そのため、制御部３２は、第２電源６からの電力が供給されていることを検出した場合は、第１電源３からの電力が供給されているか否かに関わらず、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する形態であってもよい。本実施形態では、制御部３２は、第２電源６からの電力が供給されていることを検出した場合は、第１電源３からの電力が供給されているか否かに関わらず、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する形態であるとするが、これに限られるものではない。
【００３４】
図８は、切替部４０の構成の一例を示す図である。図８に示すように、切替部４０は、プロセッサ２と不揮発メモリ１０とを接続するか否かを切り替えるためのスイッチ素子Ｓ１と、データアクセス部３０（読み出し部３１）と不揮発メモリ１０とを接続するか否かを切り替えるためのスイッチ素子Ｓ２と、を備える。
【００３５】
図８の例では、スイッチ素子Ｓ２には、制御部３２からの切替指示信号が入力され、スイッチ素子Ｓ１には、ＮｏＴゲート４１で反転された切替指示信号が入力される。この例では、第１の状態に切り替えることを指示する切替指示信号はローレベルを示す信号であり、第２の状態に切り替えることを指示する切替指示信号はハイレベルを示す信号であるが、これに限られるものではない。例えば切替部４０に対して、ローレベルを示す切替指示信号が入力されると、スイッチ素子Ｓ１はオン状態に遷移し、スイッチ素子Ｓ２はオフ状態に遷移する。これにより、プロセッサ２と不揮発メモリ１０とが接続され、かつ、データアクセス部３０と不揮発メモリ１０とが接続されない第１の状態になる。また、例えば切替部４０に対して、ハイレベルを示す切替指示信号が入力されると、スイッチ素子Ｓ１はオフ状態に遷移し、スイッチ素子Ｓ２はオン状態に遷移する。これにより、プロセッサ２と不揮発メモリ１０とが接続されず、かつ、データアクセス部３０と不揮発メモリ１０とが接続される第２の状態になる。
【００３６】
なお、例えばスイッチ素子Ｓ１およびＳ２の各々は、ローレベルを示す切替指示信号が入力された場合にオン状態に遷移し、ハイレベルを示す切替指示信号が入力された場合にオフ状態に遷移する形態であってもよい。この形態では、第１の状態に切り替えることを指示する切替指示信号はハイレベルを示す信号であり、第２の状態に切り替えることを指示する切替指示信号はローレベルを示す信号である。
【００３７】
以上のように、本実施形態のメモリモジュール１は、ホスト装置（この例ではプロセッサ２）と外部装置（この例ではバックアップサーバ３００）に接続され、不揮発メモリ１００を備える。そして、第１電源３から電力が供給されているときは、ホスト装置が不揮発メモリ１００に対してデータの読み書きを行い、第２電源６から電力が供給されているときは、不揮発メモリ１００に記憶されているデータを外部装置へ送信する。
【００３８】
図９は、本実施形態の制御部３２の動作例を示すフローチャートである。最初に、メモリモジュール１に対して、第１電源３からの電力の供給が開始されると（電源ＯＮになると）、上述したように、制御部３２は、第１電源３から電力が供給されていることを検出し、第１の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する（ステップＳ１）。これにより、メモリモジュール１は第１の状態になる。次に、制御部３２は、第２電源６から電力が供給されていることを検出した場合（ステップＳ２：Ｙｅｓ）、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する（ステップＳ３）。これにより、メモリモジュール１は、第１の状態から第２の状態に切り替わる。
【００３９】
次に、制御部３２は、バックアップサーバ３００からのデータ要求を通信部３３で受信したか否かを確認する（ステップＳ４）。データ要求を通信部３３で受信した場合（ステップＳ４：Ｙｅｓ）、制御部３２は、読み出し部３１に対して、不揮発メモリ１０に記憶されたデータを読み出すことを指示する（ステップＳ５）。この指示を受けた読み出し部３１は、不揮発メモリ１０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、データ要求に対する応答として、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する（ステップＳ６）。この指示を受けた通信部３３は、制御部３２から渡されたデータ（読み出し部３１が不揮発メモリ１０から読み出したデータ）を、バックアップサーバ３００へ送信する。
【００４０】
以上に説明したように、本実施形態では、メインサーバ２００に搭載されたメモリモジュール１は、第１電源３から電力が供給されているときは、プロセッサ２と、メモリモジュール１内の不揮発メモリ１０とが接続される第１の状態に切り替え、第２電源６から電力が供給されているときは（プロセッサ２に異常が発生しているときは）、プロセッサ２と不揮発メモリ１０とが接続されず、かつ、メモリモジュール１内の読み出し部３１と不揮発メモリ１０とが接続される第２の状態に切り替える。そして、第２電源６からの電力が供給されているときに、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信するので、メインサーバ２００の障害（異常）発生後においても、メインサーバ２００内の不揮発メモリ１０に記録しているデータを他のコンピュータ（バックアップサーバ３００）から読み出すことができる。したがって、本実施形態によれば、サーバなどのコンピュータを冗長構成にして高信頼化する場合に、高速にデータを永続化することが可能な構成を実現できる。
【００４１】
（第１の実施形態の変形例１）
例えば制御部３２は、バックアップサーバ３００からのデータ要求を待たずに、自発的に不揮発メモリ１０に記憶されたデータを読み出してバックアップサーバ３００へ送る制御を行うこともできる。図１０は、本変形例の制御部３２の動作例を示すフローチャートである。図１０のステップＳ１１〜ステップＳ１３の処理内容は、図９のステップＳ１〜ステップＳ３の処理内容と同様である。図１０では、図９のステップＳ４の処理は省略され、制御部３２は、ステップＳ１３の後、読み出し部３１に対して、不揮発メモリ１０に記憶されたデータを読み出すことを指示する（ステップＳ１４）。この指示を受けた読み出し部３１は、不揮発メモリ１０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する（ステップＳ１５）。この指示を受けた通信部３３は、制御部３２から渡されたデータ（読み出し部３１が不揮発メモリ１０から読み出したデータ）を、バックアップサーバ３００へ送信する。
【００４２】
（第１の実施形態の変形例２）
例えば切替部４０は、図１１に示す構成であってもよい。図１１の例では、スイッチ素子Ｓ２には、第２電源６に接続された電源線７から基準線（接地線）２５へ至る経路に直列に介在する抵抗ｒ３と抵抗ｒ４により降圧（分圧）された電圧に応じた信号が入力され、スイッチ素子Ｓ１には、ＮｏＴゲート４１で反転された電圧に応じた信号が入力される。
【００４３】
図１１の例では、第２電源６からの電力が電源線７に供給される場合は、ハイレベルに相当する信号がスイッチ素子Ｓ２に入力され、ローレベルに相当する信号がスイッチ素子Ｓ１に入力されるので、スイッチ素子Ｓ２はオン状態に遷移し、スイッチ素子Ｓ１はオフ状態に遷移する。これにより、プロセッサ２と不揮発メモリ１０とが接続されず、かつ、データアクセス部３０と不揮発メモリ１０とが接続される第２の状態になる。また、第２電源６からの電力が電源線７に供給されない場合は、ローレベルに相当する電圧信号がスイッチ素子Ｓ２に入力され、ハイレベルに相当する電圧信号がスイッチ素子Ｓ１に入力されるので、スイッチ素子Ｓ２はオフ状態に遷移し、スイッチ素子Ｓ１はオン状態に遷移する。これにより、プロセッサ２と不揮発メモリ１０とが接続され、かつ、データアクセス部３０と不揮発メモリ１０とが接続されない第１の状態になる。図１１の例では、制御部３２は、切替部４０に対して、切替指示信号を入力する必要が無い（切替部４０を制御する必要が無い）。
【００４４】
図１２は、本変形例の制御部３２の動作例を示すフローチャートである。この例では、制御部３２は、第２電源６からの電力が供給されているか否かを確認し（ステップＳ２１）、第２電源６からの電力が供給されていることを検出した場合（ステップＳ２１：Ｙｅｓ）、バックアップサーバ３００からのデータ要求を通信部３３で受信したか否かを確認する（ステップＳ２２）。その後のステップＳ２３およびステップＳ２４の処理内容は、図９に示すステップＳ５およびステップＳ６の処理内容と同様である。
【００４５】
なお、上述の第１の実施形態の変形例１と同様に、制御部３２は、バックアップサーバ３００からのデータ要求を待たずに、自発的に不揮発メモリ１０に記憶されたデータを読み出してバックアップサーバ３００へ送る制御を行うこともできる。図１３は、この場合の制御部３２の動作例を示すフローチャートである。図１３のステップＳ３１の処理内容は、図１２のステップＳ２１の処理内容と同様である。図１３では、図１２のステップＳ２２の処理は省略され、制御部３２は、ステップＳ３１の後、読み出し部３１に対して、不揮発メモリ１０に記憶されたデータを読み出すことを指示する（ステップＳ３２）。この指示を受けた読み出し部３１は、不揮発メモリ１０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、読み出し部３１が不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する（ステップＳ３３）。この指示を受けた通信部３３は、制御部３２から渡されたデータ（読み出し部３１が不揮発メモリ１０から読み出したデータ）を、バックアップサーバ３００へ送信する。
【００４６】
（第１の実施形態の変形例３）
上述の第１の実施形態では、バックアップサーバ３００は、メインサーバ２００に障害が発生したと判断した場合、電子回路基板１に対して、第２電源６からの電力供給を開始する制御を行っている。すなわち、第２電源６からの電力の供給は、プロセッサ２が異常である場合に限って行われるが、これに限らず、例えば第２電源６からの電力の供給が常時行われる形態であってもよい。この形態では、制御部３２は、第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されていることを検出した場合に、プロセッサ２に異常が発生したと判断し、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信することができる。この例では、切替部４０の構成は図８の構成となり、切替部４０は、制御部３２からの切替指示信号に従って、第２の状態に切り替える。すなわち、切替部４０は、第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されているときは、第２の状態に切り替える形態であってもよい。
【００４７】
また、上述したように、例えばプロセッサ２に異常が発生していても、第１電源３からの電力供給が継続されるような場合も想定されるので、例えばバックアップサーバ３００が、メインサーバ２００の動作が正常であるか否かを監視し、メインサーバ２００に障害が発生した場合は、メインサーバ２００に障害が発生したことを示す異常情報を、通信部３３を介して制御部３２へ通知することもできる。この例では、制御部３２は、バックアップサーバ３００からの異常情報を通信部３３で受信し、かつ、第２電源６から電力が供給されていることを検出した場合は、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する。この例でも、切替部４０の構成は図８の構成となり、切替部４０は、制御部３２からの切替指示信号に従って、第２の状態に切り替える。すなわち、切替部４０は、プロセッサ２が異常であり、かつ、第２電源６から電力が供給されているときは、第２の状態に切り替える形態であってもよい。
【００４８】
（第１の実施形態の変形例４）
例えば第２電源６からメモリモジュール１への電力供給、および、外部装置（例えばバックアップサーバ３００）とメモリモジュール１との間の通信を、ワイヤレスで行う形態であってもよい。図１４は、本変形例のメモリモジュール１の構成の一例を示す図である。図１４に示すように、メモリモジュール１は、第２電源６からの電力を無線で受信し、受信した電力をメモリモジュール１に供給する無線給電部６０をさらに備える。この例では、無線給電部６０は、第２電源６から無線で受信した電力を、第２電源６からの電力として電源管理部２０へ供給する。なお、無線で電力を伝送する技術としては、公知の様々な技術を利用することができる。
【００４９】
また、図１４の例では、データアクセス部３０の通信部３３は、無線通信回路と、アンテナ７０とを含んで構成され、無線で外部装置と通信する。つまり、この例では、通信部３３は、読み出し部３１が不揮発メモリ１０から読み出したデータを、無線で外部装置へ送信する。この構成のメモリモジュール１は、従来のサーバのメモリスロットに挿すだけで、第２電源６からの電力供給や外部装置との通信を無線で行うことができるので、複雑な配線を不要にできる。
【００５０】
（第１の実施形態の変形例５）
上述の第１の実施形態では、メモリモジュール１と、プロセッサ２が搭載されたマザーボードは別々の基板であるが、これに限らず、例えば図１５に示すように、１つの基板（マザーボード）８０上に、上述したメモリモジュール１の各要素（不揮発メモリ１０、電源管理部２０、データアクセス部３０、切替部４０）、プロセッサ２等が搭載される形態であってもよい。
【００５１】
（第１の実施形態の変形例６）
例えばＤＲＡＭやＳＲＡＭのような揮発メモリをバッテリでバックアップする（電源がオフになってもバッテリから電力を供給する）ことで、疑似的に不揮発メモリとして用いる形態であってもよい。例えば図１６に示すように、不揮発メモリ１０の代わりに、揮発メモリ１１と、第１電源３から供給される電力を蓄える蓄電部１２とを設ける形態であってもよい。この例では、蓄電部１２は第２電源６として機能し、第１電源３からの電力の供給が停止した後、または、プロセッサ２が異常であるときは、第２電源６である蓄電部１２に蓄えられた電力がメモリモジュール１に供給される。揮発メモリ１１は、ＤＲＡＭやＳＲＡＭなどで構成される。蓄電部１２は、バッテリやキャパシタなどで構成される。
【００５２】
（第１の実施形態の変形例７）
例えば通信部３３は、読み出し部３１が不揮発メモリ１０から読み出したデータと、メモリモジュール１とプロセッサ２とを含むメインサーバ２００（情報処理装置の一例）の状態を復元するための復元情報を特定する復元特定情報と、をバックアップサーバ３００へ送信することもできる。
【００５３】
一般にサーバのマザーボードには複数のメモリモジュールを搭載できる。また、２つのメモリモジュールを組にして動作させてアクセスのバンド幅を大きくする場合もあるし、冗長化して信頼性を高める場合もある。そのため、本実施形態の複数のメモリモジュール１をメインサーバ２００に搭載していて、メインサーバ２００の障害発生後にバックアップサーバ３００がメインサーバ２００の各メモリモジュール１のデータを読み出しても、それぞれのメモリモジュール１がメインサーバ２００内でどのように使われていたかを示す情報、言い換えれば、メインサーバ２００の状態を復元するための復元情報（割り当てられていた物理アドレス、バンクのマッピング、ペアや冗長化など）が分からないと、メインサーバ２００の状態を復元することができない。本変形例では、復元情報を記憶する手段をメモリモジュール１内に設け、通信部３３が、不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信する際に、併せて復元情報を送信する形態であってもよい。さらに、メモリモジュール１は、プロセッサ２からの指示に応じて復元情報を書き込む手段を有することが望ましい。
【００５４】
また、例えばメモリモジュール１内に復元情報を保持するのではなく、メモリモジュール１は、該メモリモジュール１を一意に識別するメモリモジュール識別情報を保持し、通信部３３が、不揮発メモリ１０から読み出したデータをバックアップサーバ３００へ送信する際に、併せてメモリモジュール識別情報をバックアップサーバ３００へ送信する形態であってもよい。この場合、バックアップサーバ３００または特定のサーバが、メモリモジュール識別情報と復元情報との対応関係を示す対応情報を保持しており、バックアップサーバ３００は、メモリモジュール１から受信したメモリモジュール識別情報に対応する復元情報を特定する。バックアップサーバ３００は、特定した復元情報を用いて、メインサーバ２００の状態を復元することができる。
【００５５】
要するに、通信部３３は、読み出し部３１が不揮発メモリ１０から読み出したデータと、メモリモジュール１とプロセッサ２とを含むメインサーバ２００の状態を復元するための復元情報を特定する復元特定情報（復元情報そのものでもよいし、上述のメモリモジュール識別情報でもよい）と、をバックアップサーバ３００へ送信する形態であってもよい。
【００５６】
（第２の実施形態）
次に、第２の実施形態について説明する。上述の第１の実施形態と共通する部分については適宜に説明を省略する。図１７は、本実施形態のメモリモジュール１の構成の一例を示す図である。図２の不揮発メモリ１０が設けられず、揮発メモリ１１０と、不揮発メモリ１２０と、蓄電部１３０とが設けられる点で図２の構成と相違する。
【００５７】
本実施形態のメインサーバ２００は、正常動作時は、障害が発生した後の状態復旧に必要なデータをメモリモジュール１内の揮発メモリ１１０に記憶しながら処理を進める。つまり、メインサーバ２００は、正常動作時は、揮発メモリ１１０に対するデータの読み書きを行う。そして、障害等が発生して第１電源３からの電力供給の停止を検出すると、蓄電部１３０からメモリモジュール１へ供給される電力を用いて、揮発メモリ１１０のデータに記憶されたデータを不揮発メモリ１２０に退避（コピー）することで、高速な不揮発メモリを疑似的に実現する。揮発メモリ１１０は、例えばＤＲＡＭやＳＲＡＭなどで構成され、不揮発メモリ１２０は、例えばＮＡＮＤフラッシュメモリやＲｅＲＡＭなどで構成される。
【００５８】
蓄電部１３０は、第１電源３から供給される電力を蓄える。つまり、蓄電部１３０は、メインサーバ２００（プロセッサ２）の正常動作中に、第１電源３から供給される電力を蓄えておく。蓄電部１３０は、例えばバッテリやキャパシタなどで構成される。蓄電部１３０は、電源線１３１を介して電源管理部２０に接続され、蓄電部１３０から供給される電力は、第１電源３からの電力供給が停止したときに、プロセッサ２と揮発メモリ１１０とが接続されず、かつ、データアクセス部３０と揮発メモリ１１０とが接続される第２の状態に切り替えて、揮発メモリ１１０に記憶されたデータを不揮発メモリ１２０に退避するための電力として用いられる。
【００５９】
図１８は、本実施形態の電源管理部２０の構成の一例を示す図である。この例では、図５に示す構成を前提とするが、これに限られるものではない。図１８の例では、第２電源６からの電力は、ダイオードＤ１５を介して、ＤＣ／ＤＣコンバータ２２ａおよび２２ｂの各々に供給（入力）され、蓄電部１３０からの電力は、ダイオードＤ１６を介して、ＤＣ／ＤＣコンバータ２２ａおよび２２ｂの各々に供給される。ここでは、電源管理部２０には、第１電源３、第２電源６、蓄電部１３０の３箇所から電力が供給され、第２電源６および蓄電部１３０の各々から供給される電力は、ＤＣ／ＤＣコンバータ（２２ａ，２２ｂ）で必要な電圧（この例では第１電圧または第２電圧）に調整されて、メモリモジュール１内の各部へ供給される。
【００６０】
また、この例では、上述の第１の実施形態と同様に、バックアップサーバ３００は、メインサーバ２００に対して、正常に動作しているか否かを確認するための状態確認信号を一定の間隔で送信し、状態確認信号の送信後、所定期間内に応答が返ってきた場合は、メインサーバ２００は正常に動作していると判断し、状態確認信号を送信後、所定期間にわたって応答を受信しなかった場合は、メインサーバ２００に障害（異常）が発生したと判断する。この例では、バックアップサーバ３００は、メインサーバ２００に障害が発生したと判断した場合、メモリモジュール１に対して、第２電源６からの電力供給を開始する制御を行う。そして、バックアップサーバ３００は、障害が発生したメインサーバ２００の状態を復元するために、メモリモジュール１に対して、揮発メモリ１１０に記憶されたデータを要求するデータ要求を送信する。
【００６１】
図１９は、データアクセス部３０の構成の一例を示す図である。図１９に示すように、データアクセス部３０は、第１の読み出し部３１０と、制御部３２と、書き込み部３２０と、第２の読み出し部３３０と、通信部３３とを備える。この例では、制御部３２は、書き込み部３２０および第２の読み出し部３３０を介して不揮発メモリ１２０に接続される。
【００６２】
第１の読み出し部３１０の機能は、図７に示す読み出し部３１の機能と同様である。本実施形態では、制御部３２は、第１電源３から電力が供給されていることを検出した場合は、プロセッサ２の動作は正常であると判断し、プロセッサ２と揮発メモリ１１０とが接続される第１の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する。また、制御部３２は、第１電源３からの電力の供給が停止していることを検出した場合は、プロセッサ２に異常が発生したと判断し、プロセッサ２と揮発メモリ１１０とが接続されず、かつ、第１の読み出し部３１０と揮発メモリ１１０とが接続される第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する。
【００６３】
この例では、切替部４０の構成は図８の構成と同様である。ただし、この例では、第１の実施形態で説明した不揮発メモリ１０の代わりに揮発メモリ１１０が用いられている。切替部４０は、制御部３２からの切替指示信号に従って、第１の状態または第２の状態に切り替える。要するに、切替部４０は、第１電源３から電力が供給されているときは、プロセッサ２と揮発メモリ１１０とが接続される第１の状態に切り替え、第１電源３からの電力の供給が停止したときは、プロセッサ２と揮発メモリ１１０とが接続されず、かつ、第１の読み出し部３１０と揮発メモリ１１０とが接続される第２の状態に切り替える。ここでは、切替部４０は、第１電源３からの電力の供給が停止したときは、蓄電部１３０から供給される電力を用いて、第２の状態に切り替えることもできるし、第２電源６からの電力供給が開始されている場合は、第２電源６から供給される電力を用いて、第２の状態に切り替えることもできる。
【００６４】
図１９の説明を続ける。制御部３２は、第２の状態に切り替えることを指示する切替指示信号を切替部４０に送信した後に、第１の読み出し部３１０に対して、揮発メモリ１１０に記憶されたデータを読み出すことを指示する。この指示を受けた第１の読み出し部３１０は、揮発メモリ１１０に記憶されたデータを読み出す。すなわち、第１の読み出し部３１０は、第２の状態に切り替わった後に、揮発メモリ１１０に記憶されたデータを読み出す。ここでは、第１の読み出し部３１０は、第２の状態に切り替わった後に、蓄電部１３０から供給される電力を用いて、揮発メモリ１１０に記憶されたデータを読み出すこともできるし、第２電源６からの電力供給が開始されている場合は、第２電源６から供給される電力を用いて、揮発メモリ１１０に記憶されたデータを読み出すこともできる。
【００６５】
次に、制御部３２は、書き込み部３２０に対して、第１の読み出し部３１０が揮発メモリ１１０から読み出したデータを不揮発メモリ１２０に書き込むことを指示する。この指示を受けた書き込み部３２０は、制御部３２から渡されたデータ（第１の読み出し部３１０が揮発メモリ１１０から読み出したデータ）を不揮発メモリ１２０に書き込む。すなわち、書き込み部３２０は、第２の状態に切り替わった後に、第１の読み出し部３１０が揮発メモリ１１０から読み出したデータを不揮発メモリ１２０に書き込む。ここでは、書き込み部３２０は、第２の状態に切り替わった後に、蓄電部１３０から供給される電力を用いて、第１の読み出し部３１０が揮発メモリ１１０から読み出したデータを不揮発メモリ１２０に書き込むこともできるし、第２電源６からの電力供給が開始されている場合は、第２電源６から供給される電力を用いて、第１の読み出し部３１０が揮発メモリ１１０から読み出したデータを不揮発メモリ１２０に書き込むこともできる。
【００６６】
そして、制御部３２は、通信部３３が、揮発メモリ１０に記憶されたデータを要求するデータ要求をバックアップサーバ３００から受信すると、第２の読み出し部３３０に対して、不揮発メモリ１２０に記憶されたデータ（揮発メモリ１１０から退避させたデータ）を読み出すことを指示する。上述したように、この例では、バックアップサーバ３００は、メモリモジュール１に対して、第２電源６からの電力供給を開始する制御を行った後に、データ要求を送信する。したがって、メモリモジュール１がデータ要求を受信した段階では、第２電源６からの電力がメモリモジュール１へ供給されている。制御部３２は、通信部３３がデータ要求を受信したか否かを確認する前に、第２電源６からの電力が供給されているか否かを確認してもよい。
【００６７】
制御部３２からの指示を受けた第２の読み出し部３３は、不揮発メモリ１２００に記憶されたデータを読み出す。そして、制御部３２は、データ要求に対する応答として、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する。この指示を受けた通信部３３は、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信する。すなわち、通信部３３は、第１電源３からの電力の供給が停止しているときに（この例では、第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されているときに）、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信する。
【００６８】
図２０は、本実施形態の制御部３２の動作例を示すフローチャートである。最初に、メモリモジュール１に対して、第１電源３からの電力の供給が開始されると（電源ＯＮになると）、上述したように、制御部３２は、第１電源３から電力が供給されていることを検出し、第１の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する（ステップＳ４０）。これにより、メモリモジュールは第１の状態になる。次に、制御部３２は、第１電源３から電力が供給されていないことを検出した場合（ステップＳ４１：Ｎｏ）、第２の状態に切り替えることを指示する切替指示信号を切替部４０へ送信する（ステップＳ４２）。これにより、メモリモジュール１は、第１の状態から第２の状態に切り替わる。
【００６９】
次に、制御部３２は、第１の読み出し部３１０に対して、揮発メモリ１１０に記憶されたデータを読み出すことを指示する（ステップＳ４３）。この指示を受けた第１の読み出し部３１０は、揮発メモリ１１０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、書き込み部３２０に対して、第１の読み出し部３１０が揮発メモリ１１０から読み出したデータを不揮発メモリ１２０に書き込むことを指示する（ステップＳ４４）。この指示を受けた書き込み部３２０は、制御部３２から渡されたデータ（第１の読み出し部３１０が揮発メモリ１１０から読み出したデータ）を不揮発メモリ１２０に書き込む。
【００７０】
次に、制御部３２は、第２電源６から電力が供給されているか否かを確認する（ステップＳ４５）。第２電源６から電力が供給されていることを検出した場合（ステップＳ４５：Ｙｅｓ）、制御部３２は、バックアップサーバ３００からのデータ要求を通信部３３で受信したか否かを確認する（ステップＳ４６）。データ要求を通信部３３で受信した場合（ステップ４６：Ｙｅｓ）、制御部３２は、第２の読み出し部３３０に対して、不揮発メモリ１２０に記憶されたデータを読み出すことを指示する（ステップＳ４７）。この指示を受けた第２の読み出し部３３０は、不揮発メモリ１２０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、データ要求に対する応答として、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する（ステップＳ４８）。この指示を受けた通信部３３は、制御部３２から渡されたデータ（第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータ）を、バックアップサーバ３００へ送信する。
【００７１】
以上の本実施形態の構成によれば、メインサーバ２００の障害（異常）発生後においても、メインサーバ２００内の不揮発メモリ１２０に記録しているデータ（プロセッサ２がアクセスする揮発メモリ１１０から退避させたデータ）を他のコンピュータ（バックアップサーバ３００）から読み出すことができる。したがって、本実施形態によれば、サーバなどのコンピュータを冗長構成にして高信頼化する場合に、高速にデータを永続化することが可能な構成を実現できる。
【００７２】
（第２の実施形態の変形例１）
例えば制御部３２は、バックアップサーバ３００からのデータ要求を待たずに、自発的に不揮発メモリ１２０に退避させたデータを読み出してバックアップサーバ３００へ送る制御を行うこともできる。図２１は、本変形例の制御部３２の動作例を示すフローチャートである。図２１のステップＳ５０〜ステップＳ５５の処理内容は、図２０のステップＳ４０〜ステップＳ４５の処理内容と同様である。図２１では、図２０のステップＳ４６の処理は省略され、制御部３２は、ステップＳ５５の後（第１電源３からの電力の供給が停止し、かつ、第２電源６から電力が供給されていることを検出した場合）、第２の読み出し部３３０に対して、不揮発メモリ１２０に記憶されたデータを読み出すことを指示する（ステップＳ５６）。この指示を受けた第２の読み出し部３３０は、不揮発メモリ１２０に記憶されたデータを読み出し、読み出したデータを制御部３２へ渡す。次に、制御部３２は、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信することを通信部３３に指示する（ステップＳ５７）。この指示を受けた通信部３３は、制御部３２から渡されたデータ（第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータ）を、バックアップサーバ３００へ送信する。
【００７３】
（第２の実施形態の変形例２）
例えば切替部４０は、図２２に示す構成であってもよい。図２２の例では、スイッチ素子Ｓ１には、第１電源３に接続された電源線５から基準線（接地線）２５へ至る経路に直列に介在する抵抗ｒ１と抵抗ｒ２により降圧（分圧）された電圧に応じた電圧信号が入力され、スイッチ素子Ｓ２には、ＮｏＴゲート４２で反転された電圧信号が入力される。この例では、第１電源３からの電力が供給される場合は、ハイレベルに相当する電圧信号がスイッチ素子Ｓ１に入力され、ローレベルに相当する電圧信号がスイッチ素子Ｓ２に入力されて、スイッチ素子Ｓ１はオン状態に遷移し、スイッチ素子Ｓ２はオフ状態に遷移する。これにより、プロセッサ２と揮発メモリ１１０とが接続され、データアクセス部３０と揮発メモリ１１０とが接続されない第１の状態になる。また、第１電源３からの電力が供給されない場合は、ローレベルに相当する電圧信号がスイッチ素子Ｓ１に入力され、ハイレベルに相当する電圧信号がスイッチ素子Ｓ２に入力されて、スイッチ素子Ｓ１はオフ状態に遷移し、スイッチ素子Ｓ２はオン状態に遷移する。これにより、プロセッサ２と揮発メモリ１１０とが接続されず、データアクセス部３０と揮発メモリ１１０とが接続される第２の状態になる。図２２の例では、制御部３２は、切替部４０に対して、切替指示信号を入力する必要が無い（切替部４０を制御する必要が無い）。
【００７４】
図２３は、本変形例の制御部３２の動作例を示すフローチャートである。図２３に示すように、まず制御部３２は、第１電源３からの電力が供給されているか否かを確認する（ステップＳ６０）。第１電源３からの電力が供給されていないことを検出した場合（ステップＳ６０：Ｎｏ）、制御部３２は、第１の読み出し部３１０に対して、揮発メモリ１１０に記憶されたデータを読み出すことを指示する（ステップＳ６１）。以降のステップＳ６２〜ステップＳ６６の処理内容は、図２０のステップＳ４４〜ステップＳ４８の処理内容と同様である。
【００７５】
なお、上述の第２の実施形態の変形例１と同様に、制御部３２は、バックアップサーバ３００からのデータ要求を待たずに、自発的に不揮発メモリ１２０に記憶されたデータを読み出してバックアップサーバ３００へ送る制御を行うこともできる。図２４は、この場合の制御部３２の動作例を示すフローチャートである。図２４のステップＳ７０〜ステップＳ７３の処理内容は、図２３のステップＳ６０〜ステップＳ６３の処理内容と同様である。図２４では、図２３のステップＳ６４の処理は省略され、制御部３２は、ステップＳ７３の後、第２の読み出し部３３０に対して、不揮発メモリ１２０に記憶されたデータを読み出すことを指示する（ステップＳ７４）。この処理は、図２３のステップＳ６５の処理と同様である。以降の処理は、図２３と同様である。
【００７６】
（第２の実施形態の変形例３）
上述の第２の実施形態では、メモリモジュール１と、プロセッサ２が搭載されたマザーボードは別々の基板であるが、これに限らず、例えば図２５に示すように、１つの基板（マザーボード）８０上に、上述したメモリモジュール１の各要素（蓄電部１３０、揮発メモリ１１０、電源管理部２０、データアクセス部３０、切替部４０、不揮発メモリ１２０）、プロセッサ２等が搭載される形態であってもよい。
【００７７】
（第２の実施形態の変形例４）
例えば蓄電部１３０の容量が十分に大きい場合は、第２電源６からの電力供給が行われない形態であってもよい。この場合、外部装置（例えばバックアップサーバ３００）へのデータの送信も、蓄電部１３０に蓄えられた電力で実行する。要するに、通信部３３は、第１電源３からの電力の供給が停止しているときに（この例では、第１電源３からの電力の供給が停止し、かつ、蓄電部１３０から電力が供給されているときに）、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータをバックアップサーバ３００へ送信する形態であればよい。
【００７８】
（第２の実施形態の変形例５）
上述した第１の実施形態の変形例７と同様に、例えば通信部３３は、第２の読み出し部３３０が不揮発メモリ１２０から読み出したデータ（揮発メモリ１１０から退避させたデータ）と、メインサーバ２００の状態を復元するための復元情報を特定する復元特定情報と、をバックアップサーバ３００へ送信することもできる。
【００７９】
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８０】
なお、上述した各実施形態および各変形例は任意に組み合わせることができる。
【図１】
2017009982.tif 000003
【図２】
2017009982.tif 000004
【図３】
2017009982.tif 000005
【図４】
2017009982.tif 000006
【図５】
2017009982.tif 000007
【図６】
2017009982.tif 000008
【図７】
2017009982.tif 000009
【図８】
2017009982.tif 000010
【図９】
2017009982.tif 000011
【図１０】
2017009982.tif 000012
【図１１】
2017009982.tif 000013
【図１２】
2017009982.tif 000014
【図１３】
2017009982.tif 000015
【図１４】
2017009982.tif 000016
【図１５】
2017009982.tif 000017
【図１６】
2017009982.tif 000018
【図１７】
2017009982.tif 000019
【図１８】
2017009982.tif 000020
【図１９】
2017009982.tif 000021
【図２０】
2017009982.tif 000022
【図２１】
2017009982.tif 000023
【図２２】
2017009982.tif 000024
【図２３】
2017009982.tif 000025
【図２４】
2017009982.tif 000026
【図２５】
2017009982.tif 000027
【国際調査報告】
2017009982.tif 000028
2017009982.tif 000029
2017009982.tif 000030
2017009982.tif 000031