(57)【要約】【課題】メモリモジュールにおいてメモリエラーが発生した時の状態を容易に再現することができる制御装置を提供する。【解決手段】メモリコントローラと通信するメモリモジュールが備える制御装置において、制御部は、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、ポインタ情報を不揮発性メモリに書き込む。【選択図】図１
2017174246.tif 000002
【特許請求の範囲】
【請求項１】
メモリコントローラと通信するメモリモジュールが備える制御装置であって、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、ポインタ情報を不揮発性メモリに書き込む制御部、
を備える制御装置。
【請求項２】
前記制御部は、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に送信するエラー信号を受信した場合に、前記サブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に前記ポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を前記不揮発性メモリに書き込む、
請求項１に記載の制御装置。
【請求項３】
前記制御部が前記第１データ、前記第２データ、前記ポインタ情報を書き込む不揮発性メモリ、
を備える請求項１または請求項２に記載の制御装置。
【請求項４】
メモリコントローラと通信するメモリモジュールであって、
データを記憶するメインメモリと、
前記メモリコントローラが出力する第１データと前記メインメモリが出力する第２データとを保持して出力するレジスタと、
前記レジスタが出力した前記第１データと前記第２データを取得し、前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を記憶するサブメモリと、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記サブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に前記ポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込む制御部と、
を備えるメモリモジュール。
【請求項５】
メモリコントローラと通信するメモリモジュールが備える制御装置の制御方法であって、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、
を含む制御装置の制御方法。
【請求項６】
メモリコントローラと通信するメモリモジュールの制御方法であって、
前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを保持して出力すること、
出力した前記第１データと前記第２データを取得し、前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を記憶すること、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、サブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に前記ポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、
を含むメモリモジュールの制御方法。
【請求項７】
コンピュータに、
メモリコントローラと通信するメモリモジュールが備える制御装置の制御方法であって、
前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、メモリモジュール、制御装置の制御方法、メモリモジュールの制御方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータや産業機器などでは、基板の片面あるいは両面にＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を複数搭載したＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）が使用されている。
コンピュータや産業機器の動作中にＤＩＭＭにおいてメモリエラーが発生することがある。このような場合、メモリエラーが発生したＤＩＭＭの不具合解析は、メモリメーカなどの専門の業者で行われることが多い。
特許文献１には、関連する技術として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）モジュールとＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）モジュールとを備える情報処理装置の障害検出時の動作環境を再現して、障害の再現試験を行う技術が開示されている。
特許文献２には、関連する技術として、メモリモジュールのエラー発生履歴を追跡する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２８４８９号公報
【特許文献２】特開平１０−０４０１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、メモリエラーが発生したＤＩＭＭの不具合を解析する場合、メモリメーカなどの専門の業者が行う場合であっても、メモリエラーが発生したときのメモリへのＣＰＵからの制御信号などの環境条件が分からなければメモリエラーが発生した時の状態を再現することは困難である。また、ＣＰＵの中には、メモリエラーの発生時刻、エラービットなどのエラー情報を内部のレジスタにシンドロームとして保持するものもあるが、一般的に、ＣＰＵが内部レジスタに保持するエラー情報に関する技術的な情報は開示されておらず、ＣＰＵが内部レジスタに保持するエラー情報を用いてＤＩＭＭの不具合を解析することは困難である。また、ＣＰＵが内部レジスタに保持するエラー情報に関する技術的な情報を入手することが可能であっても、ＣＰＵが内部レジスタに保持するエラー情報に関する技術的な情報を入手する工数、技術的な情報の内容を理解する技術力、入手した技術的な情報の理解に掛かる工数などの点から、できた場合であっても、一般的に、ＤＩＭＭにおけるメモリエラーの原因を究明することは困難である。
そのため、ＤＩＭＭにおいてメモリエラーが発生した時の状態を容易に再現することのできる技術が求められていた。
【０００５】
本発明は、上記の課題を解決することのできる制御装置、メモリモジュール、制御装置の制御方法、メモリモジュールの制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、メモリコントローラと通信するメモリモジュールが備える制御装置であって、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、ポインタ情報を不揮発性メモリに書き込む制御部、を備える制御装置である。
【０００７】
また、本発明は、メモリコントローラと通信するメモリモジュールであって、データを記憶するメインメモリと、前記メモリコントローラが出力する第１データと前記メインメモリが出力する第２データとを保持して出力するレジスタと、前記レジスタが出力した前記第１データと前記第２データを取得し、前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を記憶するサブメモリと、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記サブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に前記ポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込む制御部と、を備えるメモリモジュールである。
【０００８】
また、本発明は、メモリコントローラと通信するメモリモジュールが備える制御装置の制御方法であって、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、を含む制御装置の制御方法である。
【０００９】
また、本発明は、メモリコントローラと通信するメモリモジュールの制御方法であって、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを保持して出力すること、出力した前記第１データと前記第２データを取得し、前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を記憶すること、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、サブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に前記ポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、を含むメモリモジュールの制御方法である。
【００１０】
また、本発明は、コンピュータに、メモリコントローラと通信するメモリモジュールが備える制御装置の制御方法であって、前記メモリコントローラが前記メモリモジュールにおいてメモリエラーが発生したと判定した場合に、前記メモリコントローラが出力する第１データと前記メモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる前記第１データと前記第２データの取得を停止する制御を行い、前記サブメモリが記憶している前記第１データ、前記第２データと共に先頭アドレスとメモリ領域の大きさの情報を含むポインタ情報を前記サブメモリから取得し、取得した前記第１データ、前記第２データ、前記ポインタ情報を不揮発性メモリに書き込むこと、を実行させるプログラムである。
【発明の効果】
【００１１】
本発明によれば、メモリモジュールにおいてメモリエラーが発生した時の状態を容易に再現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第一の実施形態による制御装置の最小構成を示す図である。
【図２】本発明の第二の実施形態による情報システムの構成を示す図である。
【発明を実施するための形態】
【００１３】
＜第一の実施形態＞
本発明の第一の実施形態による制御装置について説明する。
本発明の第一の実施形態による制御装置は、本発明の最小構成の制御装置である。
本発明の第一の実施形態による制御装置２０４は、図１に示すように、少なくとも、制御部２０４１を備える。
制御装置２０４は、メモリコントローラと通信するメモリモジュールである。
【００１４】
制御部２０４１は、メモリコントローラがメモリモジュールにおいてメモリエラーが発生したと判定した場合に、メモリコントローラが出力する第１データとメモリモジュールが備えるメインメモリが出力する第２データとを取得して記憶するサブメモリによる第１データと第２データの取得を停止する制御を行う。
制御部２０４１は、サブメモリが記憶している第１データと第２データとをサブメモリから取得する。
制御部２０４１は、取得した第１データと第２データとを不揮発性メモリに書き込む。
【００１５】
このようにすれば、制御装置２０４は、メモリモジュールにおいてメモリエラーが発生した時の状態を容易に再現することができる。
【００１６】
＜第二の実施形態＞
本発明の第二の実施形態による情報システムについて説明する。
本発明の第二の実施形態による情報システム１は、図２に示すように、ＣＰＵ１０と、ＤＩＭＭ２０（メモリモジュール）と、を備える。
【００１７】
ＣＰＵ１０は、メモリコントローラ１０１を備える。
メモリコントローラ１０１は、指示信号ＳＧｃｏｍ、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第３入力データ信号ＳＧｉ３、エラー信号ＳＧｅｒｒをＤＩＭＭ２０に送信する。
また、メモリコントローラ１０１は、第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２、第３出力データ信号ＳＧｏ３をＤＩＭＭ２０から受信する。
【００１８】
なお、指示信号ＳＧｃｏｍは、アドレス、及び、書き込みまたは読み出しの指示を含むコマンドを含む。
第１入力データ信号ＳＧｉ１は、第１の入力データを含む。
第２入力データ信号ＳＧｉ２は、第２の入力データを含む。
第３入力データ信号ＳＧｉ３は、第３の入力データを含む。
第１出力データ信号ＳＧｏ１は、第１の出力データを含む。
第２出力データ信号ＳＧｏ２は、第２の出力データを含む。
第３出力データ信号ＳＧｏ３は、第３の出力データを含む。
エラー信号ＳＧｅｒｒは、メモリエラーが発生したことを含む。
【００１９】
ＤＩＭＭ２０は、レジスタバッファ２０１ａ、レジスタバッファ２０１ｂ、レジスタバッファ２０１ｃ、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ、Ｆｉｒｓｔ−Ｏｕｔ）２０２ａ（サブメモリ）、ＦＩＦＯ２０２ｂ（サブメモリ）、ＦＩＦＯ２０２ｃ（サブメモリ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３ａ（メインメモリ）、ＤＲＡＭ２０３ｂ（メインメモリ）、ＤＲＡＭ２０３ｃ（メインメモリ）、制御装置２０４、不揮発性メモリ２０５を備える。
なお、レジスタバッファ２０１ａ、レジスタバッファ２０１ｂ、レジスタバッファ２０１ｃを総称してレジスタバッファ２０１と呼ぶ。
また、ＦＩＦＯ２０２ａ、ＦＩＦＯ２０２ｂ、ＦＩＦＯ２０２ｃを総称してＦＩＦＯ２０２と呼ぶ。
また、ＤＲＡＭ２０３ａ、ＤＲＡＭ２０３ｂ、ＤＲＡＭ２０３ｃを総称してＤＲＡＭ２０３と呼ぶ。
また、以下の説明では、各機能部は、クロック信号について特に記載しない場合であっても、各機能部に入力されるクロック信号に応じて動作している。
【００２０】
レジスタバッファ２０１ａは、メモリコントローラ１０１から送信された指示信号ＳＧｃｏｍを取得する。
レジスタバッファ２０１ａは、取得した指示信号ＳＧｃｏｍを保持する。
レジスタバッファ２０１ａは、保持した指示信号ＳＧｃｏｍを後述するＤＲＡＭ２０３のそれぞれとＦＩＦＯ２０２ａとに送信する。
【００２１】
レジスタバッファ２０１ｂは、メモリコントローラ１０１から送信された第１入力データ信号ＳＧｉ１を取得する。
レジスタバッファ２０１ｂは、取得した第１入力データ信号ＳＧｉ１を保持する。
レジスタバッファ２０１ｂは、保持した第１入力データ信号ＳＧｉ１を後述するＤＲＡＭ２０３ａとＦＩＦＯ２０２ｂとに送信する。
【００２２】
また、レジスタバッファ２０１ｂは、メモリコントローラ１０１から送信された第２入力データ信号ＳＧｉ２を取得する。
レジスタバッファ２０１ｂは、取得した第２入力データ信号ＳＧｉ２を保持する。
レジスタバッファ２０１ｂは、保持した第２入力データ信号ＳＧｉ２を後述するＤＲＡＭ２０３ｂとＦＩＦＯ２０２ｂとに送信する。
【００２３】
また、レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ａから送信された第１出力データ信号ＳＧｏ１を取得する。
レジスタバッファ２０１ｂは、取得した第１出力データ信号ＳＧｏ１を保持する。
レジスタバッファ２０１ｂは、保持した第１出力データ信号ＳＧｏ１をメモリコントローラ１０１とＦＩＦＯ２０２ｂとに送信する。
【００２４】
また、レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ｂから送信された第２出力データ信号ＳＧｏ２を取得する。
レジスタバッファ２０１ｂは、取得した第２出力データ信号ＳＧｏ２を保持する。
レジスタバッファ２０１ｂは、保持した第２出力データ信号ＳＧｏ２をメモリコントローラ１０１とＦＩＦＯ２０２ｂとに送信する。
【００２５】
レジスタバッファ２０１ｃは、メモリコントローラ１０１から送信された第３入力データ信号ＳＧｉ３を取得する。
レジスタバッファ２０１ｃは、取得した第３入力データ信号ＳＧｉ３を保持する。
レジスタバッファ２０１ｃは、保持した第３入力データ信号ＳＧｉ３を後述するＤＲＡＭ２０３ｃとＦＩＦＯ２０２ｃとに送信する。
【００２６】
レジスタバッファ２０１ｃは、ＤＲＡＭ２０３ｃから送信された第３出力データ信号ＳＧｏ３を取得する。
レジスタバッファ２０１ｃは、取得した第３出力データ信号ＳＧｏ３を保持する。
レジスタバッファ２０１ｃは、保持した第３出力データ信号ＳＧｏ３をメモリコントローラ１０１とＦＩＦＯ２０２ｃとに送信する。
【００２７】
レジスタバッファ２０１のそれぞれは、メモリコントローラ１０１からエラー信号ＳＧｅｒｒを受信すると、信号の取得を停止する。
【００２８】
ＦＩＦＯ２０２ａは、レジスタバッファ２０１ａから指示信号ＳＧｃｏｍを取得する。
ＦＩＦＯ２０２ａは、取得した指示信号ＳＧｃｏｍを保持する。
なお、ＦＩＦＯ２０２ａは、指示信号ＳＧｃｏｍを保持したときに、ポインタ情報（先頭アドレスとメモリ領域の大きさの情報）を同時に保持する。
【００２９】
また、ＦＩＦＯ２０２ａは、データの読み込みの停止を指示する停止信号ＳＧｓｔを後述する制御部２０４１から受信すると、レジスタバッファ２０１ａから指示信号ＳＧｃｏｍを取得することを停止する。
【００３０】
ＦＩＦＯ２０２ｂは、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２をレジスタバッファ２０１ａから取得する。
ＦＩＦＯ２０２ｂは、取得した第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２を保持する。
【００３１】
また、ＦＩＦＯ２０２ｂは、停止信号ＳＧｓｔを制御部２０４１から受信すると、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２をレジスタバッファ２０１ａから取得することを停止する。
【００３２】
ＦＩＦＯ２０２ｃは、レジスタバッファ２０１ｃから第３入力データ信号ＳＧｉ３、第３出力データ信号ＳＧｏ３を取得する。
ＦＩＦＯ２０２ｃは、取得した第３入力データ信号ＳＧｉ３、第３出力データ信号ＳＧｏ３を保持する。
【００３３】
また、ＦＩＦＯ２０２ｃは、ＳＧｓｔを制御部２０４１から受信すると、レジスタバッファ２０１ｃから第３入力データ信号ＳＧｉ３、第３出力データ信号ＳＧｏ３を取得することを停止する。
【００３４】
ＤＲＡＭ２０３のそれぞれは、レジスタバッファ２０１ａを介して、メモリコントローラ１０１から指示信号ＳＧｃｏｍを取得する。
ＤＲＡＭ２０３のそれぞれは、取得した指示信号ＳＧｃｏｍが含むアドレス、及び、書き込みまたは読み出しの指示に基づいて、データの書き込みまたは読み出しを行う。
【００３５】
制御装置２０４は、制御部２０４１を備える。
制御部２０４１は、メモリコントローラ１０１からエラー信号ＳＧｅｒｒを受信すると、ＦＩＦＯ２０２のそれぞれに停止信号ＳＧｓｔを送信する。
【００３６】
また、制御部２０４１は、ＦＩＦＯ２０２のそれぞれが保持しているＦＩＦＯ情報とポインタ情報とを取得する。
制御部２０４１は、取得したＦＩＦＯ情報とポインタ情報とを後述する不揮発性メモリ２０５に書き込む。
【００３７】
不揮発性メモリ２０５は、制御部２０４１により書き込まれたＦＩＦＯ情報を記憶する。不揮発性メモリ２０５は、例えば、フラッシュメモリ（登録商標）である。
【００３８】
次に、本発明の第二の実施形態による情報システム１の動作について説明する。
まず、本発明の第二の実施形態による情報システム１の通常時の動作について説明する。
【００３９】
メモリコントローラ１０１は、指示信号ＳＧｃｏｍをＤＩＭＭ２０に送信する。
このとき、指示信号ＳＧｃｏｍがアドレスと書き込みの指示とを含む場合、メモリコントローラ１０１は、書き込みデータとして、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第３入力データ信号ＳＧｉ３のうちの少なくとも１つをＤＩＭＭ２０に送信する。
また、このとき、指示信号ＳＧｃｏｍがアドレスと読み出しの指示とを含む場合、メモリコントローラ１０１は、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第３入力データ信号ＳＧｉ３を送信しない。
以下の説明では、指示信号ＳＧｃｏｍがアドレスと書き込みの指示とを含む場合、メモリコントローラ１０１は、書き込みデータとして、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第３入力データ信号ＳＧｉ３の３つを送信するものとする。
また、指示信号ＳＧｃｏｍがアドレスと読み出しの指示とを含む場合、メモリコントローラ１０１は、第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２、第３出力データ信号ＳＧｏ３の３つを送信するものとする。
【００４０】
レジスタバッファ２０１のそれぞれは、メモリコントローラ１０１からデータ信号を入力する。
まず、指示信号ＳＧｃｏｍがアドレスと書き込みの指示とを含む場合のＤＩＭＭにおける書き込み動作の具体例について説明する。
レジスタバッファ２０１ａは、メモリコントローラ１０１から指示信号ＳＧｃｏｍを取得する。
レジスタバッファ２０１ａは、取得した指示信号ＳＧｃｏｍを保持する。
レジスタバッファ２０１ａは、保持した指示信号ＳＧｃｏｍをＤＲＡＭ２０３のそれぞれとＦＩＦＯ２０２ａとに送信する。
ＦＩＦＯ２０２ａは、指示信号ＳＧｃｏｍを保持する。
【００４１】
レジスタバッファ２０１ｂは、メモリコントローラ１０１から送信された第１入力データ信号ＳＧｉ１を取得する。
レジスタバッファ２０１ｂは、取得した第１入力データ信号ＳＧｉ１を保持する。
レジスタバッファ２０１ｂは、保持した第１入力データ信号ＳＧｉ１をＤＲＡＭ２０３ａとＦＩＦＯ２０２ｂとに送信する。
ＦＩＦＯ２０２ｂは、第１入力データ信号ＳＧｉ１を保持する。
【００４２】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ａは、レジスタバッファ２０１ｂから第１入力データ信号ＳＧｉ１を取得する。
ＤＲＡＭ２０３ａは、取得した第１入力データ信号ＳＧｉ１を記憶する。
【００４３】
レジスタバッファ２０１ｂは、メモリコントローラ１０１から送信された第２入力データ信号ＳＧｉ２を取得する。
レジスタバッファ２０１ｂは、取得した第２入力データ信号ＳＧｉ２を保持する。
レジスタバッファ２０１ｂは、保持した第２入力データ信号ＳＧｉ２をＤＲＡＭ２０３ｂとＦＩＦＯ２０２ｂとに送信する。
ＦＩＦＯ２０２ｂは、第２入力データ信号ＳＧｉ２を保持する。
【００４４】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ｂは、レジスタバッファ２０１ｂから第２入力データ信号ＳＧｉ２を取得する。
ＤＲＡＭ２０３ｂは、取得した第２入力データ信号ＳＧｉ２を記憶する。
【００４５】
レジスタバッファ２０１ｃは、メモリコントローラ１０１から送信された第３入力データ信号ＳＧｉ３を取得する。
レジスタバッファ２０１ｃは、取得した第３入力データ信号ＳＧｉ３を保持する。
レジスタバッファ２０１ｃは、保持した第３入力データ信号ＳＧｉ３をＤＲＡＭ２０３ｃとＦＩＦＯ２０２ｃとに送信する。
ＦＩＦＯ２０２ｃは、第３入力データ信号ＳＧｉ３を保持する。
【００４６】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ｃは、レジスタバッファ２０１ｃから第３入力データ信号ＳＧｉ３を取得する。
ＤＲＡＭ２０３ｃは、取得した第３入力データ信号ＳＧｉ３を記憶する。
以上、指示信号ＳＧｃｏｍがアドレスと書き込みの指示とを含む場合のＤＩＭＭ２０における書き込み動作の具体例である。
【００４７】
次に、指示信号ＳＧｃｏｍがアドレスと読み出しの指示とを含む場合のＤＩＭＭ２０における読み出し動作の具体例について説明する。
【００４８】
レジスタバッファ２０１ａは、メモリコントローラ１０１から指示信号ＳＧｃｏｍを取得する。
レジスタバッファ２０１ａは、取得した指示信号ＳＧｃｏｍを保持する。
レジスタバッファ２０１ａは、保持した指示信号ＳＧｃｏｍをＤＲＡＭ２０３のそれぞれとＦＩＦＯ２０２ａとに送信する。
ＦＩＦＯ２０２ａは、指示信号ＳＧｃｏｍを保持する。
【００４９】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ａは、アドレスが示すメモリ領域のデータである第１出力データ信号ＳＧｏ１をレジスタバッファ２０１ｂに送信する。
レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ａから第１出力データ信号ＳＧｏ１を取得する。
レジスタバッファ２０１ｂは、取得した第１出力データ信号ＳＧｏ１を保持する。
レジスタバッファ２０１ｂは、保持した第１出力データ信号ＳＧｏ１をメモリコントローラ１０１とＦＩＦＯ２０２ｂとに送信する。
ＦＩＦＯ２０２ｂは、第１出力データ信号ＳＧｏ１を保持する。
メモリコントローラ１０１は、第１出力データ信号ＳＧｏ１を受信する。
【００５０】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ｂは、アドレスが示すメモリ領域のデータである第２出力データ信号ＳＧｏ２をレジスタバッファ２０１ｂに送信する。
レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ｂから第２出力データ信号ＳＧｏ２を取得する。
レジスタバッファ２０１ｂは、取得した第２出力データ信号ＳＧｏ２を保持する。
レジスタバッファ２０１ｂは、保持した第２出力データ信号ＳＧｏ２をメモリコントローラ１０１とＦＩＦＯ２０２ｂとに送信する。
ＦＩＦＯ２０２ｂは、第２出力データ信号ＳＧｏ２を保持する。
メモリコントローラ１０１は、第２出力データ信号ＳＧｏ２を受信する。
【００５１】
指示信号ＳＧｃｏｍに含まれるアドレスが示すＤＲＡＭ２０３ｃは、アドレスが示すメモリ領域のデータである第３出力データ信号ＳＧｏ３をレジスタバッファ２０１ｃに送信する。
レジスタバッファ２０１ｃは、ＤＲＡＭ２０３ｃから第３出力データ信号ＳＧｏ３を取得する。
レジスタバッファ２０１ｃは、取得した第３出力データ信号ＳＧｏ３を保持する。
レジスタバッファ２０１ｃは、保持した第３出力データ信号ＳＧｏ３をメモリコントローラ１０１とＦＩＦＯ２０２ｃとに送信する。
ＦＩＦＯ２０２ｃは、第２出力データ信号ＳＧｏ３を保持する。
メモリコントローラ１０１は、第３出力データ信号ＳＧｏ３を受信する。
以上、指示信号ＳＧｃｏｍがアドレスと読み出しの指示とを含む場合のＤＩＭＭ２０における読み出し動作の具体例である。
【００５２】
なお、ＦＩＦＯ２０２のそれぞれは、情報システム１の通常時の動作において、すべての記憶領域がデータで満たされるとポインタを初期に戻し、ゼロ番地からデータを保持する。
【００５３】
次に、本発明の第二の実施形態による情報システム１のメモリエラー発生時の動作について説明する。
【００５４】
メモリコントローラ１０１は、ＤＩＭＭ２０におけるメモリエラーの発生を検出した場合、ＤＩＭＭ２０にエラー信号ＳＧｅｒｒを送信する。
メモリコントローラ１０１が検出するＤＩＭＭ２０におけるメモリエラーは、ＥＣＣを用いて訂正可能なエラーと訂正不可能なエラーの両方を含む。
【００５５】
レジスタバッファ２０１のそれぞれは、メモリコントローラ１０１からエラー信号ＳＧｅｒｒを受信すると、信号の取得を停止する。
【００５６】
具体的には、レジスタバッファ２０１ａは、メモリコントローラ１０１からの指示信号ＳＧｃｏｍの取得を停止する。
レジスタバッファ２０１ｂは、メモリコントローラ１０１からの第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２の取得を停止する。
また、レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ａからの第１出力データ信号ＳＧｏ１の取得を停止する。
また、レジスタバッファ２０１ｂは、ＤＲＡＭ２０３ｂからの第２出力データ信号ＳＧｏ２の取得を停止する。
レジスタバッファ２０１ｃは、メモリコントローラ１０１からの第３入力データ信号ＳＧｉ３の取得を停止する。
また、レジスタバッファ２０１ｃは、ＤＲＡＭ２０３ｃからの第３出力データ信号ＳＧｏ３の取得を停止する。
【００５７】
メモリコントローラ１０１からエラー信号ＳＧｅｒｒを受信すると、ＦＩＦＯ２０２のそれぞれに停止信号ＳＧｓｔを送信する。
【００５８】
また、制御部２０４１は、ＦＩＦＯ２０２のそれぞれが保持しているＦＩＦＯ情報とポインタ情報とを取得する。
制御部２０４１は、取得したＦＩＦＯ情報とポインタ情報とを不揮発性メモリ２０５に書き込む。
【００５９】
以上、本発明の第二の実施形態による情報システム１について説明した。
本発明の第二の実施形態による情報システム１の制御装置２０４は、制御部２０４１を備える。制御部２０４１は、メモリコントローラ１０１がＤＩＭＭ２０においてメモリエラーが発生したと判定した場合に、メモリコントローラ１０１が出力する第１データ（指示信号ＳＧｃｏｍ、第１入力データ信号ＳＧｉ１、第２入力データ信号ＳＧｉ２、第３入力データ信号ＳＧｉ３）とＤＩＭＭ２０が備えるメモリ（ＤＲＡＭ２０３）が出力する第２データ（第１出力データ信号ＳＧｏ１、第２出力データ信号ＳＧｏ２、第３出力データ信号ＳＧｏ３）を取得し記憶するＦＩＦＯ２０２に、第１データと第２データの取得を停止することを指示する（データの読み込みの停止を指示する停止信号ＳＧｓｔを送信する）。制御部２０４１は、ＦＩＦＯ２０２のそれぞれが記憶しているＦＩＦＯ情報（第１データと第２データ）とポインタ情報とをＦＩＦＯ２０２から取得する。制御部２０４１は、ＦＩＦＯ情報とポインタ情報とを不揮発性メモリ２０５に書き込む。
このようにすれば、制御装置２０４は、メモリモジュールにおいてメモリエラーが発生した時の状態を容易に再現することができる。
【００６０】
なお、不具合解析担当者は、ＣＰＵ１０がＤＩＭＭ２０におけるメモリエラーの発生を検出してエラー信号ＳＧｅｒｒをＤＩＭＭ２０に送信し、制御装置２０４及びレジスタバッファ２０１のそれぞれがエラー信号ＳＧｅｒｒを取得するまでの時間（クロック数）を予め計算しておく。
不具合解析担当者は、不揮発性メモリ２０５からＦＩＦＯ情報とポインタ情報とを読み出す。
そして、不具合解析担当者は、予め計算した時間（クロック数）、及び、不揮発性メモリ２０５からＦＩＦＯ情報とポインタ情報に基づいて、ＦＩＦＯ情報をクロック数に相当する分のアドレスを遡る。
このようにすることで、不具合解析担当者は、メモリエラーが発生した前後のメモリ動作を知ることができる。
【００６１】
なお、本発明の第二の実刑形態による情報システム１は、不揮発性メモリ２０５を制御装置２０４の外部に備えるものとした。しかしながら、本発明の第二の実刑形態による情報システム１は、不揮発性メモリ２０５を制御装置２０４の外部に備えるものに限定しない。本発明の第二の実刑形態による情報システム１において、制御装置２０４が不揮発性メモリ２０５を備えていてもよい。
【００６２】
なお、本発明の第二の実施形態におけるＤＲＡＭは、ＤＲＡＭ２０３ａ、２０３ｂ、２０３ｃの３つであるものとして説明したがそれに限定するものではない。本発明の第二の実施形態におけるＤＲＡＭは、任意の数Ｎ個のＤＲＡＭであってよい。なお、その場合、レジスタバッファ２０１ａは、Ｎ個のＤＲＡＭのすべてに接続される。また、Ｎ個のＤＲＡＭで必要なデータ幅の６４ビットに８ビットのＥＣＣビットを追加した７２ビット幅のデータを構成してもよい。
【００６３】
なお、本発明の第二の実施形態におけるレジスタバッファは、レジスタバッファ２０１ａ、２０１ｂ、２０１ｃの３つであるものとして説明したがそれに限定するものではない。本発明の第二の実施形態によるレジスタバッファは、任意の数Ｍ個のレジスタバッファであってよい。
【００６４】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００６５】
本発明の実施形態における記憶部のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００６６】
本発明の実施形態について説明したが、上述の制御装置２０４は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータがそのプログラムを実行するようにしてもよい。
【００６７】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、追加、種々の省略、置き換え、変更を行ってよい。
【符号の説明】
【００６９】
１０・・・ＣＰＵ
２０・・・ＤＩＭＭ
１０１・・・メモリコントローラ
２０１ａ、２０１ｂ、２０１ｃ・・・レジスタバッファ
２０２ａ、２０２ｂ、２０２ｃ・・・ＦＩＦＯ
２０３ａ、２０３ｂ、２０３ｃ・・・ＤＲＡＭ
２０４・・・制御装置
２０５・・・不揮発性メモリ
２０４１・・・制御部
【図１】
2017174246.tif 000003
【図２】
2017174246.tif 000004