(57)【要約】【課題】メモリコピー時間の短縮機能を汎用的に利用可能とし、かつ、実装上の困難を回避する。【解決手段】フォールトトレラントサーバ３００は、ライトアドレスデータ格納用メモリモジュール４００をメモリスロット３０５ａに実装する。ライトアドレスデータ格納用メモリコントローラ４１１は、メインメモリ３１３へのライトアドレスをライトアドレスデータ格納用メモリ４１０に蓄積する。メモリコピーエンジン３０６ａは、障害発生に起因して片系動作となった時点から片系動作を終了して二重化動作に復旧させる時点の間にかけて蓄積されたライトアドレスをメモリバスへ出力させ、出力されたライトアドレスに対応するメインメモリ３１３に格納されたデータが読み出されて、障害から復旧した他の片系のメインメモリへとコピーされる。【選択図】図４
2014157492.tif 000002
【特許請求の範囲】
【請求項１】
メモリスロットと、前記メモリスロットに実装されるメインメモリと、前記メインメモリへの書き込みまたは読み出しをメモリバスを介して制御するメインメモリコントローラと、前記メインメモリコントローラを介して前記メモリスロットにアクセスするメモリコピーエンジンと、を備え、
前記メインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有するライトアドレスデータ格納用メモリモジュールを前記メモリスロットに実装し、
前記ライトアドレスデータ格納用メモリコントローラは、前記メインメモリへのライトアドレスを前記ライトアドレスデータ格納用メモリに蓄積し、
前記メモリコピーエンジンは、前記ライトアドレスデータ格納用メモリコントローラに対して、障害発生に起因して片系動作となった時点から当該片系動作を終了して二重化動作に復旧させる時点の間にかけて前記ライトアドレスデータ格納用メモリに蓄積されたライトアドレスを前記メモリバスへ出力するように指示し、
前記メインメモリコントローラは、前記ライトアドレスデータ格納用メモリから前記メモリバスへ出力されたライトアドレスを読み出し、当該読み出したライトアドレスに対応する前記メインメモリに格納されたデータを読み出し、当該読み出したデータを前記障害から復旧した他の片系のメインメモリへとコピーする、
フォールトトレラントサーバ。
【請求項２】
前記ライトアドレスデータ格納用メモリを、前記メモリコピーエンジンのみがアクセス可能なメモリ空間であって、予め割り当てられた特定のメモリ空間にマッピングする、
ことを特徴とする請求項１に記載のフォールトトレラントサーバ。
【請求項３】
前記メモリコピーエンジンは、障害発生に起因して片系動作となった場合に、前記ライトアドレスデータ格納用メモリコントローラに対して、前記片系動作開始時における前記ライトアドレスデータ格納用メモリへのライトアドレスを開始アドレスとして保持するように指示し、前記片系動作を終了して二重化動作に復旧させる場合に、前記ライトアドレスデータ格納用メモリコントローラに対して、前記片系動作終了時における前記ライトアドレスデータ格納用メモリへのライトアドレスを終了アドレスとして保持するように指示し、前記ライトアドレスデータ格納用メモリコントローラに対して、前記ライトアドレスデータ格納用メモリへのアドレスポインタを前記開始アドレスから開始して前記終了アドレスとなるまでの間増加させて前記ライトアドレスデータ格納用メモリに蓄積したライトアドレスを前記メモリバスへ出力するように指示する、
ことを特徴とする請求項１または２に記載のフォールトトレラントサーバ。
【請求項４】
メモリスロットと、前記メモリスロットに実装されるメインメモリと、前記メインメモリへの書き込みまたは読み出しをメモリバスを介して制御するメインメモリコントローラと、前記メインメモリコントローラを介して前記メモリスロットにアクセスするメモリコピーエンジンと、がフォールトトレラントサーバに備えられており、
前記メインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有するライトアドレスデータ格納用メモリモジュールを前記メモリスロットに実装され、
前記ライトアドレスデータ格納用メモリコントローラが、前記メインメモリへのライトアドレスを前記ライトアドレスデータ格納用メモリに蓄積し、
前記メモリコピーエンジンが、前記ライトアドレスデータ格納用メモリコントローラに対して、障害発生に起因して片系動作となった時点から当該片系動作を終了して二重化動作に復旧させる時点の間にかけて前記ライトアドレスデータ格納用メモリに蓄積されたライトアドレスを前記メモリバスへ出力するように指示し、
前記メインメモリコントローラが、前記ライトアドレスデータ格納用メモリから前記メモリバスへ出力されたライトアドレスを読み出し、当該読み出したライトアドレスに対応する前記メインメモリに格納されたデータを読み出し、当該読み出したデータを前記障害から復旧した他の片系のメインメモリへとコピーする、
フォールトトレラントサーバのメモリコピー方法。
【請求項５】
前記ライトアドレスデータ格納用メモリが、前記メモリコピーエンジンのみがアクセス可能なメモリ空間であって、予め割り当てられた特定のメモリ空間にマッピングされる、
ことを特徴とする請求項４に記載のフォールトトレラントサーバのメモリコピー方法。
【請求項６】
前記メモリコピーエンジンが、障害発生に起因して片系動作となった場合に、前記ライトアドレスデータ格納用メモリコントローラに対して、前記片系動作開始時における前記ライトアドレスデータ格納用メモリへのライトアドレスを開始アドレスとして保持するように指示し、前記片系動作を終了して二重化動作に復旧させる場合に、前記ライトアドレスデータ格納用メモリコントローラに対して、前記片系動作終了時における前記ライトアドレスデータ格納用メモリへのライトアドレスを終了アドレスとして保持するように指示し、前記ライトアドレスデータ格納用メモリコントローラに対して、前記ライトアドレスデータ格納用メモリへのアドレスポインタを前記開始アドレスから開始して前記終了アドレスとなるまでの間増加させて前記ライトアドレスデータ格納用メモリに蓄積したライトアドレスを前記メモリバスへ出力するように指示する、
ことを特徴とする請求項４または５に記載のフォールトトレラントサーバのメモリコピー方法。
【請求項７】
フォールトレラントサーバのメインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有し、前記フォールトレラントサーバのメモリスロットに実装される、
ライトアドレスデータ格納用メモリモジュール。
【請求項８】
前記ライトアドレスデータ格納用メモリは、前記フォールトトレラントサーバのメモリコピーエンジンのみがアクセス可能なメモリ空間であって、予め割り当てられた特定のメモリ空間にマッピングされる、
ことを特徴とする請求項７に記載のライトアドレスデータ格納用メモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュールに関する。
【背景技術】
【０００２】
２つの系を二重化させて動作するフォールトトレラントサーバ（以下、FTサーバと称する。）では、システムが片系動作から二重化動作へと移行する際に、一方の系のメインメモリに格納されているデータを他系のメインメモリに速やかにコピーして、両系のメインメモリのデータを一致させる必要がある。さらに、メモリデータのコピー中は、コピー元のデータが更新されることを防ぐために、システム全体の動作を一時停止する必要がある。
【０００３】
近年、システムのメインメモリ容量は増加の一途を辿っており、メモリコピー時に発生するシステムの一時停止時間もますます増大している。システムの一時停止は業務に大きな支障をきたすため、一時停止時間を少しでも短くすることが求められている。
【０００４】
なお、特許文献１、２には、障害発生に起因して片系動作となった場合に、メインメモリへの書き込みアドレスをアドレス記憶用のメモリに記憶しておき、方系動作から二重化動作に復旧する際に、前記記憶しておいたアドレスに該当する片系のメインメモリのデータを復旧させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−４６４５５号公報
【特許文献２】特開平１０−１７７４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明に関連する公知のFTサーバでは、メインメモリコントローラとメインメモリのアドレスを格納するTraceメモリとを専用チップセットに内蔵する構成を採用している。そして、当該FTサーバは、メモリデータをコピーする際には、片系動作中にデータが更新されたメインメモリの領域のみをコピーすることによって、メインメモリのコピー時間の短縮を図っている。しかしながら、近年のコンピュータアーキテクチャでは、メモリコントローラをCPU内部に内蔵しているため、メインメモリのアドレスを格納するTraceメモリについては、マザーボード上に実装する必要がある。
【０００７】
ところが、Traceメモリはメインメモリのような多ビットインターフェースを有していることから、高密設計されたマザーボード上へTraceメモリを実装することは困難である。また、マザーボード上へのTraceメモリの実装がメモリバス経路長の増大にもつながる結果、信号品質悪化の要因になるなどの実装上の問題がある。
【０００８】
本発明の目的は、上述した課題を解決するフォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュールを提供することにある。
【課題を解決するための手段】
【０００９】
一実施の形態において、フォールトトレラントサーバは、メモリスロットと、前記メモリスロットに実装されるメインメモリと、前記メインメモリへの書き込みまたは読み出しをメモリバスを介して制御するメインメモリコントローラと、前記メインメモリコントローラを介して前記メモリスロットにアクセスするメモリコピーエンジンと、を備え、前記メインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有するライトアドレスデータ格納用メモリモジュールを前記メモリスロットに実装し、前記ライトアドレスデータ格納用メモリコントローラは、前記メインメモリへのライトアドレスを前記ライトアドレスデータ格納用メモリに蓄積し、前記メモリコピーエンジンは、前記ライトアドレスデータ格納用メモリコントローラに対して、障害発生に起因して片系動作となった時点から当該片系動作を終了して二重化動作に復旧させる時点の間にかけて前記ライトアドレスデータ格納用メモリに蓄積されたライトアドレスを前記メモリバスへ出力するように指示し、前記メインメモリコントローラは、前記ライトアドレスデータ格納用メモリから前記メモリバスへ出力されたライトアドレスを読み出し、当該読み出したライトアドレスに対応する前記メインメモリに格納されたデータを読み出し、当該読み出したデータを前記障害から復旧した他の片系のメインメモリへとコピーする、ものである。
【００１０】
他の一実施の形態において、フォールトトレラントサーバのメモリコピー方法は、メモリスロットと、前記メモリスロットに実装されるメインメモリと、前記メインメモリへの書き込みまたは読み出しをメモリバスを介して制御するメインメモリコントローラと、前記メインメモリコントローラを介して前記メモリスロットにアクセスするメモリコピーエンジンと、がフォールトトレラントサーバに備えられており、前記メインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有するライトアドレスデータ格納用メモリモジュールを前記メモリスロットに実装され、前記ライトアドレスデータ格納用メモリコントローラが、前記メインメモリへのライトアドレスを前記ライトアドレスデータ格納用メモリに蓄積し、前記メモリコピーエンジンが、前記ライトアドレスデータ格納用メモリコントローラに対して、障害発生に起因して片系動作となった時点から当該片系動作を終了して二重化動作に復旧させる時点の間にかけて前記ライトアドレスデータ格納用メモリに蓄積されたライトアドレスを前記メモリバスへ出力するように指示し、前記メインメモリコントローラが、前記ライトアドレスデータ格納用メモリから前記メモリバスへ出力されたライトアドレスを読み出し、当該読み出したライトアドレスに対応する前記メインメモリに格納されたデータを読み出し、当該読み出したデータを前記障害から復旧した他の片系のメインメモリへとコピーする、ものである。
【００１１】
他の一実施の形態において、ライトアドレスデータ格納用メモリモジュールは、フォールトレラントサーバのメインメモリへのライトアドレスを格納するライトアドレスデータ格納用メモリと、前記ライトアドレスデータ格納用メモリへの書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラと、を有し、前記フォールトレラントサーバのメモリスロットに実装される、ものである。
【発明の効果】
【００１２】
本発明により、メモリコピー時間の短縮機能を汎用的に利用可能とし、かつ、実装上の困難を回避可能とするフォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュールを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかるフォールトトレラントサーバの構成図の一例である。
【図２】実施の形態１にかかるメモリモジュールの構成図の一例である。
【図３】実施の形態１にかかるフォールトトレラントサーバによるメモリコピー方法を示すフローチャートである。
【図４】本発明の原理を説明するための図である。
【発明を実施するための形態】
【００１４】
まず、本発明の実施の形態の説明に先立って、本発明の原理を説明する。図４に示すように、本発明に係るフォールトトレラントサーバ３００は、メモリスロット３０５ａと、メモリスロット３０５ａに実装されるメインメモリ３１３と、メインメモリ３１３への書き込みまたは読み出しをメモリバスを介して制御するメインメモリコントローラ３０３ａと、メインメモリコントローラ３０３ａを介してメモリスロット３０５ａにアクセスするメモリコピーエンジン３０６ａと、を少なくとも備えている。さらに、フォールトトレラントサーバ３００は、ライトアドレスデータ格納用メモリモジュール４００をメモリスロット３０５ａに実装している。
【００１５】
ライトアドレスデータ格納用メモリモジュール４００は、メインメモリ３１３へのライトアドレスを格納するライトアドレスデータ格納用メモリ４１０と、ライトアドレスデータ格納用メモリ４１０への書き込みまたは読み出しを制御するライトアドレスデータ格納用メモリコントローラ４１１と、を有する。
【００１６】
ライトアドレスデータ格納用メモリコントローラ４１１は、メインメモリ３１３へのライトアドレスをライトアドレスデータ格納用メモリ４１０に蓄積する。メモリコピーエンジン３０６ａは、ライトアドレスデータ格納用メモリコントローラ４１１に対して、障害発生に起因して片系動作となった時点から当該片系動作を終了して二重化動作に復旧させる時点の間にかけてライトアドレスデータ格納用メモリ４１０に蓄積されたライトアドレスをメモリバスへ出力するように指示する。メインメモリコントローラ３０４ａは、ライトアドレスデータ格納用メモリ４１０からメモリバスへ出力されたライトアドレスを読み出し、当該読み出したライトアドレスに対応するメインメモリ３１３に格納されたデータを読み出し、当該読み出したデータを障害から復旧した他の片系のメインメモリへとコピーする。
【００１７】
実施の形態１．
以下、図面を参照して本発明の実施の形態について説明する。
＜構成＞
図１を参照して、本実施の形態に係るFTサーバの構成を説明する。
FTサーバ１００は、モジュール１ａと、モジュール１ａと同期して動作するモジュール１ｂと、を備えている。クロスリンクバス２は、モジュール１ａとモジュール１ｂを接続する。モジュール１ａとモジュール１ｂは、クロスリンクバス２を介して、互いの状態を監視する。モジュール１ａは、CPU４ａと、メモリスロット５ａと、メモリスロット５ａに実装されるメインメモリ（不図示）と、フォールトトレラント制御チップ（以下、FT制御チップと称す。）７ａと、を備えている。なお、モジュール１ｂについても同様の構成を備えているため、ここではその詳細な説明を省略する。
【００１８】
CPU４ａは、メモリバスを介してメインメモリ（不図示）への書き込みまたは読み出しを制御する、メインメモリコントローラの一例としてのメモリコントローラ３ａを内蔵している。メモリスロット５ａは、複数のメモリスロットを有しており、それぞれのメモリスロットがメモリコントローラ３ａに接続する。メモリスロット５ａには、メインメモリ（不図示）と、後述するTraceメモリモジュール２００とが実装されている。
【００１９】
メモリスロット５ａにおいて、メインメモリ（不図示）は、例えば、メモリコントローラ３ａに最も近い位置に実装してよく、メインメモリ（不図示）が複数のメモリから構成される場合には、例えば、メモリコントローラ３ａに最も近い位置から開始してそれぞれのメモリを実装してもよい。また、Traceメモリモジュール２００は、例えば、メモリコントローラ３ａから最も遠い位置に実装してよい。なお、メモリスロット５ａにおけるメインメモリ（不図示）およびTraceメモリモジュール２００の実装位置はこれに限定されず、他の位置に実装するものとしてもよい。
【００２０】
FT制御チップ７ａは、メモリコピーエンジン６ａを内蔵している。メモリコピーエンジン６ａは、メモリコントローラ３ａと接続し、メモリコントローラ３ａを介して、メモリスロット５ａにアクセス可能である。また、データリンクバス８は、CPU４ａとCPU４ｂを接続する。CPU４ａおよびCPU４ｂは、データリンクバス８を介して、メモリコピーを行う。
【００２１】
図２を参照して、本実施の形態に係るライトアドレスデータ格納用モジュールの一例としてのTraceメモリモジュール２００の構成を説明する。
ライトアドレスデータ格納用メモリモジュールの一例としてのTraceメモリモジュール２００は、メモリモジュールインターフェース９と、ライトアドレスデータ格納用メモリの一例としてのTraceメモリ１０と、ライトアドレスデータ格納用メモリコントローラの一例としてのTraceメモリコントローラ１１と、切り替えセレクタ１２と、を備えている。Traceメモリモジュール２００は、モジュール１ａ、１ｂのメモリスロット５ａ、５ｂに対して、着脱自在に実装可能である。
【００２２】
メモリモジュールインターフェース９は、メモリバス上のコマンドおよびアドレスを読み出すインタフェースである。Traceメモリ１０は、メモリバス上のアドレスデータに関して、メインメモリへのライトアドレスのアドレスデータを格納する。Traceメモリコントローラ１１は、メモリバス上のコマンドをデコードし、Traceメモリ１０への書き込みまたは読み出しを制御する。また、Traceメモリコントローラ１１は、Traceメモリ１０のライトアドレスについて後述する片系動作開始時の開始アドレスおよび片系動作終了時の終了アドレスを保持する。切り替えセレクタ１２は、メモリバス上のライトアドレスのアドレスデータをTraceメモリ１０に入力し、また、Traceメモリ１０に格納されたライトアドレスデータをメモリバス上のデータバスへ出力する。
【００２３】
図３は、本実施の形態に係るFTサーバ１００における特定のメモリ空間にTraceメモリをマッピングする際の処理を示すフローチャートである。
まず、ユーザによって、FTサーバ１００の電源がOnされる（Ｓ１０１）。FTサーバ１００のBIOSは、POST（Power On Self Test）を実行する（Ｓ１０２）。
【００２４】
BIOSは、Traceメモリ機能を使用するか否かをBIOS設定メニューにおいて表示してユーザに問い合わせる。BIOSは、ユーザからの回答に応じて、Traceメモリ機能を使用するか否かを判断する（Ｓ１０３）。BIOSは、Traceメモリ機能を使用しない場合には、装置（FTサーバ１００）を起動する（Ｓ１０４）。
【００２５】
BIOSは、Traceメモリ機能を使用する場合には、Traceメモリ機能をOnに設定する（Ｓ１０５）。そして、BIOSは、装置（FTサーバ１００）を再起動する（Ｓ１０６）。
【００２６】
再起動の後、BIOSは、上述したPOSTを実行し、Traceメモリ機能を使用するために、Traceメモリ１０を特定のメモリ空間へとマッピングする（Ｓ１０７）。この特定のメモリ空間とは、メモリコピーエンジン６のみがアクセス可能なメモリ空間であり、予め割り当てられる。最後に、BIOSは、装置（FTサーバ１００）を起動する（Ｓ１０８）。
【００２７】
このように、本実施の形態に係るTraceメモリモジュールを利用するシステムでは、Traceメモリ機能の使用の要否やその設定をBIOS設定に組み込む。そして、装置（FTサーバ１００）起動の際のメモリマッピングの処理時に、メモリコピーエンジン６のみがアクセス可能な特定のメモリ空間へと、Traceメモリ１０をマッピングする。これにより、汎用のメモリスロット５ａにTraceメモリモジュール２００を実装した場合においても、通常のアプリケーションがTraceメモリにアクセスしてしまうことを防止することができる。
【００２８】
＜動作＞
以下、FTサーバ１００による動作を説明する。なお、以下の動作例では、メモリスロット５ａにTraceメモリモジュールが実装されている場合を例に説明する。
まず、Traceメモリモジュール２００を実装したFTサーバ１００は、二重化動作中、モジュール１ａのメモリコントローラ３ａとメモリスロット５ａ間のメモリバス上のコマンドおよびアドレスを、メモリモジュールインターフェース９を介して常に監視している。
【００２９】
Traceメモリコントローラ１１は、メモリバス上のコマンドをデコードし、当該デコードしたコマンドがメインメモリへのライトコマンドであった場合、Traceメモリ１０の入力方向に切り替えセレクタ１２を切り替え、メモリバス上の当該ライトコマンドのライトアドレスのアドレスデータをTraceメモリ１０に格納する。Traceメモリコントローラ１１は、Traceメモリ１０への格納を継続することによって、メインメモリへのライトアドレスをTraceメモリ１０に蓄積する。Traceメモリコントローラ１１は、Traceメモリ１０への書き込みを制御し、Traceメモリ１０へのライトアドレスのアドレスポインタをインクリメント（例えば、１増加）する。
【００３０】
二重化動作中に障害が発生し、その障害発生に起因してモジュール１ｂにおいて何らかの異常が検出された場合、モジュール１ａのFT制御チップ７ａは、クロスリンクバス２を介してモジュール１ｂの異常を検知する。そして、FT制御チップ７ａは、モジュール１ｂをシステムから切り離して、モジュール１ａのみの片系動作へと移行する。FT制御チップ７ａのメモリコピーエンジン６ａは、片系動作が開始したことを、メモリコントローラ３ａおよびTraceメモリコントローラ１１に通知する。メモリコピーエンジン６ａは、片系動作が開始したことを示すコマンドを用いて、メモリコントローラ３ａを介してTraceメモリコントローラ１１に通知する。
【００３１】
Traceメモリコントローラ１１は、片系動作の開始の通知を受けた場合、当該通知を受けた時点におけるTraceメモリ１０へのライトアドレスを、片系動作開始時の開始アドレスとして、Traceメモリコントローラ１１の内部に保持する。システムは、モジュール１ｂが復旧されるまでの間、片系動作を継続するが、この間もTraceメモリコントローラ１１は、モジュール１ａのメインメモリへのライトアドレスを、Traceメモリ１０に格納し続ける。
【００３２】
システムは、モジュール１ｂの復旧が開始すると片系動作から二重化動作へと移行する。この際に、FT制御チップ７ａのメモリコピーエンジン６ａは、モジュール１ａとモジュール１ｂのメインメモリの中身を一致させるために、Traceメモリ１０に格納されたライトアドレスデータを使用して、片系動作中に更新されたモジュール１ａのメインメモリのデータのみをモジュール１ｂへとコピーする動作を開始する。以下、具体的に説明する。
【００３３】
（ｉ）まず、FT制御チップ７ａのメモリコピーエンジン６ａは、片系動作が終了したことを、メモリコントローラ３ａおよびTraceメモリコントローラ１１に通知する。メモリコピーエンジン６ａは、Traceメモリ１０に対してリードコマンドを発行して、メモリコントローラ３ａを介してTraceメモリコントローラ１１に通知する。Traceメモリコントローラ１１は、Traceメモリ１０に対するリードコマンドを受けた場合、当該通知を受けた時点におけるTraceメモリ１０へのライトアドレスを、片系動作終了時の終了アドレスとして、Traceメモリコントローラ１１の内部に保持する。
【００３４】
（ｉｉ）そして、Traceメモリコントローラ１１は、Traceメモリ１０のアドレスポインタを、保持していた片系動作時の開始アドレスへと移動させ、Traceメモリ１０の出力方向に切り替えセレクタ１２を切り替える。Traceメモリコントローラ１１は、開始アドレスから終了アドレスとなるまでの間、Traceメモリ１０のアドレスポインタをインクリメントし、Traceメモリ１０に格納していたメインメモリのライトアドレスを、メモリバスのデータバスへと出力させる。これによって、メモリコピーエンジン６ａは、Traceメモリコントローラ１１に対して、障害発生に起因して片系動作となった時点からその片系動作を終了して二重化動作に復旧させる時点の間にかけてTraceメモリ１０に蓄積されたライトアドレスを、メモリバスへ出力させるよう指示する。
【００３５】
（ｉｉｉ）モジュール１ａのメモリコントローラ３ａは、片系動作の終了通知を受けると、Traceメモリ１０のライトアドレスについて片系動作開始時の開始アドレスから片系動作終了時の終了アドレスに関して、Traceメモリ１０から出力されるライトアドレスをメモリバスのデータバスから読み出す。メモリコントローラ３ａは、読み出したライトアドレスをメモリコピーエンジン６ａに保持する。メモリコントローラ３ａは、全てのライトアドレスの読み出しを完了すると、当該ライトアドレスのメインメモリのデータを読み出し、モジュール１ａからモジュール１ｂへのメモリコピーを開始する。モジュール１ａのメモリコントローラ３ａは、モジュール１ａとモジュール１ｂのメインメモリデータが一致するまで、データリンクバス８を介してデータコピーを行う。
【００３６】
以上に説明したように、本実施の形態に係るFTサーバ１００は、Traceメモリモジュール２００をマザーボード上のメモリスロットに搭載する。ここで、Traceメモリモジュール２００はTraceメモリを備えており、当該Traceメモリは、FT制御チップに内蔵されたメモリコピーエンジンがアクセス可能である。そして、Traceメモリモジュール２００は、FTサーバ１００におけるメインメモリアクセス時のアドレスデータを、Traceメモリへ格納する。メモリコピーエンジン６ａは、メインメモリのコピーが発生すると、Traceメモリ１０のライトアドレスを取り出し、片系動作中に更新された領域のデータのみをコピーする。
【００３７】
これまでは装置に専用チップセットを採用することによってのみメモリコピー時間の短縮機能を実現してきたが、本実施の形態によれば、専用チップセットを採用する必要がないため、メモリコピー時間の短縮機能を汎用的に利用可能とすることができる。よって、本実施の形態によれば、メモリコピー時に必要なシステムの一時停止時間を短縮することができる。
【００３８】
また、本実施の形態によれば、Traceメモリモジュール２００をマザーボード上の空きメモリスロット５ａに対して実装することから、マザーボードの実装エリアを損なうことがないという利点を有する。さらに、メモリスロット５ａを利用してTraceメモリモジュール２００を実装することで、メモリバス経路長への影響を最小限に抑えることが可能である。
【００３９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００４０】
１ａ、１ｂ  モジュール、
２  クロスリンクバス、
３ａ、３ｂ  メモリコントローラ、
４ａ、４ｂ  CPU、
５ａ、５ｂ  メモリスロット、
６ａ、６ｂ  メモリコピーエンジン、
７ａ、７ｂ  FT制御チップ、
８  データリンクバス、
９  メモリモジュールインターフェース、
１０  Traceメモリ、
１１  Traceメモリコントローラ、
１２  切り替えセレクタ、
１００  フォールトトレラントサーバ、
２００  Traceメモリモジュール、
３００  フォールトトレラントサーバ、
３０３ａ  メインメモリコントローラ、
３０５ａ  メモリスロット、
３０６ａ  メモリコピーエンジン、
３１３  メインメモリ、
４００  ライトアドレスデータ格納用メモリモジュール、
４１０  ライトアドレスデータ格納用メモリ、
４１１  ライトアドレスデータ格納用メモリコントローラ、
【図１】
2014157492.tif 000003
【図２】
2014157492.tif 000004
【図３】
2014157492.tif 000005
【図４】
2014157492.tif 000006