(57)【要約】【課題】より簡単な制御でミラーリングを行うことができる装置を提供する。【解決手段】第１記憶部が、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶し、第２記憶部が、第２分割後データと、第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する。そして、対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする所定の間隔の他のアドレスから第１分割後データと第２分割後データのコピーデータとを第１記憶部から読み出し、また、対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする所定の間隔の他のアドレスから第２分割後データと第１分割後データのコピーデータとを第２記憶部から読み出す。【選択図】図１
2011048742.tif 000002
【特許請求の範囲】
【請求項１】
対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、
前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御部と、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御部と、
前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御部と、
を備えることを特徴とするミラーリング制御装置。
【請求項２】
前記メモリアクセス要求制御部は、
前記第１分割後データのコピーデータと、前記第２分割後データとを用いて復元した前記対象データの正常判定を行い、当該正常判定が正常を示す場合には、その復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第２分割後データのコピーデータと、前記第１分割後データとを用いて前記対象データを復元する
ことを特徴とする請求項１に記載のミラーリング制御装置。
【請求項３】
前記メモリアクセスリスト制御部は、前記第２分割後データのコピーデータと、前記第１分割後データとを用いて復元した前記対象データの正常判定を行い、当該正常判定が正常を示す場合には、その復元した対象データを前記読み出し要求の応答として出力し、
以降の読み出し要求の応答は、前記第２分割後データのコピーデータと、前記第１分割後データとを用いて復元した前記対象データを前記読み出し要求の応答として出力する
ことを特徴とする請求項２記載のミラーリング制御装置。
【請求項４】
前記対象データは、当該対象データが正常かどうかを判定するためのエラーチェックデータを格納しており、前記対象データの分割により、当該エラーチェックデータが分割されて、それぞれ前記第１分割後データおよび前記第２分割後データに格納され、
前記メモリアクセスリスト制御部は、前記正常判定を、前記第１分割後データおよび前記第２分割後データに格納された分割後のエラーチェックデータの対に基づいて行う
ことを特徴とする請求項１から請求項３の何れかに記載のミラーリング制御装置。
【請求項５】
対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、
前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御部と、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御部と、
前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御部と、
を備えることを特徴とするミラーリング制御回路。
【請求項６】
ミラーリング制御装置の第１記憶部が、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶し、
前記ミラーリング制御装置の第２記憶部が、前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶し、
前記ミラーリング制御装置の第１制御部が、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出し、
前記ミラーリング制御装置の第２制御部が、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出し、
前記ミラーリング制御装置のメモリアクセス要求制御部が、前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元する
ことを特徴とするミラーリング制御方法。
【請求項７】
対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、
前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、
を備えたミラーリング制御装置のコンピュータを、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御手段、
前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御手段、
前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読み書きする対象データをミラーリングするミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラムに関する。
【背景技術】
【０００２】
読み書き対象のデータを複数のメモリにミラーリングして格納するミラーリングシステムが利用されている。このミラーリングの技術として特許文献１が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５８８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、特許文献１の技術では、ＤＩＭＭに書き込まれたデータの読み出しにかかる時間を短縮することができる技術である。しかしながら、この技術において、ミラーリングのための別々のメモリへのデータの書き込みや、別々のメモリからのデータの読み出しにおいて、それぞれアクセスするメモリのアドレスが異なるため、その制御が複雑となってしまう。
【０００５】
そこでこの発明は、より簡単な制御でミラーリングを行うことができるミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御部と、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御部と、前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御部と、を備えることを特徴とするミラーリング制御装置である。
【０００７】
また本発明は、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御部と、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御部と、前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御部と、を備えることを特徴とするミラーリング制御回路である。
【０００８】
また本発明は、ミラーリング制御装置の第１記憶部が、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶し、前記ミラーリング制御装置の第２記憶部が、前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶し、前記ミラーリング制御装置の第１制御部が、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出し、前記ミラーリング制御装置の第２制御部が、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出し、前記ミラーリング制御装置のメモリアクセス要求制御部が、前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元することを特徴とするミラーリング制御方法である。
【０００９】
また本発明は、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第１記憶部と、前記第２分割後データと、前記第１分割後データのコピーデータとを所定の間隔の各アドレスに記憶する第２記憶部と、を備えたミラーリング制御装置のコンピュータを、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第１分割後データと前記第２分割後データのコピーデータとを前記第１記憶部から読み出す第１制御手段、前記対象データの読み出し要求に基づいて、当該読み出し要求が示すアドレスとそのアドレスを基準とする前記所定の間隔の他のアドレスから前記第２分割後データと前記第１分割後データのコピーデータとを前記第２記憶部から読み出す第２制御手段、前記第１制御部が読み取った前記第１分割後データと、前記第２制御部が読み取った前記第２分割後データとに基づいて前記対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、前記復元した対象データを前記読み出し要求の応答として出力し、当該正常判定が異常を示す場合には、前記第１分割後データのコピーデータと、前記第２分割後データとを用いて前記対象データを復元するメモリアクセス要求制御手段、として機能させることを特徴とするプログラムである。
【発明の効果】
【００１０】
本発明によれば、書き込み対象のデータを分割して、その２つのデータをアドレスの値が１つ異なる各アドレスに対して格納し、ミラーリングのためのメモリにも同様に分割したデータを格納するため、より簡単なアドレスの制御でミラーリングを行うことができる。
また、読み出し要求の場合にも、読み出し要求で示される読み出し対象のアドレスと、そのアドレスに対して１を加えたアドレスに格納されたデータをメモリモジュールから読み出せばよいため、より簡単なアドレスの制御でミラーリングを行うことができる。
【図面の簡単な説明】
【００１１】
【図１】ミラーリング制御装置の構成を示すブロック図である。
【図２】メモリアクセス要求のフォーマットを示す図である。
【図３】メモリライトリクエストとメモリリードリクエストのフォーマットを示す図である。
【図４】リードデータのフォーマットを示す図である。
【図５】リプライデータのフォーマットを示す図である。
【図６】ミラーリング制御装置の動作を示すフローチャートを示す図である。
【図７】メモリアクセス要求制御部が第１チャネル制御部へ送信するメモリライトリクエストのフォーマットを示す図である。
【図８】メモリアクセス要求制御部が第２チャネル制御部へ送信するメモリライトリクエストのフォーマットを示す図である。
【図９】メモリリードリクエストのフォーマットを示す図である。
【図１０】リードデータのフォーマットを示す図である。
【図１１】メモリモジュールにおけるデータの格納状態の例を示す図である。
【図１２】書き込み要求を示すメモリアクセス要求の具体例を示す図である。
【図１３】メモリライトリクエストの具体例を示す第１の図である。
【図１４】メモリライトリクエストの具体例を示す第２の図である。
【図１５】読み出し要求を示すメモリアクセス要求の具体例を示す図である。
【図１６】メモリリードリクエストの具体例を示す図である。
【図１７】リードデータの具体例を示す第１の図である。
【図１８】リードデータの具体例を示す第２の図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態によるミラーリング制御装置を図面を参照して説明する。
図１は同実施形態によるミラーリング制御装置の構成を示すブロック図である。
この図において、符号１は読み書きの対象データの読み出し、又は書き込みの何れかの要求を行うプロセッサである。また、２は複数のメモリに対して読み書きの対象データをミラーリング制御するメモリ制御部である。また３および４はミラーリングされる各データを記憶する第１メモリモジュール（第１記憶部）と第２メモリモジュール（第２記憶部）である。そして、メモリ制御部２は、メモリアクセス要求制御部２０、第１チャネル制御部２１（第１制御部）、第２チャネル制御部２２（第２制御部）の処理部を備えている。
【００１３】
そして、図１で示すように、メモリ制御部２は、プロセッサ１に接続されている。メモリ制御部２は、プロセッサ１から出力されたメモリアクセス要求を解析し、メモリ書き込み要求を示す場合には、書き込む対象データが本データとコピーデータに二重化されてそれぞれ別々のメモリモジュールに格納されたミラー構成となるよう、第１メモリモジュール３、および第２メモリモジュール４に対して、メモリライトリクエストを発行する処理を行う。また、メモリ制御部２は、解析したメモリアクセス要求がメモリ読み出し要求を示す場合には、第１メモリモジュール３、および第２メモリモジュール４に対して、メモリリードリクエストを発行し、メモリアクセス要求で特定されたアドレスからのデータの読み出しを実行する。メモリ制御部２は、読み出し実行時に、第１メモリモジュール３、または第２メモリモジュール４や、メモリ制御部２内の第１チャネル制御部２１、または第２チャネル制御部２２の故障に応じて、対象データを復元するためのデータを本データや複製データから特定し、その特定したデータに基づいて対象データを復元し、プロセッサ１に正常なリプライデータとして返却する処理を行う。
【００１４】
次に、メモリ制御部の詳細な構成について説明する。
図１に示すように、メモリ制御部２は、メモリアクセス要求制御部２０、チャネル制御部２１、チャネル制御部２２から構成されている。
メモリアクセス要求制御部２０は、プロセッサ１から発行される、メモリアクセス要求を受け付けて、その要求内容を解析する処理を行う処理部である。メモリアクセス要求制御部２０は、受け付けたメモリアクセス要求が、メモリ書き込み要求である場合には、第１チャネル制御部２１、第２チャネル制御部２２に対してメモリライトリクエストを送出する。また、受け付けたメモリアクセス要求が、メモリ読み出し要求であった場合には、第１チャネル制御部２１、第２チャネル制御部２２に対して、メモリリードリクエストを送出する。そして、第１チャネル制御部２１、第２チャネル制御部２２はメモリアクセス要求制御部２０からのメモリライトリクエスト、またはメモリリードリクエストを受け取り、それぞれ第１メモリモジュール３、第２メモリモジュール４に対してデータの書き込み、または読み出しを実施する。
【００１５】
そして、本実施形態によるミラーリング制御装置は、第１メモリモジュール３が、対象データの分割により生成された第１分割後データと第２分割後データのうちの第１分割後データと、前記第２分割後データのコピーデータと所定のアドレス間隔により記憶し、第２メモリモジュール４が、第２分割後データと、第１分割後データのコピーデータとを所定のアドレス間隔により記憶する。そして、第１チャネル制御部２１が、対象データの読み出し要求に基づいて、所定のアドレス間隔で記憶されている第１分割後データと第２分割後データのコピーデータとを第１メモリモジュール３から読み出し、また第２チャネル制御部２２が、所定のアドレス間隔で記憶されている第２分割後データと第１分割後データのコピーデータとを第２メモリモジュール４から読み出す。そして、メモリアクセス要求制御部２０が、第１チャネル制御部２１が読み取った第１分割後データと、第２チャネル制御部２２が読み取った第２分割後データとに基づいて対象データを復元し、当該対象データの正常判定を行い、当該正常判定が正常を示す場合には、復元した対象データを読み出し要求の応答としてプロセッサ１へ出力する。またメモリアクセス要求制御部２０は、当該正常判定が異常を示す場合には、第１分割後データのコピーデータと、第２分割後データとを用いて対象データを復元し、その対象データの正常判定を行い、当該正常判定が正常を示す場合には、その復元した対象データを読み出し要求の応答としてプロセッサ１へ出力する。そして、メモリアクセス要求制御部２０は、以降の読み出し要求の応答は、第２分割後データのコピーデータと、第１分割後データとを用いて復元した対象データを読み出し要求の応答としてプロセッサ１へ出力する。
このような処理を行うことにより、より簡単な制御でミラーリングを行うことができるミラーリング制御装置を提供する。
【００１６】
図２はメモリアクセス要求のフォーマットを示す図である。
図３はメモリライトリクエストとメモリリードリクエストのフォーマットを示す図である。
次に、プロセッサ１がメモリ制御部２へ送信するメモリアクセス要求のフォーマットと、メモリ制御部２が第１メモリモジュール３や第２メモリモジュール４に送信するメモリライトリクエストまたはメモリリードリクエストのフォーマットについて説明する。
まず、プロセッサ１から送信されるメモリアクセス要求がメモリ書き込み要求の場合には、メモリアクセス要求は図２（ａ）で示すようなフォーマット構成のデータであり、当該メモリアクセス要求のデータは、メモリ書き込み要求を示すコードと、書き込み先のアドレスと、１６バイトのデータ部と、１６ビットのＥＣＣ（error check and correct ）部とが付加され、Ｓ４ＥＣ−Ｄ４ＥＤのコードを実現している。
また、メモリアクセス要求が、メモリ読み出し要求の場合には、図２（ｂ）で示すようにメモリ読み出し要求を示すコードと、読み出し先のアドレスとが付加される。
【００１７】
また、メモリ制御部２が第１メモリモジュール３や第２メモリモジュール４に送信するメモリライトリクエストは、図３（ａ）に示すようなフォーマット構成であり、メモリ書き込み要求を示すコードと、書き込み先のアドレスと、８バイト＋８ビットＥＣＣのデータ部とが付加され、ＥＣＣ付の汎用ＤＩＭＭに対応可能となっている。データ部の８バイト＋８ビットＥＣＣは、プロセッサから発行された、メモリ書き込み要求を示すメモリアクセス要求の１６バイト＋１６ビットＥＣＣのデータにおけるデータ部分（１６バイト）とＥＣＣ部分（１６ビットＥＣＣ）をそれぞれ２分割したデータを結合したものである。したがって、メモリライトリクエストに格納される８ビットＥＣＣはこれのみで、当該メモリライトリクエストに格納される８バイトのデータを保護しているものではない。すなわち、メモリモジュール３に格納される８バイト＋８ビットＥＣＣのデータと、メモリモジュール４に格納される８バイト＋８ビットＥＣＣのデータを結合して、１６バイト＋１６ビットＥＣＣを復元することにより、初めてＥＣＣとしての機能を果たす。これにより、１６バイトのデータに対して、Ｓ４ＥＣ−Ｄ４ＥＤのコードを実現している。
【００１８】
また、メモリ制御部２が第１メモリモジュール３や第２メモリモジュール４に送信するメモリリードリクエストは、図３（ｂ）に示すようなフォーマット構成であり、図２（ｂ）の読み出し要求を示すメモリアクセス要求と同一のフォーマット構成となっている。
【００１９】
図４はリードデータのフォーマットを示す図である。
図５はリプライデータのフォーマットを示す図である。
図４は、メモリ制御部２が第１メモリモジュール３や第２メモリモジュール４から読み出したリードデータのフォーマットを示す図である。図４で示すように、リードデータは、リプライを示すコード部と、読み出した８バイト＋８ビットＥＣＣのデータを格納するデータ部とを有する。
また図５は、メモリ制御部２がメモリアクセス要求の応答としてプロセッサ１に送信するリプライデータのフォーマットを示す図である。図５で示すように、リプライデータは、リプライを示すコード部と、第１メモリモジュール３と第２メモリモジュール４からそれぞれ読み出した２つの８バイト＋８ビットＥＣＣのデータを結合した、１６バイト＋１６ビットＥＣＣのデータを格納するデータ部とを有する。
【００２０】
図６は、ミラーリング制御装置の動作を示すフローチャートを示す図である。
次に、ミラーリング制御装置の動作について説明する。
まず、プロセッサ１が、図２で示すメモリアクセス要求をメモリ制御部２へ送信すると、そのメモリアクセス要求をメモリ制御部２が受信する（ステップＳ１０１）。すると、メモリアクセス要求制御部２０は、取得したメモリアクセス要求が、書き込み要求を示すのか、または読み出し要求を示すのかを、当該メモリアクセス要求に格納されたコードから解析する（ステップＳ１０２）。そして、メモリアクセス要求が書き込み要求を示す場合には、メモリアクセス要求制御部２０は、図２（ａ）で示した、書き込み要求を示すメモリアクセス要求のデータ部に格納されているデータＡ（１６バイト＋１６ビットＥＣＣ）を、２つの８バイト＋８ビットＥＣＣ（図３（ａ））のデータに分割する（ステップＳ１０３）。なお、分割した２つのデータのうちのデータ部上位（Upper）８バイト＋ＥＣＣデータ上位８ビットからなるデータをデータＵ（第１分割後データ）、データ部下位（Lower）８バイト＋ＥＣＣデータ下位８ビットからなるデータをデータＬ（第２分割後データ）と呼ぶこととする。
【００２１】
そして、メモリアクセス要求制御部２０は、データＵとデータＬとをそれぞれコピーしてデータＵのコピーデータであるデータＵ’と、データＬのコピーデータであるデータＬ’とを生成する。次に、メモリアクセス要求制御部２０は、データＵをデータ部に格納するメモリライトリクエストＵと、データＬのコピーデータであるデータＬ’をデータ部に格納するメモリライトリクエストＬ’を生成し、第１チャネル制御部２１へクロックサイクルを利用して連続して送信する（ステップＳ１０４ａ）。また、メモリアクセス要求制御部２０は、データＬをデータ部に格納するメモリライトリクエストＬと、データＵのコピーデータであるデータＵ’をデータ部に格納するメモリライトリクエストＵ’を生成し、第２チャネル制御部２２へクロックサイクルを利用して連続して送信する（ステップＳ１０４ｂ）。
【００２２】
このメモリライトリクエストの送信時には、メモリアクセス要求制御部２０は、各チャネル制御部へ送信する１つ目のメモリライトリクエスト（メモリライトリクエストＵまたはメモリライトリクエストＬ）のアドレス部にはプロセッサ１から指定されたアドレスを格納し、２つ目のメモリライトリクエスト（メモリライトリクエストＬ’またはメモリライトリクエストＵ’）にはプロセッサ１から指定されたアドレスに１を加算したアドレスを格納する。これにより、１つ目のメモリライトリクエストと２つ目のライトメモリリクエストは異なるメモリのアドレスに登録されるため、アドレスが重複することによるデータの書きつぶしを防ぐようにしている。そして、第１チャネル制御部２１は、メモリライトリクエストＵとメモリライトリクエストＬ’とを用いてデータＵとデータＬ’を書き込み先のアドレスに基づいて第１メモリモジュール３に書き込み（ステップＳ１０５ａ）、また、第２チャネル制御部２２は、メモリライトリクエストＬとメモリライトリクエストＵ’とを用いてデータＬとデータＵ’を書き込み先のアドレスに基づいて第２メモリモジュール４に書き込む（ステップＳ１０５ｂ）。なお、本実施形態においては、１つ目と２つ目のメモリライトリクエストに格納するアドレスは、メモリモジュールにおいて連続するアドレスに書き込まれるようにアドレス値１だけ異なるよう制御しているが、所定のアドレス間隔で書き込まれるように制御してもよい。
【００２３】
図７はメモリアクセス要求制御部が第１チャネル制御部へ送信するメモリライトリクエストのフォーマットを示す図である。
図８はメモリアクセス要求制御部が第２チャネル制御部へ送信するメモリライトリクエストのフォーマットを示す図である。
（図７（ａ））で示すように、メモリアクセス要求制御部２０が第１チャネル制御部２１へ送信するメモリライトリクエストＵは、データ部にデータＵを格納している。また（図７（ｂ））で示すように、メモリアクセス要求制御部２０が第１チャネル制御部２１へ送信するメモリライトリクエストＬ’は、データ部にデータＬ’を格納している。
また、（図８（ａ））で示すように、メモリアクセス要求制御部２０が第２チャネル制御部２２へ送信するメモリライトリクエストＬは、データ部にデータＬを格納している。また（図８（ｂ））で示すように、メモリアクセス要求制御部２０が第２チャネル制御部２２へ送信するメモリライトリクエストＵ’は、データ部にデータＵ’を格納している。
【００２４】
次に、上述のステップＳ１０２の解析において、メモリアクセス要求が、読み出し要求を示す場合について説明する。この場合、メモリアクセス要求制御部２０は、読み出し要求を示すプロセッサ１からのメモリアクセス要求に基づいて、当該メモリアクセス要求のフォーマット構成と同一の第１メモリリードリクエストと、メモリアクセス要求が示す読み出し先のアドレスに１を加えたアドレスを格納した第２メモリリードリクエストを生成する（ステップＳ１０６）。そして、その第１メモリリードリクエストと、第２メモリリードリクエストとを、クロックサイクルを利用して１サイクル目と２サイクル目で連続して、第１チャネル制御部２１と第２チャネル制御部２２とへそれぞれ送信する（ステップＳ１０７）。図９に第１メモリリードリクエストと第２メモリリードリクエストのフォーマットを示す。なお、書き込み制御の際に、１つ目と２つ目のメモリライトリクエスト内のデータが所定の間隔で登録されるように制御されている場合には、メモリリードリクエストにおいても所定の間隔でデータを読み出すようにアドレスが設定される。つまり、第２メモリリードリクエストには、メモリアクセス要求が示す読み出し先のアドレスに所定の間隔が示すアドレス値を加えた値が格納されることとなる。
【００２５】
そして、第１チャネル制御部２１と第２チャネル制御部２２はそれぞれ、第１メモリリードリクエストに格納されている読み出し先のアドレスに基づいて、第１メモリモジュール３と第２メモリモジュール４からデータを読み出して、その読み出したデータを格納した第１リードデータを生成しメモリアクセス要求制御部２０へ送信する（ステップＳ１０８ａ）。また、第１チャネル制御部２１と第２チャネル制御部２２はそれぞれ、第２メモリリードリクエストに格納されている読み出し先のアドレスに基づいて、第１メモリモジュール３と第２メモリモジュール４からデータを読み出して、その読み出したデータを格納した第２リードデータを生成しメモリアクセス要求制御部２０へ送信する（ステップＳ１０８ｂ）。図１０に第１リードデータと第２リードデータのフォーマットを示す。なお、第１チャネル制御部２１と第２チャネル制御部２２のそれぞれにおいて、第１リードデータと第２リードデータは、クロックサイクルを利用して１サイクル目と２サイクル目で連続して、メモリアクセス要求制御部２０へ送信される。
【００２６】
図１１は、メモリモジュールにおけるデータの格納状態の例を示す図である。
上述の書き込み要求を示すメモリアクセス要求に基づいて、メモリモジュール３のアドレス０には、データＡの上位８バイト＋そのＥＣＣ上位８ビットを示すデータＵが格納されており、メモリモジュール４のアドレス０には、データＡの下位８バイト＋そのＥＣＣ下位８ビットを示すデータＬが格納されている。また、メモリモジュール３のアドレス１には、データＡの下位８バイト＋そのＥＣＣ下位８ビットを示すデータＬのコピーデータであるデータＬ’が格納されており、メモリモジュール４のアドレス１には、データＡの上位８バイト＋そのＥＣＣ上位８ビットを示すデータＵのコピーデータであるデータＵ’が格納されている。
【００２７】
そして、上述の読み出し要求に基づく処理によって、メモリアクセス要求制御部２０は、第１チャネル制御部２１、第２チャネル制御部２２それぞれから、メモリモジュール３、４内に格納されたデータのうち、データＵとデータＬを、２つの受信した第１リードデータから取得できる。そして、メモリアクセス要求部２０は、受信した２つの第１リードデータに格納されているデータＵとデータＬとを用いてデータＡを復元する（ステップＳ１０９）。つまり、データＵに格納されているデータＡの上位８バイトとデータＬに格納されているデータＡの下位８バイトを結合し、またデータＵに格納されているデータＡのＥＣＣ上位８ビットとデータＬに格納されているデータＡのＥＣＣ下位８ビットを結合する。これにより、１６バイト＋１６ビットＥＣＣの元データであるデータＡが復元される。
【００２８】
メモリアクセス要求制御部２０は、復元したデータＡのＥＣＣ検査を当該復元したデータＡのＥＣＣ１６ビットを用いて行う（ステップＳ１１０）。そして、メモリアクセス要求制御部２０は、エラーがない場合や、訂正可能なエラーであった場合には、復元したデータＡを格納したリプライデータ（図５）を生成し、プロセッサ１へ送信する（ステップＳ１１１）。これにより、読み出し要求に基づく処理が終了する。
【００２９】
ここで、ＥＣＣ検査で訂正不可能なエラーを検出した場合には、メモリアクセス要求制御部２０は、チャネル制御部２１から受信した第１リードデータに格納されるデータＵと、同じくチャネル制御部２１から受信した第２リードデータに格納されるデータＬ’とを用いて１６バイト＋１６ビットＥＣＣのデータＡを復元し、ＥＣＣ検査を実行する。この検査でエラーがない場合や、訂正可能なエラーであった場合には、このデータＡをリプライデータに格納してプロセッサ１へ送信する。また、これ以降の処理では、チャネル制御部２１から受信したリードデータを用いて復元したデータのみを用いてリプライデータを生成するよう動作を変更する。
【００３０】
また、メモリアクセス要求制御部２０は、第１チャネル制御部２１から受信した第１リードデータに格納されるデータＵと、同じくチャネル制御部２１から受信した第２リードデータに格納されるデータＬ’とを用いて復元したデータＡのＥＣＣ検査においても、訂正不可能エラーが検出された場合、次に、チャネル制御部２２から受信した第１リードデータに格納されるデータＬと、同じくチャネル制御部２２から受信した第２リードデータに格納されるデータＵ’とを用いて１６バイト＋１６ビットＥＣＣのデータＡを復元し、ＥＣＣ検査を実行する。この検査でエラーがない場合や、訂正可能なエラーであった場合には、このデータＡをリプライデータに格納してプロセッサ１へ送信する。また、これ以降の処理では、チャネル制御部２２から受信したリードデータを用いて復元したデータのみを用いてリプライデータを生成するよう動作を変更する。
なお、このＥＣＣ検査でも、訂正不可能エラーが検出された場合には、継続動作不可となる。
【００３１】
次に、本発明の具体的な実施例について図を用いて説明する。
プロセッサ１から、アドレス０に対して、データＡを書き込むよう要求するメモリアクセス要求が、また、アドレス２に対して、データＢを書き込むよう要求するメモリアクセス要求が、メモリ制御部２に対して送信したとする。すると、そのプロセッサ１から送信された、アドレス０に対する書き込み要求を示すメモリアクセス要求（図１２）を、メモリ制御手段２内のメモリアクセス要求制御部２０が受信する。メモリアクセス要求制御部２０は、受け付けたメモリアクセス要求を解析し、書き込み要求であることを検出すと、データＡ（１６バイト＋１６ビットＥＣＣ）を、２つの８バイト＋８ビットＥＣＣのデータに分割し、データＡＵ（第１分割後データ）とデータＡＬ（第２分割後データ）を生成する。
【００３２】
そして、メモリアクセス要求制御部２０は、データＡＵとデータＡＬとをそれぞれコピーしてデータＡＵのコピーデータであるデータＡＵ’と、データＡＬのコピーデータであるデータＡＬ’とを生成する。次に、メモリアクセス要求制御部２０は、データＡＵをデータ部に格納する図１３（ａ）で示すメモリライトリクエストＡＵと、データＡＬのコピーデータであるデータＡＬ’をデータ部に格納する図１３（ｂ）で示すメモリライトリクエストＡＬ’を生成し、第１チャネル制御部２１へクロックサイクルを利用して連続して送信する。また、メモリアクセス要求制御部２０は、データＡＬをデータ部に格納する図１４（ａ）で示すメモリライトリクエストＡＬと、データＡＵのコピーデータであるデータＡＵ’をデータ部に格納する図１４（ｂ）で示すメモリライトリクエストＡＵ’を生成し、第２チャネル制御部２２へクロックサイクルを利用して連続して送信する。図１３で示すように、メモリライトリクエストＡＵのアドレスには書き込み先のアドレスとして０が、また、メモリライトリクエストＡＬ’のアドレスには書き込み先のアドレスとして１が格納される。また、図１４で示すように、メモリライトリクエストＡＬのアドレスには書き込み先のアドレスとして０が、また、メモリライトリクエストＡＵ’のアドレスには書き込み先のアドレスとして１が格納される。
【００３３】
書き込み要求の処理によって第１メモリモジュール３や第２メモリモジュール４には図１１のようにデータが格納される。本例では、各メモリモジュールのアドレス０、１にデータＡを元データとするデータが格納される。なお、次に、データＢの書き込み要求を示すメモリアクセス要求があった場合には、アドレス２、３にデータＢを元データとするデータが格納されることなる。
【００３４】
そして、プロセッサ１が、アドレス０に対する読み出し要求を示すメモリアクセス要求（図１５）を送信した場合、メモリアクセス要求制御部２０は、受け取ったメモリアクセス要求から、第１メモリリードリクエスト（図１６（ａ））と、メモリアクセス要求が示す読み出し先のアドレスに１を加えたアドレスを格納した第２メモリリードリクエスト（図１６（ｂ））を生成し、それらをクロックサイクルを利用して１サイクル目と２サイクル目で連続して、第１チャネル制御部２１と第２チャネル制御部２２とへそれぞれ送信する。
【００３５】
そして、第１チャネル制御部２１と第２チャネル制御部２２はそれぞれ、第１メモリリードリクエストに格納されている読み出し先のアドレスに基づいて、第１メモリモジュール３と第２メモリモジュール４からデータを読み出して、その読み出したデータを格納した第１リードデータ（図１７（ａ）、図１８（ａ））を生成し、メモリアクセス要求制御部２０へ送信する。また、第１チャネル制御部２１と第２チャネル制御部２２はそれぞれ、第２メモリリードリクエストに格納されている読み出し先のアドレスに基づいて、第１メモリモジュール３と第２メモリモジュール４からデータを読み出して、その読み出したデータを格納した第２リードデータ（図１７（ｂ）、図１８（ｂ））を生成しメモリアクセス要求制御部２０へ送信する。
【００３６】
そして、上述の読み出し要求に基づく処理によって、メモリアクセス要求制御部２０はデータＡを復元し、当該復元したデータＡのＥＣＣ検査をＥＣＣ１６ビットを用いて行う。そして、メモリアクセス要求制御部２０は、エラーがない場合や、訂正可能なエラーであった場合には、復元したデータＡを格納したリプライデータを生成し、プロセッサ１へ送信する。これにより、読み出し要求に基づく処理が終了する。
【００３７】
ＥＣＣ検査で訂正不可能なエラーを検出した場合には、メモリアクセス要求制御部２０は、データＵとデータＬ’とを用いてデータＡを復元し、ＥＣＣ検査を実行し、この検査でエラーがない場合や、訂正可能なエラーであった場合には、このデータＡをリプライデータに格納してプロセッサ１へ送信する。また、これ以降の処理では、チャネル制御部２１から受信したリードデータを用いて復元したデータのみを用いてリプライデータを生成するよう動作を変更する。
【００３８】
また、メモリアクセス要求制御部２０は、データＵとデータＬ’とを用いて復元したデータＡのＥＣＣ検査においても、訂正不可能エラーが検出された場合、データＬとデータＵ’とを用いてデータＡを復元し、ＥＣＣ検査を実行する。この検査でエラーがない場合や、訂正可能なエラーであった場合には、このデータＡをリプライデータに格納してプロセッサ１へ送信する。また、これ以降の処理では、チャネル制御部２２から受信したリードデータを用いて復元したデータのみを用いてリプライデータを生成するよう動作を変更する。
【００３９】
以上、本発明の実施形態によれば、書き込み対象のデータを分割して、その２つのデータをアドレスの値が１つ異なる各アドレスに対して格納し、ミラーリングのためのメモリにも同様に分割したデータを格納するため、より簡単なアドレスの制御でミラーリングを行うことができる。
また、読み出し要求の場合にも、読み出し要求で示される読み出し対象のアドレスと、そのアドレスに対して１を加えたアドレスに格納されたデータをメモリモジュールから読み出せばよいため、より簡単なアドレスの制御でミラーリングを行うことができる。
また、書き込み／読み出しの両方の制御において、ミラーリングを行っている両方のメモリモジュールに対して同一アドレスでアクセスするため、その制御処理を共通化することができる。
【００４０】
なお、上述のミラーリング装置は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００４１】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。また、ミラーリング装置は回路によって構成されるようにしてもよい。
【符号の説明】
【００４２】
１・・・プロセッサ
２・・・メモリ制御部
３・・・第１メモリモジュール
４・・・第２メモリモジュール
２０・・・メモリアクセス要求制御部
２１・・・第１チャネル制御部
２２・・・第２チャネル制御部
【図１】
2011048742.tif 000003
【図２】
2011048742.tif 000004
【図３】
2011048742.tif 000005
【図４】
2011048742.tif 000006
【図５】
2011048742.tif 000007
【図６】
2011048742.tif 000008
【図７】
2011048742.tif 000009
【図８】
2011048742.tif 000010
【図９】
2011048742.tif 000011
【図１０】
2011048742.tif 000012
【図１１】
2011048742.tif 000013
【図１２】
2011048742.tif 000014
【図１３】
2011048742.tif 000015
【図１４】
2011048742.tif 000016
【図１５】
2011048742.tif 000017
【図１６】
2011048742.tif 000018
【図１７】
2011048742.tif 000019
【図１８】
2011048742.tif 000020