(57)【要約】【課題】ＦＢ−ＤＩＭＭメモリを迅速にテストや初期化を行うメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体を提供する。【解決手段】複数のＦＢ−ＤＩＭＭメモリの初期化はその内部のメモリコントローラにより行い、外部のシステム本体内に外部のメモリコントローラ２０１を設け、このメモリコントローラ２０１によりＦＢ−ＤＩＭＭ３０にデータ書き込み時にアドレスパリティを含むＥＣＣを作成し、メモリに書き込む。【選択図】図２
2008262325.tif 000002
【特許請求の範囲】
【請求項１】
複数のＦＢ−ＤＩＭＭメモリを使用するシステムの前記ＦＢ−ＤＩＭＭを制御するメモリ制御装置において、
アドレスパリティを埋め込んだChipkill対応ＥＣＣを作成して前記ＦＢ−ＤＩＭＭへ送出するＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路と、
前記ＦＢ−ＤＩＭＭから受信したＥＣＣがアドレスパリティを埋め込んだChipkill対応ＥＣＣであるか否かをチェックする第１データＥＣＣチェック／訂正回路と、
前記ＦＢ−ＤＩＭＭから受信したＥＣＣが前記メモリのテストや初期化時のＥＣＣであるか否かをチェックする第２データＥＣＣチェック／訂正回路と、
前記第１および第２データＥＣＣチェック／訂正回路の結果により前記第１又は第２データＥＣＣチェック／訂正回路からのデータを使用するか判定するデータエラーセレクタ回路と、
を備えることを特徴とするメモリ制御装置。
【請求項２】
前記ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路からの前記アドレスパリティを埋め込んだChipkill対応ＥＣＣは、前記システムのプロセッサ又はＩＯデバイスから受信したデータのＥＣＣチェックおよびエラー訂正を行うリクエスタデータＥＣＣチェック／訂正回路の出力に基づいて生成されることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記データエラーセレクト回路の出力に基づき前記システムのプロセッサ又はＩＯデバイスへ送出されるＥＣＣを作成するリクエスタ送出ＥＣＣ生成回路を備えることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項４】
前記データエラーセレクタ回路は、予め決められたテーブルに基づいて前記使用するデータを決定することを特徴とする請求項１、２又は３に記載のメモリ制御装置。
【請求項５】
前記第２データＥＣＣチェック／訂正回路から送出されたＥＣＣおよびデータを前記リクエスタデータＥＣＣチェック／訂正回路へも送出することを特徴とする請求項２に記載のメモリ制御装置。
【請求項６】
前記第２データＥＣＣチェック／訂正回路は、前記ＦＢ−ＤＩＭＭから受信したデータの一致チェックを行うＦＢ−ＤＩＭＭデータ一致チェック回路であることを特徴とする請求項１乃至５の何れかに記載のメモリ制御装置。
【請求項７】
複数のＦＢ−ＤＩＭＭメモリを使用するシステムのメモリ制御方法において、
前記ＦＢ−ＤＩＭＭ内のメモリコントローラにより前記メモリの初期化を行うステップと、
前記システム内に設けられた前記ＦＢ−ＤＩＭＭのメモリコントローラと異なる外部メモリコントローラにより前記メモリにデータ書き込み時にアドレスパリティを含むＥＣＣを作成するステップと、
該作成されたＥＣＣを前記メモリに書き込むステップと
を備えることを特徴とするメモリ制御方法。
【請求項８】
請求項７に記載されている処理ステップをコンピュータに実行させるプログラム。
【請求項９】
請求項８のプログラムを格納した記憶媒体。
【請求項１０】
請求項１乃至７の何れかのメモリ制御装置により制御される複数のＦＢ−ＤＩＭＭメモリを使用する情報処理システム。
【請求項１１】
請求項７に記載のメモリ制御方法により制御される複数のＦＢ−ＤＩＭＭメモリを使用する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体に関し、特にＦＢ−ＤＩＭＭメモリのテストや初期化を行うメモリ制御装置および方法並びにそれを使用する情報処理システムに関する。
【背景技術】
【０００２】
コンピュータやサーバ等の情報処理システム等にあっては各種プログラムやデータを記憶保存するために記憶容量の大きいメモリを使用している。斯かるプログラムやデータの記憶保存用のメモリには、ハードディスクデバイス（ＨＤＤ）等の磁気的記憶デバイスと共にＤＲＡＭ（ダイナミック・ランダムアクセス・メモリ）等の半導体メモリが使用されている。斯かる半導体メモリは、ＤＩＭＭ（Dual Inline Memory Module）として、システム本体に予め内蔵するか、必要に応じて追加（増設）されるのが一般的である。
【０００３】
従来、斯かるメモリ上のデータをＥＣＣ（Error Correcting Code：エラー訂正コード）で保証する場合には、ＥＣＣ付きデータによりメモリのテストや初期化を行う必要がある。最近では、Chipkill対応ＥＣＣを用いるようになっている。Chipkillとは、同時にアクセスするＤＲＡＭチップの１つに障害が発生した場合でも、有効なデータをメモリに保持し続け、システムを連続して稼動可能にする技術である。Chipkill対応ＥＣＣの１例
には、Ｓ４ＥＣ−Ｄ４ＥＤコードを使用したＥＣＣがある。このＳ４ＥＣ−Ｄ４ＥＤコードのＥＣＣを使用できるＤＩＭＭ（Dual Inline Memory Module）は、ＤＲＡＭチップ幅が４ビット幅の場合である。一方、Ｓ４ＥＣ−Ｄ４ＥＤコードのＥＣＣを作成するデータ幅は１６バイトである。
【０００４】
更に、ミッションクリティカルな領域で使用されるシステムの可用性を考えると、Chipkill対応ＥＣＣにアドレスのパリティを埋め込んだＥＣＣを作成し、メモリのテストや初期化を行う必要がある。通常、メモリのテストや初期化は、ある一定値のデータに対してＥＣＣの作成を行うため、作り出されるChipkill対応ＥＣＣの値は全アドレス同じ値となってしまう。そのため、システム運用時にエラーを検出した場合に、どのアドレスのデータがエラーしたのか判断することができない。しかし、アドレスのパリティを埋め込んだChipkill対応のＥＣＣによりメモリのテストや初期化を行った場合には、システム運用時にエラーを検出した場合に、どのアドレスのデータがエラーしたのか即座に判断することができ、システムの可用性を向上させることができる。
【０００５】
通常のＤＩＭＭの場合には、メモリのテストや初期化はシステムのメモリコントローラを使用して行われる。これはＤＩＭＭ上にメモリコントローラ機能が搭載されていないためである。システムのメモリコントローラの機能を用いてメモリのテストや初期化を行う場合には、メモリのテストや初期化を実行するアドレス、ＥＣＣ、データの幅、データの値等を自由に作成できるので、アドレスのパリティを埋め込んだChipkill対応ＥＣＣを作成し、メモリのテストや初期化を行なうことが可能となる。従って、システムのメモリコントローラを使用してメモリのテストや初期化を行なう場合には、システムの可用性を向上させつつ、メモリのテストや初期化を行うことが可能である。
【０００６】
しかし、システムの全メモリについて、指定したアドレス毎に、メモリのテストや初期化を行わなければならないため、メモリのテストや初期化に多くの時間がかかってしまうという課題がある。そこで、ＤＲＡＭ規格の１つであるＦＢ−ＤＩＭＭ（Fully Buffered ＤＩＭＭ）にはメモリコントローラが搭載されている。ＦＢ−ＤＩＭＭのメモリコントローラに、ＥＣＣ付きデータや、ある一定値のデータを指定すると、ＦＢ−ＤＩＭＭのメモリコントローラが、指定されたデータを使用して、メモリのテストや初期化を行う機能が備わっている。この機能を使用すると、ＦＢ−ＤＩＭＭ単位で、パラレルにメモリのテストや初期化を行うことが可能である。
【０００７】
斯かるＦＢ−ＤＩＭＭのメモリテストやＥＣＣに関する従来技術は、種々の文献に開示されている。ＥＣＣ/Chipkill回路を使用する冗長メモリモジュールおよびメモリコントローラが開示されている（例えば、特許文献１参照。）。また、ＦＢ−ＤＩＭＭを使用するメモリモジュール内でのインタフェースタイミングを制御するメモリシステムおよびタイミング制御方法が開示されている（例えば、特許文献２参照。）。更に、起動時にメモリにＥＣＣを含む初期化データを書き込むメモリ初期化設定方式が開示されている（例えば、特許文献３参照。）。
【特許文献１】特開２００３−３０３１３９号公報（第５−６頁、第１図）
【特許文献２】特開２００６−１２７５１５号公報（第６−７頁、第１図）
【特許文献３】特開昭６１−３４６４６号公報（第２頁、第１図）
【０００８】
図７は、メモリ制御装置を使用する情報処理システム（以下、単にシステムという場合もある）の全体構成例を示すブロック図である。このシステム１０は、システム本体２０およびこのシステム本体２０に接続された複数（この特定例では８枚）のＦＢ−ＤＩＭＭメモリ（以下、単にＦＢ‐ＤＩＭＭという）３０ａ〜３０ｈにより構成されている。システム本体２０には、これらのＦＢ−ＤＩＭＭ３０を制御するメモリコントローラ２１が内蔵されている。
【０００９】
上述のＦＢ−ＤＩＭＭのメモリコントローラ機能を使用すると、図７に示す如く８枚のＦＢ−ＤＩＭＭ３０を同時に制御、例えばテストや初期化を行うことが可能である。システム本体２０のメモリコントローラ（外部メモリコントローラ）２１を使用してメモリのテストや初期化を行う場合には、ＦＢ−ＤＩＭＭ３０を1枚ずつテストや初期化を行う必要がある。従って、ＦＢ−ＤＩＭＭのメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、システム本体２０のメモリコントローラ２１を使用する場合に比べ、大幅にメモリのテストや初期化時間を短縮することが可能となる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の如きシステム１０において、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、ＦＢ−ＤＩＭＭ３０単位でパラレル処理ができるため、システムに搭載するＦＢ−ＤＩＭＭ３０の枚数が増加しても、メモリのテストや初期化にかかる時間は、ＦＢ−ＤＩＭＭ３０の枚数が増加する前と変わらない。更に、ＦＢ−ＤＩＭＭ３０のメモリ容量が増えた場合には、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合も、メモリのテストや初期化時間は増加するが、増加する時間は、ＦＢ−ＤＩＭＭ単位でパラレル処理ができるため、ＦＢ−ＤＩＭＭ1枚の増加したメモリ容量分だけということになる。一方、システム１０のシステム本体２０に内蔵されたメモリコントローラ２１を用いてメモリ３０のテストや初期化を行う場合には、『ＦＢ−ＤＩＭＭ 1枚の増加したメモリ容量 × 搭載されているＦＢ−ＤＩＭＭ３０の枚数』分、メモリのテストや初期化時間が増加してしまうことになる。
【００１１】
しかし、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、メモリのテストや初期化の時間を短縮することは可能であるが、アドレスパリティを埋め込んだChipkill対応ＥＣＣによりメモリ３０のテストや初期化を行うことができない。そのため、システム１０のメモリコントローラ２１を用いてメモリ３０のテストや初期化を行った場合に比べ、システム１０の可用性が著しく低下してしまう。従って、現在ミッションクリティカルな領域で使用されるシステムにおいては、システム１０の可用性を向上するため、システム１０のメモリコントローラ２１の機能を用いて、メモリのテストや初期化を行わざるを得ないという課題を有する。
【００１２】
本発明は、従来技術の上述した課題に鑑みなされたものであり、斯かる課題を解消又は軽減して、システムの可用性を維持しつつメモリの初期化を迅速且つ効率的に行うことが可能なメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体を提供することを主たる目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し且つ上述した目的を達成するために、本発明のメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体は、次の如き特徴的な構成を採用している。
【００１４】
（１）複数のＦＢ−ＤＩＭＭメモリを使用するシステムの前記ＦＢ−ＤＩＭＭを制御するメモリ制御装置において、
アドレスパリティを埋め込んだChipkill対応ＥＣＣを作成して前記ＦＢ−ＤＩＭＭへ送出するＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路と、
前記ＦＢ−ＤＩＭＭから受信したＥＣＣがアドレスパリティを埋め込んだChipkill対応ＥＣＣであるか否かをチェックする第１データＥＣＣチェック／訂正回路と、
前記ＦＢ−ＤＩＭＭから受信したＥＣＣが前記メモリのテストや初期化時のＥＣＣであるか否かをチェックする第２データＥＣＣチェック／訂正回路と、
前記第１および第２データＥＣＣチェック／訂正回路の結果により前記第１又は第２データＥＣＣチェック／訂正回路からのデータを使用するか判定するデータエラーセレクタ回路と、
を備えるメモリ制御装置。
（２）前記ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路からの前記アドレスパリティを埋め込んだChipkill対応ＥＣＣは、前記システムのプロセッサ又はＩＯデバイスから受信したデータのＥＣＣチェックおよびエラー訂正を行うリクエスタデータＥＣＣチェック／訂正回路の出力に基づいて生成される上記（１）のメモリ制御装置。
（３）前記データエラーセレクト回路の出力に基づき前記システムのプロセッサ又はＩＯデバイスへ送出されるＥＣＣを作成するリクエスタ送出ＥＣＣ生成回路を備える上記（１）又は（２）のメモリ制御装置。
（４）前記データエラーセレクタ回路は、予め決められたテーブルに基づいて前記使用するデータを決定する上記（１）、（２）又は（３）のメモリ制御装置。
（５）前記第２データＥＣＣチェック／訂正回路から送出されたＥＣＣおよびデータを前記リクエスタデータＥＣＣチェック／訂正回路へも送出する上記（２）のメモリ制御装置。
（６）前記第２データＥＣＣチェック／訂正回路は、前記ＦＢ−ＤＩＭＭから受信したデータの一致チェックを行うＦＢ−ＤＩＭＭデータ一致チェック回路である上記（１）乃至（５）の何れかのメモリ制御装置。
（７）複数のＦＢ−ＤＩＭＭメモリを使用するシステムのメモリ制御方法において、
前記ＦＢ−ＤＩＭＭ内のメモリコントローラにより前記メモリの初期化を行うステップと、
前記システム内に設けられた前記ＦＢ−ＤＩＭＭのメモリコントローラと異なる外部メモリコントローラにより前記メモリにデータ書き込み時にアドレスパリティを含むＥＣＣを作成するステップと、
該作成されたＥＣＣを前記メモリに書き込むステップと
を備えるメモリ制御方法。
（８）上記（７）に記載されている処理ステップをコンピュータに実行させるプログラム。
（９）上記（８）のプログラムを格納した記憶媒体。
（１０）上記（１）乃至（７）の何れかのメモリ制御装置により制御される複数のＦＢ−ＤＩＭＭメモリを使用する情報処理システム。
（１１）上記（７）のメモリ制御方法により制御される複数のＦＢ−ＤＩＭＭメモリを使用する情報処理システム。
【発明の効果】
【００１５】
上述の如き特徴的な構成を採用する本発明のメモリ制御装置、方法及び情報処理システムによると、次の如き実用上の特有の効果を奏する。先ず、ＦＢ−ＤＩＭＭのメモリコントローラ機能を用いてメモリのテストや初期化を行うので、メモリ容量が増加した場合に、テストや初期化の時間を大幅に短縮可能である。
【００１６】
また、ＦＢ−ＤＩＭＭのメモリコントローラ機能を用いてメモリのテストや初期化を行うにも拘らず、従来と同じシステムの可用性を維持し且つメモリのテストや初期化時間の短縮が可能である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明によるメモリ制御装置、メモリ制御方法、情報処理システムの好適な実施の形態の構成および動作を、添付図面を参照して詳細に説明する。なお、本発明は、以下に説明するような処理をコンピュータに実行させるためのプログラムやそれを格納した記憶媒体を包含することは言うまでもない。
【００１８】
先ず、図１を参照して本発明によるメモリ制御装置および方法を使用する情報処理システムの第１実施の形態について説明する。図１は、図６のシステム本体２０内のメモリコントローラに対応する部分を示し、図１（Ａ）は、システム（情報処理システム）のプロセッサ又はＩＯデバイスからデータをＦＢ−ＤＩＭＭにライト（書き込み）する際のメモリコントローラ（メモリ制御装置）の構成を示すブロック図である。他方、図１（Ｂ）は、ＦＢ−ＤＩＭＭからリード（読み出）したデータをシステムのプロセッサ又はＩＯデバイス（図１中には図示せず）へ送信する際のメモリコントローラの構成を示すブロック図である。
【００１９】
図１（Ａ）において、メモリコントローラ２０１は、２つのリクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）２０２、２０３およびこれらリクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）２０２、２０３に接続されたＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路（Ｓ４ＥＣ−Ｄ４ＥＤ）２０４を含んでいる。ここで、リクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）２０２、２０３は、プロセッサ又はＩＯデバイスから受信した１６バイトデータのうち８バイトデータの、ＥＣＣチェックおよびエラー訂正を行う。また、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）２０４は、リクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）２０２、２０３から送出された残りの８バイトデータから、ＦＢ−ＤＩＭＭに送出するためのアドレスパリティを埋め込んだChipkill対応ＥＣＣを作成する。
【００２０】
他方、図１（Ｂ）において、メモリコントローラ２０１は、第１データＥＣＣチェック／訂正回路であるＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２、第２データＥＣＣチェック／訂正回路である２つのＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３、３０４、これらデータＥＣＣチェック／訂正回路３０２〜３０４に接続されたデータエラーセレクト回路３０５、このデータエラーセレクト回路３０５に接続された２つのリクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）３０６、３０７およびこれら２つのリクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）３０６、３０７に接続されたデータセレクタ３０８を含んでいる。
【００２１】
ここで、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３、３０４は、ＦＢ−ＤＩＭＭ（図６中の３０参照）から受信したデータのＥＣＣチェックおよびエラー訂正を行う。特に、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２は、ＦＢ−ＤＩＭＭ３０から受信したＥＣＣが、アドレスパリティを埋め込んだChipkill対応ＥＣＣであるか否かをチェックする。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３−３０４は、ＦＢ−ＤＩＭＭ３０から受信したＥＣＣが、メモリのテストや初期化時のＥＣＣであるか否かをチェックする。
【００２２】
また、データエラーセレクト回路３０５は、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２とＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３および３０４のＥＣＣチェック結果により、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２から送出されたデータを使用するか、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３、３０４から送出されたデータを使用するかを判定する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）３０６、３０７は、データエラーセレクト回路３０５から送出されたデータから、プロセッサ又はＩＯデバイスに送出するためのＥＣＣ作成を行う。データセレクタ３０８は、プロセッサ又はＩＯデバイスに送出するデータをセレクトする。
【００２３】
次に、図１および図２を参照して、本発明による第１実施の形態のメモリ制御装置の動作を説明する。図２は、図１（Ｂ）中に示す上述したデータエラーセレクト回路３０５においてセレクトされるデータを説明する説明図又はテーブルである。
【００２４】
先ず、メモリ３０のテストや初期化について説明する。メモリのテストや初期化は、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いて、ＥＣＣ付きデータによりメモリのテストや初期化を行う。ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いて、メモリのテストや初期化を行なうことにより、システム１０のシステム本体２０に内蔵されたメモリコントローラ２１（又は図１の外部メモリコントローラ２０１）には、メモリのテストや初期化を行う機能の搭載は不要となる。
【００２５】
次に、システムの運用時において、ＦＢ−ＤＩＭＭ３０からリード（読み出）したデータについて説明する。ＦＢ−ＤＩＭＭ３０から受信したＥＣＣとデータは、図１（Ｂ）のＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３、３０４に送出される。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）３０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）３０３、３０４のＥＣＣチェック結果とデータを、データエラーセレクト回路３０５に送出する。
【００２６】
データエラーセレクト回路３０５では、図２の説明図に示されるデータエラーセレクト方法又はテーブルにより、セレクトするデータの判断およびＥＣＣエラーを検出するか否かの判断を行う。そして、このデータエラーセレクト回路３０５の判断結果によりリクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）３０６、３０７からＥＣＣおよびデータを送出する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）３０６、３０７より送出されたＥＣＣとデータは、データセレクタ３０８を介してプロセッサ又はＩＯデバイスへ送出される。
【００２７】
図２には、図２中の回路３０２、〜３０４の結果、データセレクト回路３０５のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出に関する説明が示されている。具体的に説明すると、第１行では、回路３０２〜３０４の結果が全てＯＫであり、データセレクタ３０５は、回路３０２のデータをセレクトし、エラー検出はしない。即ち、プロセッサ又はＩＯデバイスからのリクエストにより、実際にメモリにライトされた（書き込まれた）データと判断し、エラー検出はしない。他方、末行では、回路３０２〜３０４の結果が全てＮＧであり、データセレクト回路３０５は回路３０３、３０４のデータをセレクトする。そして、エラー検出を行い、メモリのテスト又は初期化時にライトされたデータと判断し、エラー検出する。訂正可能エラーは、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路３０３、３０４によりエラー訂正される。尚、その他の場合は、図２に示すとおりであるので、説明を省略する。
【００２８】
次に、図３および図４を参照して、本発明による第２実施の形態のメモリ制御装置について説明する。図３および図４は、それぞれ上述した図１（Ｂ）および図１（Ａ）に対応するメモリコントローラ内部構成を示すブロック図である。そして、図４は、メモリコントローラを構成する各回路の動作説明図である。
【００２９】
先ず、図３（Ａ）は、ＦＢ−ＤＩＭＭ３０から受信した（又は読み出された）データを、プロセッサ又はＩＯデバイスへ送信するメモリコントローラ４０１のブロック図である。他方、図３（Ｂ）は、プロセッサ又はＩＯデバイスから受信した（又は書き込み）データをＦＢ−ＤＩＭＭ３０へ送信するブロック図である。また、図４は、回路４０２〜４０４の結果、データセレクト回路４０５のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出についての説明図又はテーブルである。
【００３０】
図３（Ａ）において、メモリコントローラ４０１は、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２、２つのＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路４０３−４０４、データエラーセレクト回路４０５、２つのリクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）４０６−４０７およびデータセレクタ４０８により構成される。ここで、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４は、ＦＢ−ＤＩＭＭ３０から受信したデータのＥＣＣチェックおよびエラー訂正を行う。特に、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２は、ＦＢ−ＤＩＭＭ３０から受信したＥＣＣが、アドレスパリティを埋め込んだChipkill対応ＥＣＣであるか否かをチェックする。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４は、ＦＢ−ＤＩＭＭ３０から受信したＥＣＣが、メモリのテストや初期化時のＥＣＣであるか否かをチェックする。
【００３１】
また、データエラーセレクト回路４０５は、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４のＥＣＣチェック結果により、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２から送出されたデータを使用するか、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４から送出されたデータを使用するかを判定する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）４０６、４０７は、データエラーセレクト回路４０５から送出されたデータから、プロセッサ又はＩＯデバイスに送出するためのＥＣＣ作成を行う。データセレクタ４０８は、プロセッサ又はＩＯデバイスに送出するデータをセレクトする。
【００３２】
更に、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４から送出されたＥＣＣとデータを、プロセッサ又はＩＯデバイスから受信したデータをＦＢ−ＤＩＭＭへ送信するブロックへ送出するＦＢ−ＤＩＭＭチェックデータ通知信号４０９、４１０を有する。
【００３３】
他方、図３（Ｂ）において、メモリコントローラ４０１は、２つのリクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）５０２、５０３およびＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路（Ｓ４ＥＣ−Ｄ４ＥＤ）５０４を含んでいる。ここで、リクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）５０２、５０３は、プロセッサ又はＩＯデバイスから受信したデータのＥＣＣチェックおよびエラー訂正を行う。ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路（Ｓ４ＥＣ−Ｄ４ＥＤ）５０４は、リクエスタデータＥＣＣ
チェック／訂正回路（ＳＥＣ−ＤＥＤ）５０２、５０３から送出されたデータから、ＦＢ−ＤＩＭＭ３０へ送出するためのＥＣＣを作成する。
【００３４】
次に、図３および図４を参照して本発明による第２実施の形態のメモリ制御装置の動作を説明する。先ず、メモリのテストや初期化は、上述の動作の説明と同様に、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いて、ＥＣＣ付きデータにより行う。
【００３５】
次に、システム運用時には、システムのメモリコントローラの機能である「パトロール機能」によりＦＢ−ＤＩＭＭ３０から読み出したデータについて説明する。ここで、「パトロール機能」とは、全メモリ空間を定期間内に順番にリードしてデータを読み出し、ＥＣＣチェックを行う機能のことである。ソフトエラーによるデータ破壊を事前に発見／訂正し、訂正不可能な致命的エラーになるのを防ぐ目的で行われる機能である。
【００３６】
ＦＢ−ＤＩＭＭ３０から受信したＥＣＣおよびデータは、図３（Ａ）のＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４に送出される。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）４０２およびＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４のＥＣＣチェック結果とデータを、データエラーセレクト回路４０５に送出する。データエラーセレクト回路４０５では、図４の説明図に示されるデータエラーセレクト方法又はテーブルにより、セレクトするデータの判断とＥＣＣエラーを検出するか否かの判断を行い、リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）４０６、４０７に送出する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）４０６、４０７より送出されたＥＣＣとデータは、データセレクタ４０８により、プロセッサ又はＩＯデバイスへ送出される。
【００３７】
図４には、上述の如く、図３（Ａ）の各回路４０２〜４０４の結果、データセレクト回路４０５のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出に関する説明が示されている。データエラーセレクト回路４０５において、メモリのテストや初期化のデータと判断された場合（図４の番号５、６、７および８）には、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）４０３、４０４から送出されたＥＣＣとデータを、ＦＢ−ＤＩＭＭチェックデータ通知信号４０９および４１０により、図３（Ｂ）のリクエスタデータＥＣＣチェック／訂正回路（ＳＥＣ−ＤＥＤ）５０２、５０３に送出する。
【００３８】
ＥＣＣチェックでエラーを検出していない図４の番号５のＥＣＣとデータの場合には、ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路（Ｓ４ＥＣ−Ｄ４ＥＤ）５０４において、アドレスパリティを埋め込んだChipkill対応ＥＣＣを作成し、ＥＣＣとデータをＦＢ−ＤＩＭＭ３０へ送出する。他方、ＥＣＣチェックでエラーを検出した図４の番号６、７および８のＥＣＣとデータの場合には、ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路（Ｓ４ＥＤ−Ｄ４ＥＤ）５０４において、poisonedデータのＥＣＣを作成し、ＥＣＣとデータをＦＢ−ＤＩＭＭ３０へ送出する。
【００３９】
次に、図５および図６を参照して、本発明によるメモリ制御装置の第３実施の形態について説明する。図５は、ＦＢ−ＤＩＭＭ３０から受信した（又は読み出された）データを、プロセッサ又はＩＯデバイスへ送信するメモリコントローラ６０１のブロック図である。図６は、図５中のデータエラーセレクト回路６０５の動作説明図である。
【００４０】
図５において、メモリコントローラ６０１は、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２、ＦＢ−ＤＩＭＭデータ一致チェック回路６０３、データエラーセレクト回路６０５、２つのリクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）６０６、６０７およびデータセレクタ６０８を含んでいる。ここで、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２は、ＦＢ−ＤＩＭＭ３０から受信したデータのＥＣＣチェックおよびエラー訂正を行う。ＦＢ−ＤＩＭＭデータ一致チェック回路６０３は、ＦＢ−ＤＩＭＭ３０から受信したデータの一致チェックを行う。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２は、ＦＢ−ＤＩＭＭ３０から受信したＥＣＣが、アドレスパリティを埋め込んだChipkill対応ＥＣＣであるか否かをチェックする。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路６０３は、ＦＢ−ＤＩＭＭ３０から受信したデータが、メモリのテストや初期化によりＦＢ−ＤＩＭＭ３０にライトされたデータであるか否かをチェックする。
【００４１】
また、データエラーセレクト回路６０５は、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２のＥＣＣチェック結果およびＦＢ−ＤＩＭＭデータ一致チェック回路６０３のデータ一致チェック結果により、ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２から送出されたデータを使用するか、ＦＢ−ＤＩＭＭデータ一致チェック回路６０３から送出されたデータを使用するかを判定する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）６０６、６０７は、データセレクト回路６０５から送出されたデータから、プロセッサ又はＩＯデバイスに送出するためのＥＣＣ作成を行う。データセレクタ６０８は、プロセッサ又はＩＯデバイスに送出するデータをセレクトする。
【００４２】
先ず、メモリのテストや初期化について説明する。メモリのテストや初期化は、ＦＢ−ＤＩＭＭ３０のメモリコントローラ機能を用いて、ある一定値のデータをメモリにライトする（書き込む）ことにより行う。
【００４３】
次に、システムの運用時において、ＦＢ−ＤＩＭＭ３０から読み出されたデータについて説明する。ＦＢ−ＤＩＭＭ３０から受信したＥＣＣおよびデータは、図５のＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２およびＦＢ−ＤＩＭＭデータ一致チェック回路６０３に送出される。ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路（Ｓ４ＥＣ−Ｄ４ＥＤ）６０２のＥＣＣチェック結果とデータ、ＦＢ−ＤＩＭＭデータ一致チェック回路６０３のデータ一致チェック結果とデータを、データエラーセレクト回路６０５に送出する。データエラーセレクト回路６０５では、図６に示すデータエラーセレクト方法またはテーブルにより、セレクトするデータの判断やエラーを検出するか否かの判断を行い、リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）６０６、６０７に送出する。リクエスタ送出ＥＣＣ生成回路（ＳＥＣ−ＤＥＤ）６０６、６０７より送出されたデータは、データセレクト６０８によりプロセッサ又はＩＯデバイスへ送出される。
【００４４】
図６の説明図を参照して具体的に説明すると、図５中の回路６０２および６０３の結果が共にＯＫの場合には、データセレクト回路６０５のセレクトデータは回路６０２のデータであり、エラー検出はしない。そして、プロセッサ又はＩＯデバイスからのリクエストにより、実際にメモリにライトされたデータと判断する（図６中の第１行参照）。他方、回路６０２および６０３の結果が共にＮＧの場合には、データセレクト回路６０５は回路６０３のデータをセレクトし、メモリのテスト又は初期化時にライトされたデータと判断し、エラー検出する（図６中の末行参照）。その他の場合については、図６から明らかであるので、説明を省略する。
【００４５】
以上、本発明によるメモリ制御装置および方法並びにそれを使用する場報処理システムを、好適な実施の形態に基づいて詳述した。しかし、斯かる実施の形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨や精神を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。
【図面の簡単な説明】
【００４６】
【図１】本発明の第１実施の形態のメモリ制御装置の構成を示し、（Ａ）はメモリのライト（書き込み）時、（Ｂ）はメモリのリード（読み出し）時のブロック図である。
【図２】図１に示す第１の実施の形態における動作説明図である。
【図３】本発明の第２実施の形態のメモリ制御装置の構成を示し、（Ａ）はメモリのリード（読み出し）時、（Ｂ）はメモリのライト（書き込み）時のブロック図である。
【図４】図３に示す第２実施の形態における動作説明図である。
【図５】本発明の第３実施の形態のメモリ制御装置のメモリのリード（読み出し）時の構成を示すブロック図である。
【図６】図５に示すメモリ制御装置の動作説明図である。
【図７】ＦＤ−ＤＩＭＭメモリのメモリ制御装置が適用される代表的なシステムのシステム構成図である。
【符号の説明】
【００４７】
１０  情報処理システム
２１、２０１、４０１、６０１  メモリコントローラ（メモリ制御装置）
３０ａ〜３０ｈ  ＦＢ−ＤＩＭＭ（メモリ）
２０２、２０３、５０２、５０３  リクエスタデータＥＣＣチェック／訂正回路
２０４、５０４  ＦＢ−ＤＩＭＭ送出ＥＣＣ生成回路
３０２、４０２、６０２  ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路
３０３、３０４、４０３、４０４  ＦＢ−ＤＩＭＭデータＥＣＣチェック／訂正回路
３０５、４０５、６０５  データエラーセレクト回路
４０６、３０７、４０６、４０７  ６０６、６０７  リクエスタ送出ＥＣＣ生成回路
３０８、４０８、６０８  データセレクタ
６０３  ＦＢ−ＤＩＭＭデータ一致チェック回路
【図１】
2008262325.tif 000003
【図２】
2008262325.tif 000004
【図３】
2008262325.tif 000005
【図４】
2008262325.tif 000006
【図５】
2008262325.tif 000007
【図６】
2008262325.tif 000008
【図７】
2008262325.tif 000009