(57)【要約】【課題】データ信号の取得が成功する可能性が高まるようにデータ送受信装置の動作制御が可能なデータ送受信システムを提供する。【解決手段】第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、第１および第２のデータ送受信装置間のデータ信号とデータ信号を取得するタイミング信号との送受信を制御する複数の制御装置とを有するデータ送受信システムにおいて、第１のデータ送受信装置は、各データ信号に対するタイミング信号の位相が伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って第２のデータ送受信装置を動作させる場合、データ信号の取得判定の基準となる電圧の範囲が、他の位相の組合せよりも広くなる位相の組合せを決定する決定部と、決定した位相の組合せに基づいて第２のデータ送受信装置を制御する制御部とを有する。【選択図】図２
2019079257.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ送受信装置と、前記第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、前記第１のデータ送受信装置と前記第２のデータ送受信装置とに接続されるとともに、前記第１のデータ送受信装置と前記第２のデータ送受信装置との間のデータ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置とを有するデータ送受信システムにおいて、
前記第１のデータ送受信装置は、
各データ信号に対するタイミング信号の位相が前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記第２のデータ送受信装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する決定部と、
前記決定部が決定した位相の組合せに基づいて前記第２のデータ送受信装置を制御する制御部と、
を有することを特徴とするデータ送受信システム。
【請求項２】
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の制御装置ごとに指定された位相の組合せであることを特徴とする請求項１に記載のデータ送受信システム。
【請求項３】
前記データ送受信システムは、複数の前記第２のデータ送受信装置を備え、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の第２のデータ送受信装置ごとに指定された位相の組合せである
ことを特徴とする請求項１に記載のデータ送受信システム。
【請求項４】
前記第２のデータ送受信装置は、前記データ信号により送受信されるデータを格納する、前記複数のデータ線と接続される複数の領域を有し、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の領域ごとに指定された位相の組合せである
ことを特徴とする請求項１に記載のデータ送受信システム。
【請求項５】
前記第１のデータ送受信装置は、演算処理装置であり、
前記第２のデータ送受信装置は、前記データを格納するメモリであり、
前記制御装置は、前記演算処理装置の制御に従って、前記メモリを制御するメモリ制御装置である
ことを特徴とする請求項１から４のいずれか一項に記載のデータ送受信システム。
【請求項６】
データ信号を記憶する記憶装置に伝送路を介して接続されるとともに、前記データ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置と接続されるデータ送受信装置であって、
各データ信号に対するタイミング信号の位相が前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記記憶装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する決定部と、
前記決定部が決定した位相の組合せに基づいて前記記憶装置を制御する制御部と
を有することを特徴とするデータ送受信装置。
【請求項７】
第１のデータ送受信装置と、前記第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、前記第１のデータ送受信装置と前記第２のデータ送受信装置
とに接続されるとともに、前記第１のデータ送受信装置と前記第２のデータ送受信装置との間のデータ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置とを有するデータ送受信システムの制御方法であって、
前記第１のデータ送受信装置に、
各データ信号に対するタイミング信号の位相が前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記第２のデータ送受信装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定させ、
前記決定した位相の組合せに基づいて前記第２のデータ送受信装置を制御させる
ことを特徴とするデータ送受信システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送受信システム、データ送受信装置およびデータ送受信システムの制御方法に関する。
【背景技術】
【０００２】
従来から、Central Processing Unit（ＣＰＵ）によるメモリに対するデータの入出力
において、データストローブ信号（ＤＱＳ信号）を用いて複数ビットのデータ信号（ＤＱ信号）の書き込みおよび読み出しが実行される。ＤＱ信号に対するＤＱＳ信号の位相は固定されており、例えばＤＱＳ信号の立ち上がりがＤＱ信号の読み書きのタイミングであるストローブポイントとして設定されている。ＤＱ信号は複数ビットが１つのグループとしてまとめられ、１つのＤＱＳ信号により、複数ビットのＤＱ信号の読み書きが実行される。各ビットのＤＱ信号はそれぞれ異なる伝送路により送信されるため、各ＤＱ信号間において位相差（スキュー）が生じ得る。そこで、各ＤＱ信号の位相が、ＤＱＳ信号のストローブポイントを基準として同相となるように調整される。
【０００３】
また、いわゆるアイパターンを用いてＤＱＳ信号とＤＱ信号の位相を調整することも行われている。まず、アイパターンにおけるＤＱ信号のリファレンス電圧方向と位相方向とで、リファレンス電圧幅が最大となる位相とＤＱ信号のデータが取得可能な位相幅が最大となる電圧とが決定される。そして、決定された位相と電圧とを用いてＤＱ信号とＤＱＳ信号との間のストローブポイントが最適化される。
【０００４】
多数のメモリを使用する場合のメモリアクセスでは、メモリチャネルあたりの記憶容量を上げるため、伝送路に複数のメモリモジュールが接続される。しかし、メモリモジュールが複数接続されることで伝送路の分岐が多くなる。このため、各分岐点において伝送路とメモリモジュールとの間でインピーダンス不整合が起き、伝送される信号の多重反射が生じ得る。
【０００５】
そこで、各メモリモジュールについてリファレンス電圧ごとにデータ信号を有効に取得できる期間が長い位相を推定し、推定された位相を基にＤＱ信号とＤＱＳ信号との間のストローブポイントを最適化する技術が提案されている（特許文献１、２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−１９７２７５号公報
【特許文献２】特開２０１２−１９４６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えばＣＰＵが複数のメモリコントローラを有する場合、ＣＰＵの動作に伴って発生する電源ノイズやメモリコントローラにおけるデータアクセスの動作タイミングに関連するノイズなどの影響でストローブポイントが変動する可能性がある。このようにＣＰＵやメモリなどのデータ送受信装置間でのデータ信号の取得において、装置構成によっては、上記の技術を用いて最適化したデータ信号の取得タイミングが、装置を稼働させた際の最適な取得タイミングとはならない可能性がある。
【０００８】
本件開示の技術は、上記の事情に鑑み、データ信号の取得が成功する可能性が高まるよ
うにデータ送受信装置の動作制御が可能なデータ送受信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本件開示のデータ送受信システムは、１つの側面では、第１のデータ送受信装置と、第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、第１のデータ送受信装置と第２のデータ送受信装置とに接続されるとともに、第１のデータ送受信装置と第２のデータ送受信装置との間のデータ信号とデータ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置とを有するデータ送受信システムにおいて、第１のデータ送受信装置は、各データ信号に対するタイミング信号の位相が、伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って第２のデータ送受信装置を動作させる場合、データ信号を取得できるか否かを判定する基準となる電圧の範囲が、情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する決定部と、決定部が決定した位相の組合せに基づいて第２のデータ送受信装置を制御する制御部とを有する。
【発明の効果】
【００１０】
本件開示の技術によれば、データ信号の取得が成功する可能性が高まるようにデータ送受信装置の動作制御が可能なデータ送受信システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態におけるデータ送受信システムの構成の一例を示す図である。
【図２】図２は、一実施形態におけるデータ送受信システムの構成を示す図１とは別の図である。
【図３】図３は、一実施形態におけるデータ送受信装置が実行する処理のフローチャートである。
【図４】図４は、一実施形態においてデータ送受信装置がＯＰ１０１で実行する処理のフローチャートである。
【図５】図５は、一実施形態におけるレジスタの一例を示す図である。
【図６】図６は、一実施形態におけるディレイタップの組合せの一例を示す図である。
【図７】図７（ａ）および図７（ｂ）は、一実施形態におけるメモリクロック信号の相関の一例を示す図である。
【図８】図８は、一実施形態においてメモリコントローラから送信される信号の一例を模式的に示す図である。
【図９】図９は、一実施形態におけるディレイタップ設定前後のノイズの一例を模式的に示す図である。
【図１０】図１０は、一実施形態においてデータ送受信装置がＯＰ１０２で実行する処理のフローチャートである。
【図１１】図１１は、一実施形態におけるメモリモジュールの構成の一例を示す図である。
【図１２】図１２は、一実施形態におけるディレイタップの組合せの別の一例を示す図である。
【図１３】図１３は、一実施形態におけるメモリクロック信号の相関の別の一例を示す図である。
【図１４】図１４は、一実施形態におけるディレイタップ設定前後のノイズの別の一例を模式的に示す図である。
【図１５】図１５は、一実施形態におけるディレイタップの組合せによるデータ信号の取得の成否の一例を示す図である。
【図１６】図１６は、一実施形態におけるディレイタップの図１５の場合とは異なる組合せによるデータ信号の取得の成否の一例を示す図である。
【図１７】図１７は、一実施形態におけるディレイタップの図１５および図１６の場合とは異なる組合せによるデータ信号の取得の成否の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
【００１３】
一実施形態におけるデータ送受信システム１について、図１を用いて説明する。データ送受信システム１は、ＣＰＵ（Central Processing Unit）１０、メモリコントローラ（
ＭＣ）＃０  ２０、ＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０、メモリモジュール７０、１７０、２７０、３７０、４７０、５７０、６７０、７７０を有する。なお、ＣＰＵ１０が第１のデータ送受信装置の一例である。また、ＭＣ＃０  ２０、ＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０が、制御装置の一例である。また、メモリモジュール７０、１７０、２７０、３７０、４７０、５７０、６７０、７７０が、第２のデータ送受信装置の一例である。
【００１４】
図１に示すように、例えばＭＣ＃０  ２０は伝送路５０によってメモリモジュール７０に接続されている。また、ＭＣ＃０  ２０は伝送路５０とは別の伝送路によってメモリモジュール１７０に接続されている。同様に、ＭＣ＃１  １２０は、それぞれ異なる伝送路によってメモリモジュール２７０、３７０に接続されている。また、ＭＣ＃２  ２２０は、それぞれ異なる伝送路によってメモリモジュール４７０、５７０に接続されている。さらに、ＭＣ＃３  ３２０は、それぞれ異なる伝送路によってメモリモジュール６７０、７７０に接続されている。
【００１５】
ＣＰＵ１０は、データ送受信システム１内の各部の動作を制御して後述する処理を実行する。ＭＣ＃０  ２０、ＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０は、ＤＱＳ信号の生成、ＰＲＢＳ（Pseudo Random Bit Sequence）テストパターンなどの所定パターンのＤＱ信号の生成、リファレンス電圧（Ｖｒｅｆ）に対するＤＱ信号の読み出しの成功および失敗の判定などを行う。なお、ＤＱＳ信号がストローブ信号およびデータ信号の取得タイミングを示すタイミング信号、ＤＱ信号がデータ信号の一例である。また、リファレンス電圧が、データ信号を取得できるか否かを判定する基準となる電圧の一例である。また、メモリモジュール７０、１７０、２７０、３７０、４７０、５７０、６７０、７７０は、データを記憶するメモリ素子を複数備える。以下の説明ではメモリモジュールは、ＤＩＭＭ（Dual In-line Memory Module）を想定する。
【００１６】
ＭＣ＃０  ２０は、メモリモジュール７０に対するメモリクロック信号ＣＬＫ０の送信と、メモリモジュール１７０に対するメモリクロック信号ＣＬＫ１の送信を制御する。ＭＣ＃２  ２２０、ＭＣ＃３  ３２０も、それぞれメモリモジュール２７０、４７０、６７０に対するメモリクロック信号ＣＬＫ０の送信と、メモリモジュール３７０、５７０、７７０に対するメモリクロック信号ＣＬＫ１の送信を制御する。
【００１７】
図２には、本実施形態に係るＣＰＵ１０、ＭＣ＃０  ２０、Ｉ／Ｏ（Input/Output）回路３０、伝送路４０、５０、６０、メモリモジュール７０を示す。ＭＣ＃０  ２０は、内部回路２０ａ、ＰＲＢＳ生成部２０ｂ、データ取得判定部２０ｃ、開始フラグ２０ｄ、データ取得判定レジスタ２０ｅを備える。なお、ＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０は、ＭＣ＃０  ２０と同様の構成を有するため、ここでは説明を省略する。
【００１８】
Ｉ／Ｏ回路３０は、メモリクロック信号ＣＬＫ０をメモリモジュール７０に出力する回路である。Ｉ／Ｏ回路３０は、ラッチ回路３０ａ、３０ｆ、３０ｇ、３０ｐ、ディレイタップ設定部３０ｂ、３０ｃ、３０ｈ、３０ｉ、３０ｑ、ドライバ３０ｄ、３０ｊ、３０ｒ、レシーバ３０ｅ、３０ｋ、リファレンス電圧（Ｖｒｅｆ）設定部３０ｍ、分圧回路３０ｎを備える。メモリモジュール７０は、Ｒａｎｋ０のメモリ素子７０ａ、Ｒａｎｋ１のメモリ素子７０ｂ、ドライバ７０ｃ、７０ｅ、レシーバ７０ｄ、７０ｆ、７０ｍ、ＲＣＤ（Registered Clock Driver）７０ｎを備える。なお、図２では、メモリモジュール７０の
メモリ素子７０ａとメモリ素子７０ｂを２組示しているが、それぞれ同じメモリ素子である。
【００１９】
本実施形態では、ＭＣ＃０  ２０には、伝送路を経由してメモリモジュール１７０と接続するメモリクロック信号ＣＬＫ１出力用のＩ／Ｏ回路が接続されている。メモリモジュール１７０はメモリモジュール７０に対応する構成を有する。また、メモリモジュール１７０に接続される伝送路は伝送路４０、５０、６０と同様である。さらに、メモリモジュール１７０と接続するＩ／Ｏ回路は、Ｉ／Ｏ回路３０に対応する構成を有する。
【００２０】
ＭＣ＃０  ２０の内部回路２０ａは、ＰＲＢＳ生成部２０ｂにより生成されるＰＲＢＳテストパターンをＩ／Ｏ回路３０に出力する。ＰＲＢＳ生成部２０ｂは、ＰＲＢＳテストパターンのＤＱ信号を生成する。ここで、ＰＲＢＳテストパターンとは、「０」と「１」のビットが交互に並ぶなど規則的なビットの組み合わせからなるパターンではなく、「０」と「１」の順番が確定的な計算によって求まる擬似乱数を用いたパターンである。これにより、ＰＲＢＳテストパターンのＤＱ信号は、実際のデータ転送におけるＤＱ信号と同等の信号であるとみなせる。
【００２１】
開始フラグ２０ｄは、本実施形態における位相設定の処理を開始するトリガとなるフラグであり、例えばデータ送受信システム１のユーザの操作に基づいてＣＰＵ１０がオンまたはオフに設定する。データ取得判定部２０ｃは、リファレンス電圧およびＤＱＳ信号の位相を変化させたときのＤＱ信号の取得が成功したか否かを判定する。
【００２２】
データ取得判定レジスタ２０ｅは、データ取得判定部２０ｃによる判定の結果を格納する。また、図２に示すように、データ取得判定レジスタ２０ｅは、本実施形態において以下に説明する処理を実行するためのデータを記憶するレジスタを有する。一例として、データ取得判定レジスタ２０ｅは、ＤＱ０〜ＤＱ３の各ＤＱ信号のＨレベルおよびＬレベルを判定するために使用するリファレンス電圧の値が格納されるレジスタを有する。
【００２３】
また、データ取得判定レジスタ２０ｅは、ＤＱ０〜ＤＱ３の各ＤＱ信号のディレイタップを設定するために使用するレジスタを有する。本実施形態において、ＤＱ信号のディレイタップとは、ＤＱ信号の位相の遅延量である。さらに、データ取得判定レジスタ２０ｅは、ＣＰＵ１０が、ＤＱＳ信号のディレイタップを設定するために使用するレジスタを有する。本実施形態において、ＤＱＳ信号のディレイタップとは、ＤＱＳ信号の位相の遅延量である。さらに、データ取得判定レジスタ２０ｅは、メモリモジュールの動作制御に使用するメモリクロック信号（図中「ＣＬＫ」）のディレイタップを設定するために使用するレジスタを有する。本実施形態において、ＣＰＵ１０の動作周波数を決めるＣＰＵクロック信号を基準として位相を変更した信号がメモリクロック信号として用いられる。各メモリモジュールに送られるメモリクロック信号の位相は、ディレイタップ制御部９０ａによって決定される。
【００２４】
なお、本実施形態では、ディレイタップ設定部３０ｂ、３０ｃ、３０ｈ、３０ｉが、ＤＱＳ信号と各ＤＱ信号との間の位相差を設定する。また、ディレイタップ設定部３０ｑが
、メモリクロック信号の位相を設定する。そして、各レジスタに設定される値に従って、ＤＱ信号のリファレンス電圧、ＤＱ信号のディレイタップ、ＤＱＳ信号のディレイタップ、メモリクロック信号のディレイタップがそれぞれ決まる。
【００２５】
さらに、データ取得判定レジスタ２０ｅは、ＣＰＵ１０が、ＭＣ＃０  ２０に対して、ＰＲＢＳ生成部２０ｂにより生成されたＰＲＢＳのデータのメモリモジュール７０に対する書き込みまたは読み出しの実行を指示するために使用するレジスタを有する。また、データ取得判定レジスタ２０ｅは、メモリモジュール７０から読み出されたＤＱ０〜ＤＱ３のＰＲＢＳのデータの読み出し結果が格納されるレジスタを有する。本実施形態では、ＰＲＢＳ生成部２０ｂによってＤＱ０〜ＤＱ３のＰＲＢＳのデータが生成される。そして、生成されたＰＲＢＳの各データがメモリモジュール７０に対して書き込まれる。さらに、書き込まれた各データの読み出しが行われる。そして、ＰＲＢＳ生成部２０ｂによって生成された各データと読み出した各データとが一致するか否かに基づいて各ＤＱ信号の読み出しが成功したか否かが判定される。そして、読み出しの判定結果がデータ取得判定レジスタ２０ｅ内のレジスタに書き込まれる。
【００２６】
なお、本実施形態では、上記の各種レジスタはデータ取得判定レジスタ２０ｅに格納されている構成としているが、各種レジスタをデータ取得判定レジスタ２０ｅとは別のレジスタとして設ける構成としてもよい。
【００２７】
ＭＣ＃０  ２０から出力されるメモリクロック信号は、Ｉ／Ｏ回路３０のラッチ回路３０ｐに入力される。ラッチ回路３０ｐには内部クロックが入力されてデータがラッチされ、ラッチされたデータがディレイタップ設定部３０ｑに入力される。ディレイタップ設定部３０ｑは、メモリクロック信号のディレイタップを決定する。ＭＣ＃０  ２０から出力されるＤＱＳ信号は、Ｉ／Ｏ回路３０のラッチ回路３０ａに入力される。ラッチ回路３０ａには内部クロックが入力されてデータがラッチされ、ラッチされたデータがディレイタップ設定部３０ｂに入力される。ディレイタップ設定部３０ｂは、ＤＱＳ信号によるストローブポイント、すなわちＤＱ信号を取得するタイミングであるＤＱＳ信号のディレイタップを決定する。また、ＭＣ＃０  ２０から出力されるＤＱ信号は、Ｉ／Ｏ回路３０のラッチ回路３０ｇに入力される。ラッチ回路３０ｇには内部クロックが入力されてデータがラッチされ、ラッチされたデータがディレイタップ設定部３０ｈに入力される。ディレイタップ設定部３０ｈは、ＤＱ信号のディレイタップを決定する。なお、一例として、４つのビットＤＱ０、ＤＱ１、ＤＱ２、ＤＱ３が１つのまとまりとしてＤＱ信号が形成される。そして、各ビットのＤＱ信号は、伝送路５０に含まれるそれぞれ異なるデータ線を用いたパラレル伝送により送信される。
【００２８】
ディレイタップ設定部３０ｂは、ＤＱＳ信号の１周期分の位相幅を２Ｎ（例えばＮ＝５のときは、０〜３１の３２個）個で分割した幅を刻み幅として、ＤＱＳ信号の遅延時間を制御する。同様に、ディレイタップ設定部３０ｈは、単位幅を用いてＤＱ信号の遅延時間を制御する。また、ディレイタップ設定部３０ｑは、単位幅を用いてメモリクロック信号の遅延時間を制御する。なお、ＭＣ＃０  ２０が、データ取得判定レジスタ２０ｅ内の各種レジスタの設定値に従ってディレイタップ設定部３０ｂ、３０ｃ、３０ｈ、３０ｉ、３０ｑを設定する。例えば、ディレイタップ設定部３０ｂ、３０ｈにより、ＤＱＳ信号の位相とＤＱ信号の位相との間の位相差が−１８０°〜＋１８０°として決まる。
【００２９】
ディレイタップ設定部３０ｑによりディレイタップが決定され遅延時間が調整されたメモリクロック信号ＣＬＫ０は、ドライバ３０ｒを経由して伝送路６０に出力される。メモリクロック信号ＣＬＫ０はメモリモジュールのレシーバ７０ｍを経由してＲＣＤ７０ｎに入力される。ＲＣＤ７０ｎにおいてメモリクロック信号ＣＬＫ０の信号強度やクロックタイミングの調整が行われた後、メモリクロック信号ＣＬＫ０はメモリモジュール７０内の
メモリ素子７０ａ、７０ｂに入力される。
【００３０】
また、ディレイタップ設定部３０ｂ、３０ｈによりそれぞれディレイタップが決定され遅延時間が調整されたＤＱＳ信号およびＤＱ信号は、ドライバ３０ｄ、３０ｊを経由して伝送路４０、５０に出力される。ＤＱＳ信号は、伝送路４０、レシーバ７０ｈまたはレシーバ７０ｊを経由して、Ｒａｎｋ０のメモリ素子７０ａまたはＲａｎｋ１のメモリ素子７０ｂに入力する。また、ＤＱ信号は、伝送路５０、レシーバ７０ｄまたはレシーバ７０ｆを経由して、Ｒａｎｋ０のメモリ素子７０ａまたはＲａｎｋ１のメモリ素子７０ｂに入力する。メモリ素子７０ａまたはメモリ素子７０ｂは、ＭＣ＃０  ２０から出力されるＷＲＩＴＥまたはＲＥＡＤのコマンドに従って、入力されるＤＱＳ信号およびＤＱ信号を用いてデータの書き込みまたは読み出しを行う。
【００３１】
メモリ素子７０ａは、ＭＣ＃０  ２０からメモリ素子７０ａに対するＲＥＡＤのコマンドが入力される場合は、ＤＱＳ信号および読み取ったＤＱ信号をそれぞれドライバ７０ｇ、７０ｃを経由して同相で伝送路４０、５０に出力する。また、メモリ素子７０ｂは、ＭＣ＃０  ２０からメモリ素子７０ｂに対するＲＥＡＤのコマンドが入力される場合は、ＤＱＳ信号および読み取ったＤＱ信号をそれぞれドライバ７０ｅ、７０ｉを経由して同相で伝送路４０、５０に出力する。
【００３２】
メモリ素子７０ａ、７０ｂから出力されるＤＱＳ信号およびＤＱ信号は、それぞれＩ／Ｏ回路３０のレシーバ３０ｅ、３０ｋに入力される。ＤＱＳ信号は、レシーバ３０ｅからディレイタップ設定部３０ｃに入力される。また、レシーバ３０ｋは、分圧回路３０ｎと接続されている。分圧回路３０ｎは、リファレンス電圧設定部３０ｍの制御に従って抵抗値を設定する。そして、分圧回路３０ｎにより決まる抵抗値に従ってリファレンス電圧が調整される。リファレンス電圧はレシーバ３０ｋに入力される。レシーバ３０ｋはコンパレータ（図示せず）を有し、リファレンス電圧に基づいて入力されるＤＱ信号のＨレベルおよびＬレベルを決定する。
【００３３】
レシーバ３０ｋから出力されたＤＱ信号はディレイタップ設定部３０ｉによりディレイタップが決定され、ＤＱ信号の遅延時間が調整される。Ｉ／Ｏ回路３０では、ディレイタップ設定部３０ｃ、３０ｉにより、メモリ素子７０ａから同相で出力されたＤＱＳ信号とＤＱ信号との間の位相が例えば互いに９０°ずらされる。ディレイタップ設定部３０ｉから出力されたＤＱ信号は、ラッチ回路３０ｆに入力される。ラッチ回路３０ｆにはディレイタップ設定部３０ｃから出力されるＤＱＳ信号が入力され、データがラッチされる。ラッチされたデータはＭＣ＃０  ２０に入力される。
【００３４】
次に、本実施形態におけるデータ送受信システム１においてＣＰＵ１０の制御により実行される処理について説明する。ＣＰＵ１０は、データ送受信システム１の電源が投入されると、図３に示すフローチャートの処理を開始する。
【００３５】
ＯＰ１０１では、ＣＰＵ１０は、図示しないＥＰＲＯＭ（Erasable Programmable Read-Only Memory）などの不揮発性メモリに格納されているＰＯＳＴ（Power-On Self Test）プログラム９０を起動する。ＰＯＳＴプログラム９０は、データ送受信システム１内の各ハードウェアの初期設定および異常検出のための診断などを実行するためのプログラムである。ＰＯＳＴプログラム９０に、ディレイタップ制御部９０ａとして機能するプログラムが含まれている。
【００３６】
ＣＰＵ１０は、ＰＯＳＴプログラム９０を実行することで、ディレイタップ制御部９０ａが、ＭＣ＃０  ２０、１２０、２２０、３２０から出力される各メモリクロック信号の位相を制御する。
【００３７】
図４に、ＯＰ１０１においてＣＰＵ１０が実行するサブルーチンの処理の一例を示す。ＯＰ２０１において、ＣＰＵ１０は、メモリコントローラ単位、またはメモリスロット単位すなわちＤＩＭＭ単位で、メモリクロック信号のディレイタップを設定する。図５に、本実施形態においてメモリクロック信号のディレイタップを設定する際に使用されるレジスタの一例を示す。図５に例示するレジスタは、あらかじめデータ取得判定レジスタに格納されている。ＣＰＵ１０は、ＰＯＳＴプログラム９０のディレイタップ制御部９０ａによって、各メモリコントローラからメモリモジュールに送信されるメモリクロック信号のディレイタップを設定する。
【００３８】
また、図６に、ディレイタップ制御部９０ａがメモリコントローラ単位またはメモリスロット単位でメモリクロック信号のディレイタップを設定する際に参照するテーブルの一例を示す。なお、当該テーブルのデータは、一例としてＰＯＳＴプログラムが格納されている不揮発性メモリに格納されている。図６に示すテーブルにおいて、「ＭＣ」欄は、ＣＰＵ１０に接続されている各メモリコントローラを示す。また、「スロット」欄は、各メモリコントローラに接続されているメモリモジュールの各スロット（ＤＩＭＭ）を示す。「ＤＱＳグループ」欄は、メモリモジュールの各スロットが有するデータ格納用のチップごとにグループ分けした場合のグループを示す。なお、グループの詳細については後述する。
【００３９】
図６に示すテーブルでは、メモリクロック信号のディレイタップの組合せが３つ（図中「Case1」、「Case2」、「Case3」）用意されている。「Case1」および「Case2」は、メ
モリクロック信号のディレイタップがメモリコントローラ単位で設定される組合せである。また、「Case3」は、メモリクロック信号のディレイタップがメモリコントローラのス
ロット単位で設定される組合せである。なお、本実施形態では、メモリクロック信号のディレイタップの組合せを３つ想定しているが、図６に示すテーブルに格納されるディレイタップの組合せの数はこれに限られない。また、メモリコントローラごとに設定されたメモリクロック信号のディレイタップの組合せが、伝送路に含まれる複数のデータ線ごとに指定された位相の組合せの一例である。さらに、メモリコントローラのスロットごとに設定されたメモリクロック信号のディレイタップの組合せが、伝送路に含まれる複数のデータ線ごとに指定された位相の組合せの一例である。
【００４０】
また、各組合せの「ディレイ（ps）［位相（°）］」欄は設定されるメモリクロック信号のＣＰＵクロック信号に対する位相差を示す。一例として「+1/8[+45]」は、ＣＰＵ１
０のＣＰＵクロック信号に対して１／８周期、すなわち位相に換算して＋４５°ずれたメモリクロック信号であることを意味する。また、「伝送振幅（code）」欄は、以下に説明するＤＱ信号の取得判定においてＤＱ信号の取得に成功したと判定されるＤＱ信号のリファレンス電圧方向の幅を示す。なお、コード（code）は、リファレンス電圧の設定における電圧値の分解能である。したがって、「伝送振幅（code）」欄の数値が大きいほど、幅広いリファレンス電圧の範囲においてデータ信号の取得に成功したことを意味する。
【００４１】
ＯＰ２０１では、ディレイタップ制御部９０ａが図６に示すテーブルを参照し、テーブル内のいずれかのディレイタップの組合せを決定する。そして、ディレイタップ制御部９０ａは、決定した各メモリクロック信号のディレイタップを対応するメモリコントローラのデータ取得判定レジスタに格納する。各メモリコントローラは、データ取得判定レジスタに格納されたディレイタップに従って各Ｉ／Ｏ回路内のクロック信号用のディレイタップ設定部（図２の場合はディレイタップ設定部３０ｑ）を制御する。これにより、各Ｉ／Ｏ回路からはＣＰＵクロック信号から位相がずれたメモリクロック信号が各メモリモジュールに送信される。次いで、ＣＰＵ１０は、処理をＯＰ２０２に進める。
【００４２】
図７（ａ）および７（ｂ）に、ＯＰ２０１において、ディレイタップが設定された場合のメモリコントローラの動作の一例を模式的に示す。なお、図７（ａ）は、メモリクロック信号のディレイタップがメモリコントローラ単位でずらされている場合を例示する。また、図７（ｂ）は、メモリクロック信号のディレイタップがスロット単位でずらされている場合を例示する。
【００４３】
図７（ａ）に示す例では、ＭＣ＃０  ２０のＩ／Ｏ回路から出力されるメモリクロック信号（ＣＬＫ０、ＣＬＫ１）のディレイタップは、ＣＰＵクロック信号の位相に対してずれない（０°）ように設定される。また、メモリコントローラＭＣ＃１  １２０のＩ／Ｏ回路から出力されるメモリクロック信号（ＣＬＫ０、ＣＬＫ１）のディレイタップは、ＣＰＵクロック信号の位相に対して４５°ずれるように設定される。同様に、メモリコントローラＭＣ＃２  ２２０、ＭＣ＃３  ３２０のＩ／Ｏ回路から出力されるメモリクロック信号（ＣＬＫ０、ＣＬＫ１）のディレイタップは、ＣＰＵクロック信号の位相に対してそれぞれ９０°、１３５°ずれるように設定される。
【００４４】
また、図７（ｂ）に示す例では、ＭＣ＃０  ２０のＩ／Ｏ回路からメモリモジュール７０に出力されるメモリクロック信号（ＣＬＫ０）のディレイタップは、ＣＰＵクロック信号の位相に対してずれない（０°）ように設定される。また、ＭＣ＃０  ２０のＩ／Ｏ回路からメモリモジュール１７０出力されるメモリクロック信号（ＣＬＫ１）のディレイタップは、ＣＰＵクロック信号の位相に対して４５°ずれるように設定される。同様に、メモリコントローラＭＣ＃１  １２０のＩ／Ｏ回路からメモリモジュール２７０、３７０に出力されるメモリクロック信号（ＣＬＫ０、ＣＬＫ１）のディレイタップは、ＣＰＵクロック信号の位相に対してそれぞれ９０°、１３５°ずれるように設定される。なお、メモリコントローラＭＣ＃２  ２２０、ＭＣ＃３  ３２０のＩ／Ｏ回路からメモリモジュール４７０、５７０、６７０、７７０に出力されるメモリクロック信号のディレイタップも同様に設定される。
【００４５】
ＯＰ２０１においてデータ取得判定レジスタに格納されるメモリクロック信号のディレイタップは、ＯＰ２０１の処理以前にメモリコントローラに設定されていたディレイタップとは異なる可能性がある。そこで、ＯＰ２０２では、ＣＰＵ１０は、各メモリコントローラに対して、ＯＰ２０１において各データ取得判定レジスタに格納されたディレイタップに従ってメモリクロック信号の同期化を指示する。これによって、各メモリコントローラは、ＯＰ２０１の処理によって新たに設定されたディレイタップに基づくメモリクロック信号に同期して動作する。次いで、ＣＰＵ１０は、処理をＯＰ２０３に進める。
【００４６】
ＯＰ２０３では、処理の主体がＣＰＵ１０からＭＣ＃０  ２０に移る。そして、ＭＣ＃０  ２０は、データ取得判定レジスタ２０ｅに格納されている各種レジスタの設定値に従って、各ＤＱ信号のリファレンス電圧およびディレイタップ、ＤＱＳ信号のディレイタップを設定する。そして、ＭＣ＃０  ２０は、メモリモジュール７０に書き込まれたＰＲＢＳのランダムパターンを読み出すＲＥＡＤコマンドを生成する。生成されたＲＥＡＤコマンドは、Ｉ／Ｏ回路３０から出力され、Ｉ／Ｏ回路３０とメモリモジュール７０とを接続する伝送路（図示せず）を経由してメモリ素子７０ａまたは７０ｂに入力される。ＲＥＡＤコマンドを受信したメモリ素子７０ａまたは７０ｂは、ＲＥＡＤコマンドに従って格納されているデータを読み出し、ＤＱ信号としてＤＱＳ信号と共に同相でＩ／Ｏ回路３０に出力する。Ｉ／Ｏ回路３０は、メモリモジュール７０から出力されたデータを受信する。
【００４７】
また、本実施形態では、ＭＣ＃０  ２０を対象にデータ取得の判定が行われる場合、残りのＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０も、一例として上記のＰＲＢＳのランダムパターンを用いて動作させる。このように、データ取得の判定が実行されるメモリコントローラ以外の残りのメモリコントローラも動作させることで、他のメモリ
コントローラからのノイズ干渉が生じる状態を擬似的に発生させることができる。
【００４８】
例えば、図８に示すように、ＭＣ＃０  ２０を対象にデータ取得の判定が行われる場合は、ＭＣ＃０  ２０ではＰＲＢＳのランダムパターンによるデータアクセスを実行する。そして、残りのＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０では、ＭＣ＃０
２０に用いるＰＲＢＳのランダムパターンまたは０と１の値が規則的に連続するパターン（０×Ｎ，１×Ｎのパターン）によるデータアクセスを実行する。なお、０と１の値が規則的に連続するパターンは、０と１の値がそれぞれＮ（Ｎは自然数）個連続するパターンである。なお、Ｎ＝１のときは、０と１の値が交互に連続するパターンとなる。
【００４９】
そして、ＭＣ＃０  ２０は、データ取得判定部２０ｃにより、上記で生成されたＰＲＢＳのランダムパターンとＲＥＡＤコマンドによってメモリ素子７０ａ、７０ｂから読み出したＰＲＢＳのランダムパターンとが一致するか否かを判定する。そして、データ取得判定部２０ｃは、ＰＲＢＳのランダムパターンが一致すると判定された場合に、設定されているＤＱ信号のリファレンス電圧およびＤＱＳ信号のディレイタップにおけるデータの読み出しを成功と判定する。また、データ取得判定部２０ｃは、ＰＲＢＳのランダムパターンが一致しないと判定された場合は、設定されているＤＱ信号のリファレンス電圧およびＤＱＳ信号のディレイタップにおけるデータの読み出しを不成功と判定する。
【００５０】
ＭＣ＃０  ２０は、ＤＱ信号の取得に成功したか否かの判定結果をデータ取得判定レジスタ２０ｅ内のレジスタに記憶する。そして、ＭＣ＃０  ２０は、ＤＱ信号のリファレンス電圧とＤＱＳ信号のディレイタップのすべての組み合わせに対してＤＱ信号の取得の判定処理を実行すると、処理はＯＰ２０４に進む。ＯＰ２０４では、処理の主体がＭＣ＃０
２０からＣＰＵ１０に戻る。
【００５１】
ＯＰ２０４では、ＣＰＵ１０は、図６に示すテーブルに格納されているディレイタップのすべての組合せに対してＯＰ２０３のＤＱ信号の取得判定処理を実行したか否かを判定する。なお、一例として、ＭＣ＃０  ２０内に各組合せについてＤＱ信号の取得判定処理を実行したか否かを示すレジスタを設けることで、ＣＰＵ１０は当該レジスタの値を参照してＯＰ２０４の判定処理を実行すればよい。ディレイタップのすべての組合せに対してＤＱ信号の取得判定処理が実行された場合は（ＯＰ２０４：Ｙｅｓ）、ＣＰＵ１０は処理をＯＰ２０５に進める。一方、ＤＱ信号の取得判定処理を実行していないディレイタップの組合せが存在する場合は（ＯＰ２０４：Ｎｏ）、ＣＰＵ１０は処理をＯＰ２０１に戻す。そして、ＣＰＵ１０は、取得判定処理を実行していないディレイタップの組合せに従ってＯＰ２０１のディレイタップの設定を行う。
【００５２】
ＯＰ２０５では、ＣＰＵ１０は、ＯＰ２０３におけるＤＱ信号の取得判定の結果に基づいて、図６に例示するディレイタップの組合せのうち、ＤＱ信号のリファレンス電圧方向において、ＤＱ信号の取得に成功する幅が他の組合せの場合より広い組合せを決定する。そして、ＣＰＵ１０は、決定した組合せに従って、各メモリコントローラのメモリクロック信号のディレイタップを設定する。
【００５３】
ＯＰ２０５において、ＣＰＵ１０は、決定部として機能し、各データ信号に対するタイミング信号の位相が伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って第２のデータ送受信装置を動作させる場合、データ信号を取得できるか否かを判定する基準となる電圧の範囲が、該情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する。また、ＣＰＵ１０は、制御部として機能し、決定部が決定した位相の組合せに基づいて第２のデータ送受信装置を制御する。次いで、ＣＰＵ１０は、処理をＯＰ２０６に進める。
【００５４】
ＯＰ２０６では、ＯＰ２０２と同様に、ＣＰＵ１０は、各メモリコントローラに対して、ＯＰ２０５において各データ取得判定レジスタに格納されたディレイタップに従ってメモリクロック信号の同期化を指示する。これによって、各メモリコントローラは、ＯＰ２０１の処理によって新たに設定されたディレイタップに基づくメモリクロック信号に同期して動作する。ＯＰ２０６の処理が完了すると、ＣＰＵ１０は、本サブルーチンの処理を終了して処理をＯＰ１０２に進める。
【００５５】
図９に、上記の処理によってメモリクロック信号のディレイタップが設定された場合のメモリコントローラとメモリモジュールとの間を伝送する信号のノイズを模式的に示す。図中、横軸は時間を表し、縦軸はノイズ成分の信号レベルを示す。上記の処理よってメモリクロック信号のディレイタップが新たに決定される前の信号に含まれるノイズは、同時アクセスによって増幅されている（図中「データアクセス調整前」）。そして、上記の処理によってメモリクロック信号のディレイタップが新たに決定された後は、ノイズ波形の重なりが分散され、ノイズ成分の信号が互いに打ち消し合うなどにより、ノイズ量が抑えられる（図中「データアクセス調整後」）。
【００５６】
次に、ＯＰ１０２においてＣＰＵ１０が実行するサブルーチンの処理を、図１０を参照しながら説明する。ＯＰ３０１では、ＣＰＵ１０は、メモリモジュールのスロットごとに決められたＤＱＳグループ単位でＤＱＳ信号のディレイタップを設定する。ここで、図１１の例を参照しながら、本実施形態におけるＤＱＳグループについて説明する。
【００５７】
図１１に、メモリモジュール７０の１メモリ素子７０ａの構成の一例を模式的に示す。なお、他のメモリ素子も同様に構成されているものとする。図１１は、メモリ素子７０ａの表面に設けられているチップを示す。図１１に示すように、一例として１つのメモリ素子７０ａは９個のチップ７１〜７９を有し、メモリコントローラ＃０  ２０は、チップごとにＤＱＳ信号および４つのＤＱ信号（一例としてチップ７１の場合はＤＱ０〜ＤＱ３のＤＱ信号）の送受信を行う。また、メモリコントローラ＃０  ２０は、それぞれ異なるデータ線８１〜８９によってチップ７１〜７９に接続されている。なお、図中、チップ７１〜７９に送信されるＤＱＳ信号をＤＱＳ０〜８で示す。
【００５８】
本実施形態では、メモリ素子７０ａの表面と裏面とにそれぞれ９個のチップが設けられている。また、チップがメモリ素子上のチップ構成に応じてグループに分けられる。裏面にも表面と同様の配置でチップが設けられており、裏面の９個のチップに送信されるＤＱＳ信号をＤＱＳ９〜１７で示す。なお、図１１では、裏面の各チップに送信されるＤＱＳ信号ＤＱＳ９〜１７をチップ７１〜７９に重ねて示す。
【００５９】
このように、本実施形態では、メモリ素子のチップに送信されるＤＱＳ信号に基づいてチップをグループ分けした場合の各グループをＤＱＳグループと称する。図１１の例では、ＤＱＳ０、１、９、１０のＤＱＳ信号が送信されるチップをＤＱＳグループ１とする。同様に、ＤＱＳ２、３、４、１１、１２のＤＱＳ信号が送信されるチップをＤＱＳグループ２とする。また、ＤＱＳ５、６、１３、１４のＤＱＳ信号が送信されるチップをＤＱＳグループ３とする。さらに、ＤＱＳ７、８、１５、１６、１７のＤＱＳ信号が送信されるチップをＤＱＳグループ４とする。
【００６０】
なお、各ＤＱＳグループに含まれるチップの個数やどのチップがどのＤＱＳグループに属するかについては、メモリコントローラとチップを接続するデータ線ごとに適宜決定することができる。そして、メモリコントローラがＤＱＳグループごとにＤＱＳ信号のディレイタップを設定することで、メモリモジュールのメモリ素子のチップに基づくグループ単位でＤＱ信号の取得タイミングの調整が行われる。なお、ＤＱＳグループごとに設定さ
れたＤＱＳ信号のディレイタップが、伝送路に含まれる複数のデータ線ごとに指定された位相の組合せの一例である。
【００６１】
図１２に、ディレイタップ制御部９０ａがＤＱＳグループ単位でＤＱＳ信号のディレイタップを設定する際に参照するテーブルの一例を示す。なお、当該テーブルのデータは、一例としてＰＯＳＴプログラムが格納される不揮発性メモリに格納されている。図１２に示すテーブルにおいて、「ＤＱＳグループ」欄には、ＤＱＳグループごとにＤＱＳ信号がまとめられている。また、「ＤＱ」欄は、各ＤＱＳ信号ＤＱＳ０〜１７によって取得されるＤＱ信号を示す。例えば、図中「ＤＱ［３：０］」は、ＤＱ０〜ＤＱ３のＤＱ信号を意味する。
【００６２】
図１２に示すテーブルでは、ＤＱＳグループごとに設定されるＤＱＳ信号のディレイタップの組合せが３つ（図中「Case1」、「Case2」、「Case3」）用意されている。各組合
せの「サイクル（tCK）［位相（°）］」欄は、設定されるＤＱＳ信号のＣＰＵクロック
信号に対する位相差を示す。なお、「tCK」は、クロック信号の１周期を意味する。した
がって、例えば「1/8tCK」はクロック信号の１／８周期を意味する。そして、一例として「+1/8[+45]」は、ＣＰＵ１０のＣＰＵクロック信号に対して＋１／８周期、すなわち位
相に換算して＋４５°ずれたＤＱＳ信号であることを意味する。また、「伝送振幅（code）」欄は、ＤＱ信号の取得判定においてＤＱ信号の取得に成功したと判定されるＤＱ信号のリファレンス電圧方向の幅を示す。なお、コード（code）は、リファレンス電圧の設定における電圧値の分解能である。したがって、「伝送振幅（code）」欄の数値が大きいほど、幅広いリファレンス電圧の範囲においてＤＱ信号の取得に成功したことを意味する。
【００６３】
また、図１３に、図１２に示すテーブルのディレイタップの組合せ「Case1」によって
ＤＱＳグループごとにＤＱＳ信号のディレイタップが設定された場合のＤＱ信号の位相の一例を示す。なお、横軸は時間を表し、縦軸は信号のレベルを表す。本実施形態では、図１２に示すテーブルに従ってＤＱＳグループ間でＤＱ信号の位相がずらされた状態で、各メモリコントローラを動作させる。
【００６４】
ＯＰ３０２では、処理の主体がＣＰＵ１０からＭＣ＃０  ２０に移る。そして、ＭＣ＃０  ２０は、データ取得判定レジスタ２０ｅに格納されている各種レジスタの設定値に従って、各ＤＱ信号のリファレンス電圧およびディレイタップ、ＤＱＳ信号のディレイタップを設定する。そして、ＭＣ＃０  ２０は、メモリモジュール７０に書き込まれたＰＲＢＳのランダムパターンを読み出すＲＥＡＤコマンドを生成する。生成されたＲＥＡＤコマンドは、Ｉ／Ｏ回路３０から出力され、Ｉ／Ｏ回路３０とメモリモジュール７０とを接続する伝送路を経由してメモリ素子７０ａまたは７０ｂに入力される。ＲＥＡＤコマンドを受信したメモリ素子７０ａまたは７０ｂは、ＲＥＡＤコマンドに従って格納されているデータを読み出し、ＤＱ信号としてＤＱＳ信号と共に同相でＩ／Ｏ回路３０に出力する。Ｉ／Ｏ回路３０は、メモリモジュール７０から出力されたデータを受信する。
【００６５】
また、本実施形態では、ＯＰ２０３と同様に、ＭＣ＃０  ２０を対象にデータ取得の判定が行われる場合、残りのＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０も、一例として上記のＰＲＢＳのランダムパターンを用いて動作させる。なお、残りのＭＣ＃１  １２０、ＭＣ＃２  ２２０、ＭＣ＃３  ３２０では、ＭＣ＃０  ２０に用いるＰＲＢＳのランダムパターンの代わりに０と１の値が規則的に連続するパターンによるデータアクセスを実行させてもよい。
【００６６】
そして、ＭＣ＃０  ２０は、データ取得判定部２０ｃにより、上記で生成されたＰＲＢＳのランダムパターンとＲＥＡＤコマンドによってメモリ素子７０ａ、７０ｂから読み出したＰＲＢＳのランダムパターンとが一致するか否かを判定する。そして、データ取得判
定部２０ｃは、ＰＲＢＳのランダムパターンが一致すると判定された場合に、設定されているＤＱ信号のリファレンス電圧およびＤＱＳ信号のディレイタップにおけるデータの読み出しを成功と判定する。また、データ取得判定部２０ｃは、ＰＲＢＳのランダムパターンが一致しないと判定された場合は、設定されているＤＱ信号のリファレンス電圧およびＤＱＳ信号のディレイタップにおけるデータの読み出しを不成功と判定する。
【００６７】
ＭＣ＃０  ２０は、ＤＱ信号の取得に成功したか否かの判定結果をデータ取得判定レジスタ２０ｅ内のレジスタに記憶する。そして、ＭＣ＃０  ２０は、ＤＱ信号のリファレンス電圧とＤＱＳ信号のディレイタップのすべての組み合わせに対してＤＱ信号の取得の判定処理を実行すると、処理はＯＰ３０３に進む。ＯＰ３０３では、処理の主体がＭＣ＃０
２０からＣＰＵ１０に戻る。
【００６８】
ＯＰ３０３では、ＣＰＵ１０は、図１２に示すテーブルに格納されているディレイタップのすべての組合せに対してＯＰ３０２のＤＱ信号の取得判定処理を実行したか否かを判定する。なお、一例として、ＭＣ＃０  ２０内に各組合せについてＤＱ信号の取得判定処理を実行したか否かを示すレジスタを設けることで、ＣＰＵ１０は当該レジスタの値を参照してＯＰ３０３の判定処理を実行すればよい。ディレイタップのすべての組合せに対してＤＱ信号の取得判定処理が実行された場合は（ＯＰ３０３：Ｙｅｓ）、ＣＰＵ１０は処理をＯＰ３０４に進める。一方、ＤＱ信号の取得判定処理を実行していないディレイタップの組合せが存在する場合は（ＯＰ３０３：Ｎｏ）、ＣＰＵ１０は処理をＯＰ３０１に戻す。そして、ＣＰＵ１０は、取得判定処理を実行していないディレイタップの組合せに従ってＯＰ３０１のディレイタップの設定を行う。
【００６９】
ＯＰ３０４では、ＣＰＵ１０は、ＯＰ３０２におけるＤＱ信号の取得判定の結果に基づいて、図１１に例示するディレイタップの組合せのうち、ＤＱ信号のリファレンス電圧方向において、ＤＱ信号の取得に成功する幅が他の組合せの場合より広い組合せを決定する。そして、ＣＰＵ１０は、決定した組合せに従って、メモリモジュール７０のメモリ素子７０ａにおけるＤＱＳグループごとにＤＱＳ信号のディレイタップを設定する。
【００７０】
ＯＰ３０４において、ＣＰＵ１０は、決定部として機能し、各データ信号に対するタイミング信号の位相が、伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って第２のデータ送受信装置を動作させる場合、データ信号を取得できるか否かを判定する基準となる電圧の範囲が、該情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する。また、ＣＰＵ１０は、制御部として機能し、決定部が決定した位相の組合せに基づいて第２のデータ送受信装置を制御する。ＯＰ３０４の処理が完了すると、ＣＰＵ１０は、本サブルーチンの処理を終了して処理をＯＰ１０３に進める。
【００７１】
図１４に、上記のＯＰ３０１〜ＯＰ３０４の処理によってＤＱＳ信号のディレイタップが設定された場合のメモリコントローラとメモリモジュールとの間を伝送する信号のノイズを模式的に示す。図１４では、Ｎ個のＤＱＳグループごとにディレイタップが設定される場合を想定する。図中、横軸が時間であり、縦軸がノイズ成分の信号レベルを示す。上記の処理よってＤＱＳ信号のディレイタップが新たに決定される前の、各ＤＱＳグループの信号（図中ＤＱＳ［０］〜ＤＱＳ［Ｎ］）に含まれるノイズは、同時アクセスによって増幅されている（図中「データアクセス調整前」のＤＱＳ［Ｎ：０］）。そして、上記の処理によってＤＱＳ信号のディレイタップが新たに決定された後は、ノイズ波形の重なりが分散され、ノイズ成分の信号が互いに打ち消し合うなどにより、ノイズ量が抑えられる（図中「データアクセス調整後」のＤＱＳ［Ｎ：０］）。
【００７２】
ＯＰ１０３では、ＣＰＵ１０は、ＰＯＳＴプログラムにより、データ送受信システム１
内の各ハードウェアの動作の診断を行う。次いで、ＯＰ１０４において、ＣＰＵ１０は、ＰＯＳＴプログラム実行後にＯＳ（Operating System）が起動され、データ送受信システム１における種々の処理が開始される。そして、上記の処理のよって決定された各信号のディレイタップの組合せに従ってＣＰＵと各メモリモジュールとの間のデータアクセスが実行される。
【００７３】
図１５、１６、１７に、本実施形態の上記のＯＰ１０１におけるメモリクロック信号のディレイタップの組合せに基づくデータ取得判定の結果の一例を模式的に示す。図１５、１６、１７には、一例として、メモリモジュールがＤＩＭＭ０とＤＩＭＭ１を有し、上記の処理のよってＤＩＭＭごとにＤＱＳ信号のディレイタップを設定した場合の３つのディレイタップの組合せについての結果を示す。なお、各組合せの結果を示す図において、横軸はＤＱＳ信号のディレイタップを表し、縦軸はＤＱ信号のリファレンス電圧を表す。また、図中、参考のため、「×」はＤＱ信号の取得に失敗した場合を示し、「○」は判定対象のメモリコントローラのみを動作させた場合にＤＱ信号の取得に成功した場合を示す。さらに「◎」は、本実施形態により、判定対象のメモリコントローラおよび判定対象以外のメモリコントローラを動作させた場合にＤＱ信号の取得に成功した場合を示す。
【００７４】
図１５に示すように、ＤＩＭＭ０とＤＩＭＭ１に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対してずれていない（図中「ＣＬＫディレイ：デフォルト」）場合は、ＤＱ信号の取得に成功するコードは６コード分である。また、図１６には、ＤＩＭＭ０に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対して９０°ずらされ、ＤＩＭＭ１に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対してずれていない場合を示す。この場合、ＤＱ信号の取得に成功するコードは８コード分である。さらに、図１７には、ＤＩＭＭ０に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対して１３５°ずらされ、ＤＩＭＭ１に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対してずれていない場合を示す。この場合、ＤＱ信号の取得に成功するコードは１０コード分である。したがって、ＤＩＭＭ０に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対して１３５°ずらされ、ＤＩＭＭ１に対するメモリクロック信号のディレイタップがＣＰＵクロック信号の位相に対してずれていないディレイタップの組合せが、他の組合せに比べてＤＱ信号の取得の成功率が高いことがわかる。本実施形態によれば、ＤＱ信号の取得の成功率がより高くなるディレイタップの組合せを決定し、当該組合せに従ってメモリコントローラを動作させることができる。
【００７５】
本実施形態によれば、メモリコントローラ単位、ＤＩＭＭ単位またはＤＱＳグループ単位でのディレイタップ設定が、複数のメモリコントローラを動作させた場合の干渉ノイズが低減されるよう最適化される。ここで、メモリコントローラ単位が、複数の制御装置の各装置の一例である。また、ＤＩＭＭ単位が、複数の第２のデータ送受信装置の各装置の一例である。さらに、ＤＱＳグループ単位が、データ信号により送受信されるデータを格納する複数の領域の各領域の一例である。そして、これらのメモリモジュールに関する構成単位によるディレイタップ設定の最適化により、ＣＰＵと各メモリモジュールとの間のデータアクセスにおけるデータ取得処理の品質が向上する。すなわち、本実施形態では、従来技術におけるＣＰＵと１つのメモリモジュールと間のディレイタップ設定に加えて、ノイズ発生環境下におけるリファレンス電圧の再調整が行われる。この結果、データ送受信システム１の実運用、あるいはシステム実運用を模擬したテストプログラム環境下においても、データ取得処理に最適なリファレンス電圧を決定することができる。
【００７６】
さらに、上記で例示した各ノイズ波形の大小や形状は、ＣＰＵのプロセスやメモリモジュール内のメモリ素子等の個体差で変化する。本実施形態によれば、また、システムの電源投入後にＰＯＳＴプログラム内のフローの中で上記の処理が実施されるため、メモリモ
ジュールやＣＰＵ等のハードウェアの個体差の影響を受けることなく種々のハードウェアの組合せに最適なディレイタップの調整が行える。
【００７７】
以上が本実施形態に関する説明であるが、上記のデータ送受信システム１などの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記の実施形態では、ＯＰ１０１およびＯＰ１０２によってディレイタップの組合せが決定されるが、ＯＰ１０１とＯＰ１０２のいずれか一方を実行してディレイタップの組合せを決定してもよい。
【００７８】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記データ送受信装置の設定を行うための管理ツール、ＯＳその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、情報処理装置、サーバーシステム、管理サーバーなどである。
【００７９】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【００８０】
以上の実施形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）
第１のデータ送受信装置と、前記第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、前記第１のデータ送受信装置と前記第２のデータ送受信装置とに接続されるとともに、前記第１のデータ送受信装置と前記第２のデータ送受信装置との間のデータ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置とを有するデータ送受信システムにおいて、
前記第１のデータ送受信装置は、
各データ信号に対するタイミング信号の位相が前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記第２のデータ送受信装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する決定部と、
前記決定部が決定した位相の組合せに基づいて前記第２のデータ送受信装置を制御する制御部と、
を有することを特徴とするデータ送受信システム。
（付記２）
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の制御装置ごとに指定された位相の組合せであることを特徴とする付記１に記載のデータ送受信システム。
（付記３）
前記データ送受信システムは、複数の前記第２のデータ送受信装置を備え、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の第２のデータ送受信装置ごとに指定された位相の組合せである
ことを特徴とする付記１に記載のデータ送受信システム。
（付記４）
前記第２のデータ送受信装置は、前記データ信号により送受信されるデータを格納する、前記複数のデータ線と接続される複数の領域を有し、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の領域ごとに指定された位相の組合せである
ことを特徴とする付記１に記載のデータ送受信システム。
（付記５）
前記第１のデータ送受信装置は、演算処理装置であり、
前記第２のデータ送受信装置は、前記データを格納するメモリであり、
前記制御装置は、前記演算処理装置の制御に従って、前記メモリを制御するメモリ制御装置である
ことを特徴とする付記１から４のいずれかに記載のデータ送受信システム。
（付記６）
データ信号を記憶する記憶装置に伝送路を介して接続されるとともに、前記データ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置と接続されるデータ送受信装置であって、
各データ信号に対するタイミング信号の位相が前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記記憶装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定する決定部と、
前記決定部が決定した位相の組合せに基づいて前記記憶装置を制御する制御部と
を有することを特徴とするデータ送受信装置。
（付記７）
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の制御装置ごとに指定された位相の組合せであることを特徴とする付記６に記載のデータ送受信装置。
（付記８）
前記複数の制御装置は、複数の前記記憶装置に接続され、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の記憶装置ごとに指定された位相の組合せである
ことを特徴とする付記６に記載のデータ送受信装置。
（付記９）
前記記憶装置は、前記データ信号により送受信されるデータを格納する、前記複数のデータ線と接続される複数の領域を有し、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の領域ごとに指定された位相の組合せである
ことを特徴とする付記６に記載のデータ送受信装置。
（付記１０）
前記データ送受信装置は、演算処理装置であり、
前記記憶装置は、前記データを格納するメモリであり、
前記制御装置は、前記演算処理装置の制御に従って、前記メモリを制御するメモリ制御装置である
ことを特徴とする付記６から９のいずれかに記載のデータ送受信システム。
（付記１１）
第１のデータ送受信装置と、前記第１のデータ送受信装置に伝送路を介して接続される第２のデータ送受信装置と、前記第１のデータ送受信装置と前記第２のデータ送受信装置とに接続されるとともに、前記第１のデータ送受信装置と前記第２のデータ送受信装置との間のデータ信号と前記データ信号を取得するタイミングを示すタイミング信号との送受信をそれぞれ制御する複数の制御装置とを有するデータ送受信システムの制御方法であって、
前記第１のデータ送受信装置に、
各データ信号に対するタイミング信号の位相が、前記伝送路に含まれる複数のデータ線ごとに指定された位相の組合せを複数含む情報に基づいて、各位相の組合せに従って前記第２のデータ送受信装置を動作させる場合、前記データ信号を取得できるか否かを判定する基準となる電圧の範囲が、前記情報に含まれる他の位相の組合せにおいてデータ信号を取得できる電圧の範囲よりも広くなる位相の組合せを決定させ、
前記決定した位相の組合せに基づいて前記第２のデータ送受信装置を制御させる
ことを特徴とするデータ送受信システムの制御方法。
（付記１２）
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の制御装置ごとに指定された位相の組合せであることを特徴とする付記１１に記載のデータ送受信システムの制御方法。
（付記１３）
前記データ送受信システムは、複数の前記第２のデータ送受信装置を備え、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の第２のデータ送受信装置ごとに指定された位相の組合せである
ことを特徴とする付記１１に記載のデータ送受信システムの制御方法。
（付記１４）
前記記憶装置は、前記データ信号により送受信されるデータを格納する、前記複数のデータ線と接続される複数の領域を有し、
前記複数のデータ線ごとに指定された位相の組合せは、前記複数の領域ごとに指定された位相の組合せである
ことを特徴とする付記１１に記載のデータ送受信システムの制御方法。
（付記１５）
前記データ送受信装置は、演算処理装置であり、
前記記憶装置は、前記データを格納するメモリであり、
前記制御装置は、前記演算処理装置の制御に従って、前記メモリを制御するメモリ制御装置である
ことを特徴とする付記１１から１４のいずれかに記載のデータ送受信システムの制御方法。
【符号の説明】
【００８２】
１    データ送受信システム
１０    ＣＰＵ
２０、１２０、２２０、３２０    メモリコントローラ
Ｉ／Ｏ回路    ３０
７０、１７０、２７０、３７０、４７０、５７０、６７０、７７０    メモリモジュール７０ａ、７０ｂ    メモリ素子
７１〜７９    チップ
【図１】
2019079257.tif 000003
【図２】
2019079257.tif 000004
【図３】
2019079257.tif 000005
【図４】
2019079257.tif 000006
【図５】
2019079257.tif 000007
【図６】
2019079257.tif 000008
【図７】
2019079257.tif 000009
【図８】
2019079257.tif 000010
【図９】
2019079257.tif 000011
【図１０】
2019079257.tif 000012
【図１１】
2019079257.tif 000013
【図１２】
2019079257.tif 000014
【図１３】
2019079257.tif 000015
【図１４】
2019079257.tif 000016
【図１５】
2019079257.tif 000017
【図１６】
2019079257.tif 000018
【図１７】
2019079257.tif 000019