(57)【特許請求の範囲】
【請求項１】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記ＣＡ信号をラッチする、メモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれに入力される前記第１、第２のクロック信号のタイミングが合わせられており、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記チップセットからのＣＡ信号の出力タイミングを制御する手段を備え、
CLK_flight_timeを、前記チップセットから前記メモリモジュール上の前記ＰＬＬ回路までの前記第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号の周期、
として、
前記チップセットからの前記ＣＡ信号の出力タイミングの後ろ倒し量Ｂが、式、
B = tCK + CLK_flight_time - CA_flight_time  …（A1）
となるように設定され、
前記チップセットからのＣＡ信号の出力タイミングを制御する手段が、
前記第１のクロック信号の１周期（tCK）をＮ（ただし、Ｎは２以上の正整数）分割した刻み（tCK／Ｎ）を時間分解能として有し、それぞれが前記刻みのｊ倍（ただし、ｊは０からＮ−１の整数）の遅延時間のＮ個の経路から成る遅延回路と、
入力される選択制御信号に基づき、前記遅延回路のＮ個の経路のうちの１つを選択する選択回路と、
を備え、
前記ＣＡ信号は、前記遅延回路に供給され、前記遅延回路のＮ個の経路のうち、前記式（A1）の前記後ろ倒し量Ｂに最も近い値を持つ経路が前記選択回路で選択されて出力される、ことを特徴とするメモリシステム。
【請求項２】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記ＣＡ信号をラッチする、メモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれに入力される前記第１、第２のクロック信号のタイミングが合わせられており、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記チップセットからのＣＡ信号の出力タイミングを制御する手段を備え、
CLK_flight_timeを、前記チップセットから前記メモリモジュール上の前記ＰＬＬ回路までの前記第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号の周期、
として、
前記チップセットからの前記ＣＡ信号の出力タイミングの後ろ倒し量Ｂが、式、
B = tCK + CLK_flight_time - CA_flight_time  …（A1）
となるように設定され、
前記チップセットからのＣＡ信号の出力タイミングを制御する手段が、
前記第１のクロック信号の１周期（tCK）をＮ（ただし、Ｎは２以上の正整数）分割した刻み分それぞれ位相がシフトされている、Ｎ相のクロック信号を発生するＮ相クロック発生器と、
前記Ｎ相クロック発生器から出力されるＮ相のクロック信号を入力し、入力される選択制御信号に基づき、前記Ｎ相のクロック信号の１つのクロック信号を選択して出力する選択回路と、
前記選択回路から出力されるクロック信号を入力し、前記入力したクロック信号に基づき、前記ＣＡ信号をサンプルして出力するフリップフロップと、
を備え、
前記選択回路では、前記選択制御信号に基づき、前記Ｎ相のクロック信号のうち、前記フリップフロップに供給されるクロック信号として、前記式（A1）で規定される後ろ倒し量Ｂに最も近い値だけ元のクロック信号から位相がシフトしたクロック信号を出力する、ことを特徴とするメモリシステム。
【請求項３】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、及び、少なくとも１つのメモリデバイスを有するメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記ＣＡ信号をラッチする、メモリシステムにおいて、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号の周期、
として、
前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号(CLKd)の配線長が、前記ＰＬＬ回路の出力端と入力端間のフィードバックループにおけるフィードバック時間に相当する配線長よりも、式、
[(0.5×tCK + CLK_flight_time - CA_flight_time)]/（単位長当りの信号伝播遅延時間）      …（A4）
で与えられる長さだけ短くされ、
前記メモリデバイスにおける前記第２のクロック信号(CLKd)に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように設定されている、ことを特徴とするメモリシステム。
【請求項４】
位相同期ループ回路（「ＰＬＬ回路」という）と、少なくとも１つのメモリデバイスとを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される第２のクロック信号（CLKd）を入力し、前記ＣＡ信号を前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号の周期、
として、
前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長が、前記ＰＬＬ回路の出力端と入力端間のフィードバックループのフィードバックタイム相当の配線長よりも、式、
[(0.5×tCK + CLK_flight_time - CA_flight_time)]/（単位長当りの信号伝播遅延時間）    …(A7)
で与えられる長さだけ短くされ、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように設定されている、ことを特徴とするメモリモジュール。
【請求項５】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、及び、少なくとも１つのメモリデバイスを有するメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記ＣＡ信号をラッチする、メモリシステムにおいて、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイムとして、
前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長が、前記ＰＬＬ回路の出力端と入力端間のフィードバックループのフィードバックタイム相当の配線長よりも、式、
[(CA_flight_time - CLK_flight_time)]/（単位長当りの信号伝播遅延時間）…(A10)
で与えられる長さだけ長くされ、
前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように設定されている、ことを特徴とするメモリシステム。
【請求項６】
位相同期ループ回路（「ＰＬＬ回路」という）と、少なくとも１つのメモリデバイスとを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される第２のクロック信号（CLKd）を入力し、前記ＣＡ信号を前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
として、
前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長が、前記ＰＬＬ回路の出力端と入力端間のフィードバックループのフィードバックタイム相当の配線長よりも、式、
[(CA_flight_time - CLK_flight_time)]/（単位長当りの信号伝播遅延時間）  …(A13)
で与えられる長さだけ長くされ、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように設定されている、ことを特徴とするメモリモジュール。
【請求項７】
クロック周波数が200MHz以上とされている、ことを特徴とする請求項１乃至３、５のいずれか一に記載のメモリシステム。
【請求項８】
クロック周波数200MHzとクロック周波数266MHzの両方で動作させる場合に、前記クロック周期tCKを3750psに設定して、タイミング制御が行われる、ことを特徴とする請求項１乃至３のいずれか一に記載のメモリシステム。
【請求項９】
クロック周波数200MHzとクロック周波数266MHzの両方で動作させる場合に、200MHzと266MHzのいずれにも設定自在とされ、タイミング制御が行われる、ことを特徴とする請求項５に記載のメモリシステム。
【請求項１０】
クロック周波数が200MHz以上とされている、ことを特徴とする請求項４又は６に記載のメモリモジュール。
【請求項１１】
クロック周波数200MHzとクロック周波数266MHzの両方で動作させる場合に、前記クロック周期tCKを3750psに設定して、タイミング制御が行われる、ことを特徴とする請求項４に記載のメモリモジュール。
【請求項１２】
クロック周波数200MHzとクロック周波数266MHzの両方で動作させる場合に、200MHzと266MHzのいずれにも設定自在とされ、タイミング制御が行われる、ことを特徴とする請求項６に記載のメモリモジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリシステムにおけるコマンド、アドレスシステム（「ＣＡシステム」と略記する）に関し、特に、コマンド、アドレス信号（「ＣＡ信号」と略記する）とラッチし、該ＣＡ信号をメモリデバイスに供給するレジスタ(Register)をメモリモジュール上に搭載しないシステム及びメモリモジュールに関する。
【０００２】
【従来の技術】
従来より、ＳＤＲＡＭ（Synchronous DRAM）のＤＤＲ(Double Data Rate)-Ｉシステムのうち、小容量のシステムにおいては、メモリモジュール上に、チップセットからのＣＡ信号をラッチし、ラッチしたＣＡ信号を内部バスを介してメモリデバイスに供給するＣＡレジスタ(Register)や、ＰＬＬ（Phase Locked Loop）回路を搭載しないＣＡバス方式が用いられている。
【０００３】
図２０は、従来の、ＤＤＲ−Ｉシステムの中で、非バッファ駆動型（Unbuffered）のＤＩＭＭ（Dual In-line Memory Module）に用いられるＣＡバス構成の一例を示す図である。図２０に示すように、メモリモジュール（単に「モジュール」ともいう）１０と、モジュール１０上のＤＲＡＭ２０−１〜２０−と、チップセット（図示せず）を有し、チップセット（図示せず）から出力される３対のクロック信号（CLK0、CLK1、CLK2）と、ＣＡ信号を受けて動作する。
【０００４】
チップセットから３対のクロック信号CLK0、CLK1、CLK2を、メモリモジュール１０に入力し、そのうちの１対のクロック信号CLKを、図２１に示すように、等長配線で、例えば６個のＤＲＡＭに供給する。各ＤＲＡＭでは、クロック信号CLKを用いて、チップセットから出力されるＣＡ信号をラッチする。
【０００５】
クロック信号CLKのタイミングは、ＤＲＡＭの各入力部でできるだけ、同じ位相になるようにしている。また、ＣＡ信号が各ＤＲＡＭの入力部で、できるだけスキューが発生しないように、等長配線となるように布線されている。
【０００６】
図２２は、図２０に示した従来のメモリシステムの動作を説明するためのタイミングチャートである。チップセットのクロック信号の出力部において（CLKout＠Chipset）、クロック信号（CLK）の立ち上がりが、ＣＡ信号の真中に位置している（CAout@Chipsetのタイミングｔ０参照）。そして、チップセットからのクロック信号（CLK）は2600ps(CLK flight time)かかって、ＤＲＡＭに到着し（すなわちCLKout@Chipsetの立ち上がりからCLKd＠DRAMの立ち上がりまでの伝搬遅延時間が2600ps）、ＣＡ信号は2800ps(CA flight time)かかって、ＤＲＡＭに到着している（すなわちCAout＠ChipsetからCAin＠DRAMまでの伝搬遅延時間が2800ps）。ＤＲＡＭ２０に到着したＣＡ信号(CAin＠DRAM)を、ＤＲＡＭに到着したクロック信号（CLKd）の、例えば立ち上がりエッジでラッチして、ＤＲＡＭに取り込む。
【０００７】
クロック動作周波数が100MHzの世代では、このタイミングで、安定した動作が保証できていた。即ち、ＤＲＡＭの入力部において、クロック信号（CLKｄ）に対するＣＡ信号のセットアップ時間を、ほぼ半周期の3550ps確保できており、動作上、問題なかった。
【０００８】
このように、低速で、小容量のシステムにおいては、メモリモジュール上に、ＰＬＬ回路やレジスタを搭載しなくても、それなりのシグナルインテグリティ（Signal integrity）を得ることができる。また、タイミングマージン的にも、問題はなく、安価なシステムを構築できた。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述したような、ＰＬＬ回路やレジスタを搭載しない従来のメモリシステムにおいては、以下に記載するような問題点を有している。
【００１０】
クロック信号（CLK）の動作周波数が、例えば266MHz程度に上がってくると、チップセットから出力されるクロック信号（CLK）で直接、ＤＲＡＭを駆動することができなくなる。つまり、良好な、シグナルインテグリティ（Signal integrity）が得られなくなる。
【００１１】
また、チップセットから出力されるクロック信号（CLK）とＣＡ信号をそのまま用いていたのでは、タイミングバジェット（Timing budget）が厳しくなる。即ち、本願発明者らは、上記した従来のシステムでは、クロック信号（CLK）の周波数として266MHzでの動作が不可能であることを、種々の検討を通して、見出した。
【００１２】
したがって、本発明は、上記問題点に鑑みてなされたものであって、本発明の目的は、メモリモジュール上にＣＡ信号をラッチするレジスタ等を具備せずとも、クロック信号（CLK）の動作周波数として、例えば266MHzの場合、及び200MHzの双方の周波数で動作可能なメモリシステム及びメモリモジュールを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するために本発明の一つのアスペクトに係るメモリシステムは、チップセットと、位相同期ループ回路（「ＰＬＬ回路」という）、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、を備え、前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）を出力し、前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記ＣＡ信号をラッチする、メモリシステムにおいて、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれに入力される前記第１、第２のクロック信号のタイミングが合わせられており、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記チップセットからのＣＡ信号の出力タイミングを制御する手段を備え、
CLK_flight_timeを、前記チップセットから前記メモリモジュール上の前記ＰＬＬ回路までの前記第１のクロック信号(CLK)の平均フライトタイム、CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号の周期、
として、
前記チップセットからの前記ＣＡ信号の出力タイミングの後ろ倒し量Ｂが、式、
B = tCK + CLK_flight_time - CA_flight_time  …（A1）
となるように設定されている。
【００１４】
本発明に係るメモリシステムは、別のアスペクトにおいて、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対するＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記ＰＬＬ回路の出力端と入力端間のフィードバックループのフィードバックタイムと、前記ＰＬＬ回路の出力端から前記メモリデバイスの入力端までの前記第２のクロック信号（CLKd）のフライトタイムと、を制御する手段を備え、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの前記第１のクロック信号の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上のメモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
tCKを、前記第１のクロック信号（CLK）の周期、
として、
前記ＰＬＬ回路の入力部の前記第１のクロック信号（CLK）に対して、前記メモリデバイスにおける前記第２のクロック信号（CLKd）の前倒し量Ｇが、式、
G= 0.5×tCK + CLK_flight_time - CA_flight_time      …(A2)
となるように設定されている。
【００１５】
本発明に係るメモリシステムは、さらに別のアスペクトにおいて、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記ＰＬＬ回路におけるフィードバックループのフィードバックタイムと、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムを制御する手段を備え、
CLK_flight_timeを、前記チップセットから前記ＰＬＬ回路までの第１のクロック信号(CLK)の平均フライトタイム、
CA_flight_timeを、前記チップセットから前記メモリモジュール上の前記メモリデバイスまでの前記ＣＡ信号の平均フライトタイム、
として、
前記ＰＬＬ回路の入力部における前記第１のクロック信号（CLK）に対する、前記メモリデバイスにおける前記第２のクロック信号（CLKd）の後ろ倒し量Ｂが、式、
B＝CA_flight_time - CLK_flight_time    …(A8)
を満たすように設定されている。
【００１６】
また上記目的を達成する本発明の他のアスペクトに係るメモリモジュールは、位相同期ループ回路（「ＰＬＬ回路」という）と、少なくとも１つのメモリデバイスとを有し、メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受け、前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）を出力し、前記メモリデバイスでは、前記ＰＬＬ回路から出力される第２のクロック信号（CLKd）を入力し、前記ＣＡ信号を前記第２のクロック信号（CLKd）に基づきラッチし、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれに入力される前記第１、第２のクロック信号のタイミングが合わせられている。
【００１７】
本発明の他のアスペクトに係るメモリモジュールにおいては、前記ＰＬＬ回路の出力端と入力端間のフィードバックループのフィードバック時間と、前記ＰＬＬ回路の出力端から前記メモリデバイスの入力端までの前記第２のクロック信号（CLKd）のフライトタイムとが合わせられている。
【００１８】
上記のように構成された本発明は、チップセットが供給するクロック信号のメモリデバイスへの供給を、メモリモジュール上に搭載したＰＬＬ回路を介して行い、良好なシグナル・インテグリティ（Signal integrity）を確保している。さらに、チップセットのＣＡ信号の送出タイミングを制御するか、あるいは、ＰＬＬ回路から出力されるクロック信号（CLKd）のタイミングを制御し、メモリデバイスにおけるクロック信号（CLKｄ）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを等しくしている。このため、クロック信号（CLK）の周波数として、266MHzでの動作が可能とされている。
【００１９】
また、例えば、266MHzと200MHzの両方で用いられる場合には、高い方の周波数の266MHzのクロック信号の１周期tCKに相当する3750psを用いて、ＣＡ信号の出力タイミング、あるいは、クロック信号（CLKd）のタイミングを制御することで、クロック周波数200MHzでの動作時にも、最小マージンは、クロック周波数266MHzで動作時以上を確保することができる。このため、１種類のメモリモジュールを用意するだけで済む。
【００２０】
さらには、ＣＡ信号の出力タイミングを、クロック信号（CLK）の周期（ｔCK）に依存するように、即ち、クロック信号（CLK）に同期させておく。この場合、クロック周期ｔCKが大きくなると、それに従って、ＣＡ信号の出力タイミングの後ろ倒し量を大きくすることができる。よって、周波数が変わった場合のタイミング制御を、用いる周波数で最適とすることができるため、マージンをさらに増加させることができる。
【００２１】
【発明の実施の形態】
本発明の実施の形態について説明する。本発明に係るメモリシステムは、その一実施の形態において、図１を参照すると、チップセット（４）と、ＰＬＬ回路３と、クロック同期型のＤＲＡＭ等のメモリデバイス（２）を有する、少なくとも１つのメモリモジュール（１）と、を備えている。チップセット（１）は、クロック信号(CLK)と、メモリデバイス（２）へのコマンド／アドレス信号（「ＣＡ信号」という）をメモリモジュール（１）に供給する。ＰＬＬ回路（３）は、チップセット（４）からのクロック信号(CLK)を入力し、（２）に供給されるクロック信号（CLKd）を出力し、メモリデバイス（２）は、クロック信号（CLKd）を入力し、該クロック信号（CLKd）に基づき、ＣＡ信号をラッチする。ＰＬＬ回路（３）のクロック入力端とメモリデバイス（２）のクロック入力端にそれぞれに入力されるクロック信号（CLK、CLKd）のタイミングが合わせられており、メモリデバイス（２）におけるクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、チップセット（４）からのＣＡ信号の出力タイミングを制御され、チップセット（４）からのＣＡ信号の出力タイミングの後ろ倒し量Ｂが、式、
B = tCK + CLK_flight_time - CA_flight_time
（ただし、CLK_flight_timeは、チップセット（４）からメモリモジュール（１）上のＰＬＬ回路（３）までのクロック信号(CLK)の平均フライトタイム、
CA_flight_timeは、チップセット（４）からメモリモジュール（１）上のメモリデバイス（２）までのＣＡ信号の平均フライトタイム、
tCKは、クロック信号(CLK)の周期、である）
となるように設定されている。
【００２２】
また本発明の別の実施の形態において、図１０を参照すると、メモリデバイス（２）におけるクロック信号（CLKd）に対するＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、ＰＬＬ回路（３）の出力端（Fbout）と入力端（FBin）間のフィードバックループのフィードバックタイムと、ＰＬＬ回路（３）から前記メモリデバイス（２）の入力端までのクロック信号（CLKd）のフライトタイムとを制御し、ＰＬＬ回路（３）の入力部のクロック信号（CLK）に対する、メモリデバイス（２）におけるクロック信号（CLKd）の前倒し量Ｇが、式、
G= 0.5×tCK + CLK_flight_time - CA_flight_time
（ただし、CLK_flight_timeは、チップセット（６）からＰＬＬ回路（３）までのクロック信号（CLK）の平均フライトタイム、
CA_flight_timeは、チップセット（６）からメモリモジュール（５）上のメモリデバイス（２）までの前記ＣＡ信号の平均フライトタイム、
tCKは、クロック信号（CLK）の周期、である）
となるように設定されている。
【００２３】
すなわち、この実施の形態においては、ＰＬＬ回路（３）とメモリデバイス（２）の各入力部でクロック信号の位相は異なっており、メモリデバイス入力部において、クロック信号（CLKd）の立ち上がりが、ＣＡ信号の真中に位置するように、ＰＬＬ回路（３）のフィードバックループのフィードバックタイム（Feedback time）と、クロック信号（CLKd）のフライトタイム（CLKd  flight time）とが制御され、メモリデバイス（２）の入力部のクロック信号（CLKd）のタイミングは、ＰＬＬ回路（３）の入力部でのクロック信号（CLK）のタイミングより、Ｇ(ps)だけ、前倒しされており、メモリデバイス（２）は、前倒しされたクロック信号（CLKd）の立ち上がりエッジで、ＣＡ信号をラッチする。
【００２４】
あるいは、本発明のさらに別の実施の形態においては、図１５を参照すると、ＰＬＬ回路（３）とメモリデバイス（２）の各入力部でクロック信号の位相は異なっており、メモリデバイス入力部において、クロック信号（CLKd）の立ち上がりが、ＣＡ信号の真中に位置するように、ＰＬＬ回路（３）の出力端（FBout）と入力端（FBin）間のフィードバックループのフィードバックタイムと、クロック信号（CLKd）のフライトタイム（CLKd  flight time）が制御され、メモリデバイス（２）の入力部のクロック信号（CLKd）のタイミングは、ＰＬＬ回路（３）の入力部でのクロック信号（CLK）のタイミングよりも、Ｂ（ps）だけ、後ろ倒しされ、メモリデバイス（２）は、後ろ倒ししたクロック信号（CLKd）で、ＣＡ信号をラッチする。この後ろ倒し量Ｂは、
後ろ倒し量Ｂ＝CA flight time - CLK flight time
（ただし、CA flight timは、チップセット（６）からメモリモジュール（５）上のメモリデバイス（２）までの前記ＣＡ信号の平均フライトタイム、
CLK_flight_timeは、チップセット（６）からＰＬＬ回路（３）までのクロック信号（CLK）の平均フライトタイムである）で与えられる。
【００２５】
このように、メモリモジュール上に搭載したＰＬＬ回路（３）を介してメモリデバイス（２）に、シグナルインテグリティ（Signal integrity）の良いクロック信号を供給し、チップセットからのＣＡ信号の送出タイミングを制御するか、あるいは、ＰＬＬ回路（３）からメモリデバイス（２）に供給されるクロック信号（CLKd）のタイミングを制御し、メモリデバイス（２）におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを等しくしており、クロック周波数266MHzでの動作を可能としている。また、クロック周波数266MHzとクロック周波数200MHzの両方で用いられる場合には、266MHz CLKの１周期に相当する3750psを用いてチップセット１からのＣＡ信号の送出タイミング、あるいは、ＰＬＬ回路（３）からメモリデバイス（２）に供給されるクロック信号（CLKd）のタイミングを制御して、クロック周波数200MHz動作時でも、最小マージンは、266MHz時と同等以上に確保しているので１種類のモジュールを用意するだけで済む。
【００２６】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して説明する。図１は、本発明のメモリシステムの第１の実施例の構成を示す図である。図１を参照すると、本実施例は、チップセット４と、１枚以上のメモリモジュール（単に「モジュール」ともいう）１と、モジュール１上に搭載されている少なくとも１つのＰＬＬ回路３と、複数のＤＲＡＭ２−１〜２−ｎを有し、ＰＬＬ回路３と、複数のＤＲＡＭ２−１〜２−ｎは、チップセット４からモジュール１に供給されるクロック信号（CLK）と、コマンド、アドレス信号（「ＣＡ信号」という）を受けて動作する。
【００２７】
本実施例のメモリシステムの動作について説明する。ＰＬＬ回路３は、チップセット４からのクロック信号（CLK）を入力し、ＤＲＡＭ２−１〜２−ｎに供給するクロック信号（CLKd）を出力する。ＤＲＡＭ２−１〜２−ｎのそれぞれにおいて、ＰＬＬ回路３から出力されるクロック信号（CLKd）をラッチタイミング信号として、チップセット４から出力されるＣＡ信号をラッチし、ＤＲＡＭ２−１〜２−ｎ内に取り込む。
【００２８】
各ノードにおけるクロック信号（CLK）のタイミングは、ＰＬＬ回路３の入力部とＤＲＡＭ２−１〜２−ｎの各入力部でのクロック信号（CLK）が同じ位相となるように、ＰＬＬ回路３からＤＲＡＭ２−１〜２−ｎまでの、クロック信号（CLKd）のフライトタイム（Flight time）と、ＰＬＬ回路３における出力端子FBoutから入力端子FBinまでのフィードバックタイム（Feedback time）とを等しくしている。
【００２９】
チップセット４の出力部のＣＡ信号のタイミングは、以下のようにして決定される。
【００３０】
図２は、本発明の第１の実施例において、クロック信号（CLK）の周波数が266MHz（「266MHz  CLK」という）におけるタイミング動作の一例を示す図である。図２を参照すると、ＰＬＬ回路３の入力部でのクロック信号（CLKin@PLL）と、ＤＲＡＭ２−１〜２−ｎの入力部でのクロック信号（CLKd@DRAM）とが同じ位相になっており、それぞれの立ち上がりが、ＤＲＡＭ２−１〜２−ｎの入力部でのＣＡ信号(Cain@DRAM)の真中に位置している(図２のタイミングｔA)。
【００３１】
チップセット４の出力部におけるＣＡ信号(CAout@Chipset)のタイミングは、通常のタイミング(T1)より、時間Ｂ(ps)だけ、後ろ倒しされている。通常のタイミング（T1）は、アドレスの切り換わり目がT1、T2の位置にある。
【００３２】
後ろ倒しされたＣＡ信号は、ＣＡ信号のフライトタイム（CA flight time）かかって、ＤＲＡＭ２−１〜２−ｎに到着する。
【００３３】
一方、チップセット４が出力されたクロック信号（CLK）は、CLK flight timeかかって、ＰＬＬ回路３に到達する。ＰＬＬ回路３が出力するクロック信号（CLKd）は、上述したようにＤＲＡＭ２の入力部で、ＰＬＬ回路３の入力部と位相が合うように設定されている。
【００３４】
上述のように、チップセット４が出力するＣＡ信号は、ＣＡ信号のフライトタイム（CA flight time）かかって、ＤＲＡＭに到着するが、このフライトタイムの値は、チップセット４やモジュール１の製造ばらつきや使用環境状況等によって、ばらつく。図２には、ＣＡ信号のフライトタイムの平均値が示されている。
【００３５】
この実施例では、ＣＡ信号のフライトタイムの平均値の中心に、クロック信号（CLKd）の立ち上がりがくるように、ＣＡ信号の後ろ倒し量Ｂを決める。クロック信号のフライトタイム（CLK flight time）もばらつくが、図２では、平均値で示している。
【００３６】
図２から分かるように、チップセット４からのＣＡ信号の後ろ倒し量Ｂは、以下の式（１）を満たす。
【００３７】
0003742044.tif 000002
【００３８】
上式を整理すると、
後ろ倒し量Ｂは、
Ｂ=tCK  + CLK flight time - CA flight time  …(2)
となる。
【００３９】
数値例で示すと、以下のようになる。266MHz CLK（クロック周波数266MHz）で、tCK=3750ps,  CLK flight time=1400ps,  CA flight time=2800psとすると、上式（２）より、後ろ倒し量Ｂ=2350psとなる。
【００４０】
図３は、ＣＡ信号の後ろ倒し量Ｂを縦軸とし、(CLK flight time-CA flight time)を横軸とし、これらの間の関係を示す図である。(CLK flight time-CA flight time)の値によって、この線上のどこかの値を採用すれば良い。
【００４１】
また、ＰＬＬ回路３のFBoutからFBinまでのフィードバックループのフライトタイムFeedback time）が、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイムと等しくなるように設定されている。
【００４２】
CLKd flight time = Feedback time      …(3)
【００４３】
これは、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長と、ＰＬＬ回路３におけるFBoutからFBinまでのフィードバックループの配線長を同一にすれば良い。もちろん、フィードバックループの配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能である。
【００４４】
以上、説明したように、ＣＡ信号の後ろ倒し量Ｂを決めて、タイミングを制御しており、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。
【００４５】
次に、チップセット４からのＣＡ信号の出力タイミングにおける後ろ倒し量Ｂを制御する手段について説明する。
【００４６】
図４は、本発明の一実施例におけるチップセット４のＣＡ出力部の構成の一例を示す図である。図４を参照すると、ＤＬＬ（遅延同期ループ）３０と、レプリカ３５(ディレイレプリカ)と、フリップフロップ３１と、遅延回路３２と、セレクタ３３と、出力バッファ回路（Output buffer）３４とを備えている。ＤＬＬ３０の帰還路内のレプリカ３５は、フリップフロップ３１、遅延回路３２、セレクタ３３、及び出力バッファ回路３４の遅延時間のレプリカである。フリップフロップ３１は、ＤＬＬ回路３０から出力されるクロック信号に基づき、ＣＡ信号をサンプルして、遅延回路３２に供給する。遅延回路３２は、例えばインバータチェーンから構成され、８つの経路から成っており、遅延時間０psの経路から順に、tCK/８の遅延時間差を持たせている。すなわち、経路１では遅延時間０ps、経路２では遅延時間tCK/８ps、…、経路７では遅延時間６xtCK/８ps、経路８では遅延時間７xtCK/８psとされる。どの遅延経路を選択するかは、セレクト信号で決め、セレクタ３３は、セレクト信号で決められた信号を出力する。なお、266MHz CLKと200MHz CLKの両方をサポートする場合は、クロック信号の周期tCKとして、高速動作の方の3750psに設定しておく。
【００４７】
図２においては、最適の後ろ倒し量Ｂは2350psであったが、この制御法によると、(3750/8)x5=2344psとなり、6psずれる。しかしながら、6psのずれは問題ない。
【００４８】
図５は、図４に示した上記制御手段を用いた場合の、図１の前記実施例の200MHz CLKにおけるタイミングチャートである。
【００４９】
図５では、200MHz CLKでの最適の後ろ倒し量Ｂにはなっていないが、以下に示すように問題ない。
【００５０】
200MHzで最適の後ろ倒し量Ｂが必要な場合には、上述の（２）式において、
tCK＝5000ps
として求めれば良い。
【００５１】
また、チップセット４のCA出力回路部の遅延回路３２の刻みを5000ps/８にすれば良い。
【００５２】
ところで、同一のチップセットとモジュールを、266MHz CLKと200MHz CLKの両方で利用可能にしておくと、１種類のチップセットとモジュールを準備するだけでよく、効率的である。
【００５３】
従って、図５では、266MHz CLKを優先した場合の後ろ倒し量Ｂにした時のタイミングで示している。この場合、最適の後ろ倒し量Ｂは3600psであるので、
(3750/8)のN倍で、3600psに最も近くなる、N＝７を採用し、
B=(3750/8)x7=3281ps
としている。
【００５４】
図５から分かるように、ＤＲＡＭにおいて、第２のクロック信号（CLKｄ）に対するＣＡ信号のホールド量は、2181psとなり、266MHz CLK時の図２の場合(1875ps)と比べて、増加している。
【００５５】
次に、本発明の別の実施例における、チップセットからのＣＡ信号の出力タイミングの後ろ倒し量Ｂの制御手段（制御２）について説明する。図６は、本実施例におけるチップセット４のCA出力部の構成の一例を示す図である。ＤＬＬ３０と、レプリカ３６と、フリップフロップ３１と、８相クロック（CLK）発生器３７と、セレクタ３３と、出力バッファ３４とを備えている。ＤＬＬ３０の帰還ループ内のレプリカ３６は、８相CLK発生器３７とセレクタ３３とフリップフロップ３１と出力バッファ３４の遅延時間のレプリカである。
【００５６】
８相クロック（CLK）発生器３７は、クロック信号（CLK）を入力し、例えば図７に示すように、クロック信号（CLK）の１周期tCKを８等分したシフト量を持つ８相クロック信号CLK1からCLK8までを出力する。
【００５７】
どの位相のクロック信号CLKを選択するかは、セレクタ３３に供給されるセレクト信号で決める。この場合、８相CLK発生器３７の出力は、動作周波数に応じて、tCKを８分割する。そのため、図６の構成は、周波数に依存する回路構成となっており、266MHz CLKと200MHz CLKの両方の周波数に対応させ易い。
【００５８】
図２に示した例において、最適後ろ倒し量Ｂは、2350psであったが、図６の構成によると、(3750/8)x5=2344psとなり、6psずれる。しかし、6ps程度のずれは特に問題はない。
【００５９】
図８は、図６に示した構成を用いた場合のタイミング図であり、200MHz CLKにおけるタイミングチャートである。
【００６０】
200MHzで最適の後ろ倒し量Ｂは、上述の（２）式において、tCK=5000psとして求めれば良く、3600psとなる。
【００６１】
従って、(5000/8)のN倍で、3600psに最も近くなる、N=6を採用し、B=(5000/8)x6=3750psとしている。
【００６２】
図８からも分かるように、ＤＲＡＭにおいて、クロック信号（CLKｄ）に対するＣＡ信号のセットアップ量は、2350psとなり、266MHz CLK時の図２の場合(1875ps)よりも増加する。また、図５の場合(ホールド量=2181ps)より、マージンが増加している。
【００６３】
このように、同一のチップセット４とモジュール１を、266MHz CLKと200MHz CLKの両方で使えるので、１種類のチップセットとモジュールを用意するだけでよく、効率的である。
【００６４】
次に、本実施例のタイミングバジェットについて説明する。図９に、266MHz CLK時と200MHz CLK時における、本実施例のＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ、ホールド時間のタイミングバジェットの一例を示す。
【００６５】
266MHz CLK時には、半周期の0.5tCKから、
・チップセット４のＣＡ信号のスキューtQ,
・ＤＲＡＭ２のセットアップ時間、ホールド時間仕様値tS,tH,
・ＰＬＬ回路３の位相エラー（phase error）や、ピン間スキュー（pin to pin skew）やジッタの仕様値であるΔt,ＰＬＬ,
・モジュール１上のクロック信号（CLKd）のフライトタイム（Flight time）のスキューtSkew,CLKd,
・ＰＬＬ回路３に入力されるクロック信号（CLK）のジッタであるtJ,CLKp,
・ＰＬＬ回路３のフィードバックタイムとクロック信号（CLKd）のフライトタイム見積もり誤差tFBFL,
・ＣＡ信号とクロック信号（CLK）のスキューｔSkew,CA,CLK
を差し引いた残りの時間が、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンtMになる。
【００６６】
200MHz CLK時も、基本的に同じである。この場合は、後ろ倒し量Ｂが、制御法１、２によって変わる。それぞれの、初期ウインドウの2181psと2350psから、ばらつき要因を差し引いている。200MHz CLK時には、ｔMはホールド時間のマージン、あるいは、セットアップ時間のマージンとなる。
【００６７】
我々が検討した各項目の値を代入して、マージンtMを計算すると、
266MHz  CLK時には、(180-6)ps
となる。6psは、前述した後ろ倒し量Ｂの制御手段（図４、図６参照）により、後ろ倒し量Ｂが、最適値から6psずれる分である。
【００６８】
200MHz CLK時には、マージンtMは、図４、図６の制御手段でそれぞれ、486psと655psとなる。
【００６９】
このように、266MHz CLK時と200MHz CLK時ともに、プラスのマージンを得ることができる。
【００７０】
以上、説明したように、本実施例によれば、266MHz CLKにおいて、基本的に、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。さらに、200MHz CLK時においても、１種類のチップセットとモジュールを用いて、即ち、266MHz用と兼用して、マージンをプラスにすることができる。
【００７１】
次に、本発明の別の実施例について説明する。図１０は、本発明のメモリシステムの第２の実施例の構成を示す図である。図１０に示すように、チップセット６と、１枚以上のメモリモジュール５とを有し、メモリモジュール１は、少なくとも１つのＰＬＬ回路３と、複数個のＤＲＡＭ２−１〜２−ｎとを有し、チップセット６から出力するクロック（CLK）と、ＣＡ信号を受けて動作する。
【００７２】
本発明の第２の実施例のメモリシステムの動作について説明する。
【００７３】
ＰＬＬ回路３は、チップセット６からのクロック信号（CLK）を入力し、ＤＲＡＭ２−１〜２−ｎに供給するクロック信号（CLKd）を出力する。ＤＲＡＭ２−１〜２−ｎのそれぞれにおいて、ＰＬＬ回路３から出力されるクロック信号（CLKd）に基づき、チップセット６から出力されるＣＡ信号をラッチして、ＤＲＡＭに取り込む。
【００７４】
クロック信号（CLK）のタイミングは、ＰＬＬ回路３とＤＲＡＭ２−１〜２−ｎの各入力部で位相が異なっている。ＤＲＡＭ２−１〜２−ｎの入力部のクロック信号（CLK）のタイミングは、以下のようにして決定する。
【００７５】
図１１は、図１０のメモリシステムにおける266MHz CLKにおける動作の一例を示すタイミングチャートである。
【００７６】
チップセット６から出力されたＣＡ信号は、ＣＡフライトタイム（図１１のCA flight time）かかって、ＤＲＡＭに到着する(すなわちCaout@ChipsetからCain @DRAMまでの伝搬遅延時間2800ps)。この値は、チップセット６やモジュール１の製造ばらつきや使用環境状況等によって、ばらつくが、図１１では、平均値が示されている。
【００７７】
また、チップセット６から出力されたクロック信号(CLK)は、フライトタイム（図１１のCLK flight time）かかって、ＰＬＬ回路３に到達する(CLKout@Chipset立ち上がりからCLKin@PLLの立ち上がりまでの伝搬遅延時間1400ps)。この値もばらつくが、図１１では、平均値が示されている。
【００７８】
ここでは、チップセット６の出力部において、ＣＡ信号（CAout @Chipset）の真中のタイミングで、クロック信号（CLK）の立ち下がり（CLKout @Chipsetの破線参照）になるように、チップセット６は、ＣＡ信号とクロック信号（CLK）を出力している。
【００７９】
ＰＬＬ回路３とＤＲＡＭ２の各入力部でクロック信号（CLK）の位相は異なっており、ＤＲＡＭ入力部において、クロック信号（CLKd）の立ち上がりが、ＣＡ信号の真中に位置するように、ＰＬＬ回路３のフィードバックループのフィードバックタイム（Feedback time）と、クロック信号（CLKd）のフライトタイム（CLKd  flight time）を制御している。
【００８０】
すなわち、ＤＲＡＭ２の入力部のクロック信号（CLKd）のタイミングは、ＰＬＬ回路３の入力部でのクロック信号（CLK）のタイミングより、Ｇ(ps)だけ、前倒しされている。ＤＲＡＭは、前倒しされたクロック信号（CLKd）の立ち上がりエッジで、ＣＡ信号をラッチする。
【００８１】
図１１から分かるように、ＤＲＡＭにおけるクロック信号（CLKd＠DRAM）の前倒し量Ｇは、以下の式を満たす。
【００８２】
前倒し量G + CA flight time + 0.5tCK  ＝0.5tCK + CLK fligh titme + 0.5tCK    …(4)
【００８３】
上式を整理すると、
前倒し量G = 0.5tCK + CLK flight time - CA flight time      …(5)
となる。
【００８４】
別の表現をすれば、
前倒し量G =Feedback time - CLKd flight time      …(6)
となる。
【００８５】
数値例で示すと以下のようになる。266MHz CLKで、
tCK=3750ps,
CLK flight time=1400ps,
CA flight time=2800ps
とすると、上式（５）より、前倒し量Ｇは475psとなる。
【００８６】
すなわち、上式（６）より、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイム（Flight time）を、フィードバックタイム（Feedback time）より、475ps速くすれば良い。
【００８７】
一般に、ボード上の信号伝播時間は、7ps/mm程度であることから、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長を、フィードバックの配線長より、68mm短くすれば良い。
【００８８】
クロック信号（CLKd）のフライトタイム（CLKd flight time）を900psとすると、ＰＬＬ回路３のフィードバックタイム（Feedback time）=1375psとなり、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長と、ＰＬＬ回路３のFboutからFbinまでのフィードバックの配線長は、それぞれ、128mmと196mmになる。
【００８９】
図１２は、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長と、ＰＬＬ回路３のフィードバックループ（Feedback loop）の配線長の関係を示す図である。もちろん、ＰＬＬ回路３のフィードバックループ配線に適当な容量を付加して、配線と容量でタイミングを制御するようにしてもよい。
【００９０】
以上、説明したように、ＰＬＬ回路３からＤＲＡＭまでのクロック信号（CLKd）の前倒し量を決めて、タイミングを制御することで、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。
【００９１】
図１３は、本発明の第２の実施例における200MHz CLK時における動作の一例を示すタイミングチャートである。
【００９２】
図１３において、200MHz CLK時における最適の前倒し量Ｇとはなっていない。200MHzで、最適の前倒し量Ｇが必要な場合には、上式（５）において、tCK=5000psとして求めれば良い。
【００９３】
しかしながら、同一のモジュールを266MHz CLKと200MHz CLKの両方で使えるようにしておくと１種類のモジュールを用意するだけでよく、効率的である。
【００９４】
従って、図１３では、266MHz CLKで求めた前倒し量Ｇにした場合のタイミングが示されている。この場合、図１３から分かるように、クロック信号（CLKd）の立ち上がりに対して、ＣＡ信号が前方にシフトしている。
【００９５】
つまり、ＤＲＡＭにおいて、クロック信号（CLKｄ）に対するＣＡ信号のセットアップ量は、266MHz CLK時の図１１の場合より増加する。ただし、ホールド量は、266MHz CLK時の図１１の場合と同一の1875psである。
【００９６】
次に、本実施例のタイミングバジェットについて説明する。図１４に、266MHz CLK時と200MHz CLK時における、本実施例のＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ、ホールド時間のタイミングバジェットの一例を示す。
【００９７】
266MHz CLK時には、半周期の1875psから、
・チップセット６のＣＡ信号のスキューｔQ,
・ＤＲＡＭのセットアップ時間、ホールド時間仕様値tS/tH,
・ＰＬＬ回路３の位相誤差（phase error）やピン間スキュー（pin to pin skew）やジッタの仕様値であるΔt,ＰＬＬ,
・モジュール５上のクロック信号（CLKd）のフライトタイムのスキューのtSkew,CLKd,
・ＰＬＬ回路３に入力されるクロック信号（CLK）のジッタであるtJ,CLKp,
・ＰＬＬ回路３のフィードバックタイムとクロック信号（CLKd）のフライトタイムの見積もり誤差tFBFL,
・ＣＡ信号とクロック信号（CLK）のスキューであるtSkew,CA,CLK
を差し引いた残りの時間が、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンtMになる。
【００９８】
200MHz CLK時も、基本的に同じである。この場合は、前倒し量Ｇを、266MHz時と同じにしているので、ホールド量1875psから、ばらつき要因を差し引いている。200MHz CLK時には、ｔMはホールド時間のマージンとなる。
【００９９】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、セットアップ時間、ホールド時間ともに、180psとなる。
【０１００】
200MHz CLK時も、tM=180psとなる。ただし、200MHz  CLK時には、ホールド時間のマージンの値であり、セットアップ時間のマージンは、それより大きい。もちろん、200MHz時に最適の後ろ倒し量Gを決めれば、180psより大きな値を得ることができるが、266MHzと200MHzで同じモジュールを使用するために、このようになっている。
【０１０１】
以上、説明したように、クロック信号（CLKd）の前倒し量Ｇを決めてタイミングを制御すれば、ＤＲＡＭにおけるCLKdに対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを、266MHz CLKにおいても、200MHz CLKにおいても、１種類のモジュールを準備するだけで、プラスにすることができる。
【０１０２】
次に、本発明の第３の実施例について説明する。図１５は、本発明のメモリシステムの第３の実施例の構成を示す図である。
【０１０３】
図１５に示すように、本実施例は、チップセット６と、１枚以上のメモリモジュール７を備え、メモリモジュール７は、少なくとも１つのＰＬＬ回路３と、複数個のＤＲＡＭ２を有し、チップセット６から出力されるクロック信号（CLK）と、ＣＡ信号とを受けて動作する。
【０１０４】
本発明の第３の実施例のメモリシステムの動作について説明する。
【０１０５】
ＰＬＬ回路３は、チップセット６からのクロック信号（CLK）を入力し、ＤＲＡＭ２−１〜２−ｎに供給するクロック信号（CLKd）を出力する。ＤＲＡＭ２において、ＰＬＬ回路３から出力されるクロック信号（CLKd）に基づき、チップセット６から出力されたＣＡ信号をラッチして、ＤＲＡＭに取り込む。
【０１０６】
クロック信号（CLK）のタイミングは、ＰＬＬ回路３とＤＲＡＭ２の各入力部で位相が異なっている。ＤＲＡＭ２の入力部のクロック信号（CLKd）のタイミングは、以下のようにして決定する。
【０１０７】
図１６は、図１５の本発明の第３の実施例の266MHz CLK時におけるタイミングチャートを示す図である。
【０１０８】
チップセット６から出力されたＣＡ信号（CAout@Chipset）は、ＣＡ信号のフライトタイム（CA flight time）かかって、ＤＲＡＭに到着する。この値（CA flight time）は、チップセット６やモジュール７の製造ばらつきや使用環境状況等によって、ばらつく。図１６に示した値（2800ps）は、ＣＡ信号のフライトタイム（CA flight time）の平均値が示されている。また、チップセット６から出力されたクロック信号（CLKout＠Chipset）が、フライトタイム（CLK flight time）かかって、ＰＬＬ回路３に到達する。CLK flight timeの値もばらつく。図１６に示した値（1400ps）は、その平均値が示されている。チップセット６の出力部において、ＣＡ信号の真中で、クロック信号（CLK）の立ち上がりになるように（CLKout＠Chipsetの破線参照）、チップセット６は、ＣＡ信号とクロック信号（CLK）を出力している。
【０１０９】
ＰＬＬ回路３とＤＲＡＭ２の各入力部でクロック信号の位相は異なっており、ＤＲＡＭ入力部において、クロック信号（CLKd）の立ち上がりが、ＣＡ信号の真中に位置するように、ＰＬＬ回路３の出力端（FBout）と入力端（FBin）間のフィードバックループのフィードバックタイムと、クロック信号（CLKd）のフライトタイム（CLKd  flight time）が制御されている。
【０１１０】
つまり、ＤＲＡＭ２の入力部のクロック信号（CLKd）の立ち上がりのタイミングは、ＰＬＬ回路３の入力部でのクロック信号（CLK）の立ち上がりのタイミングよりも、B(ps)だけ、後ろ倒しされている。ＤＲＡＭ２は、後ろ倒ししたクロック信号（CLKd）で、ＣＡ信号をラッチする。
【０１１１】
図１６からも分かるように、ＤＲＡＭにおけるクロック信号（CLKd）の後ろ倒し量Ｂは、以下の式を満たす。
【０１１２】
後ろ倒し量Ｂ + CLK flight time + 0.5tCK
＝CA flight time + 0.5tCK              …(7)
【０１１３】
上式（７）を整理すると、
後ろ倒し量Ｂ＝CA flight time - CLK flight time      …(8)
となる。
【０１１４】
別の表現をすれば、
後ろ倒し量Ｂ＝CLKd flight time - Feedback time      …(9)
となる。
【０１１５】
数値例で示すと以下のようになる。266MHz CLKで、
tCK=3750ps,
CLK flight time=1400ps,
CA flight time=2800ps
とすると、上式（８）より、後ろ倒し量Ｂ=1400psとなる。
【０１１６】
すなわち、上式（９）より、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイム（CLK  flight time）を、ＰＬＬ回路３におけるフィードバックタイム(Feedback time)よりも、1400ps遅くすれば良い。
【０１１７】
前述したように、一般に、ボード上の信号伝播時間は7ps/mm程度であることから、ＰＬＬ回路３からＤＲＡＭまでのクロック信号（CLKd）の配線長を、ＰＬＬ回路３におけるフィードバックの配線長より、200mm長くすれば良い。
【０１１８】
ＰＬＬ回路３におけるフィードバックタイムを0ps（Feedback time＝０ps）とすると、CLKd flight time=1400psとなり、ＰＬＬ回路３からＤＲＡＭまでのクロック信号（CLKd）の配線長と、ＰＬＬ回路３におけるフィードバックループの配線長は、200mmと0mmになる。
【０１１９】
図１７に、フィードバックループ配線の長さを0mmとした時の、ＤＲＡＭまでのクロック信号（CLKd）の配線長と、(CA flight time-CLK flight time)の相当配線長の関係を示す。もちろん、フィードバックループ配線にある値を持たせることは可能であるが、クロック信号（CLKd）の配線長が長くなり過ぎる場合は、本実施例のように、フィードバックループ配線長を0mmにしておけば良い。図１６は、フィードバックループ長を0mmにした時のタイミングチャートである。
【０１２０】
以上、説明したように、クロック信号（CLKd）の後ろ倒し量を決めて、タイミングを制御することで、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。
【０１２１】
図１８は、本発明の第３の実施例における200MHz CLK時の動作の一例を示すタイミングチャートである。
【０１２２】
本実施例では、上式（８）からわかるように、最適の後ろ倒し量Ｂは、周波数によらない。つまり、266MHz CLKでの最適の後ろ倒し量Ｂが、200MHz CLKにおいても最適の値である。
【０１２３】
次に、本実施例のタイミングバジェットについて説明する。図１９は、本実施例の266MHz CLK時と200MHz CLK時における、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ、ホールド時間のタイミングバジェットの一例を示す図である。
【０１２４】
266MHz CLK時には、半周期の1875psから、
・チップセット６のＣＡ信号のスキューｔQ,
・ＤＲＡＭのセットアップ時間、ホールド時間仕様値tS,tH,
・ＰＬＬ回路３の位相誤差（phase error）やピン間スキュー（pin to pin skew）やジッタ（jitter）の仕様値であるΔt,ＰＬＬ,
・モジュール７上のクロック信号（CLKd）のフライトタイムのスキューtSkew,CLKd,
・ＰＬＬ回路３に入力されるクロック信号（CLK）のジッタであるtJ,CLKp,
・ＰＬＬ回路３のフィードバックタイムとクロック信号（CLKd）のフライトタイムの見積もり誤差tFBFL,
・ＣＡ信号とクロック信号（CLK）のスキューであるtSkew,CA,CLK
を差し引いた残りの時間が、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンtMになる。200MHz CLK時も、同じである。
【０１２５】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、セットアップ時間、ホールド時間ともに、180psとなる。200MHz CLK時には、tM=805psとなる。
【０１２６】
ただし、本実施例では、クロック信号（CLKd）を後ろ倒ししているので、ＤＲＡＭにおける、データストローブ信号（DQS）のクロック信号（CLKd）に対するホールド時間が厳しくなるが、その場合には、DQS信号を遅らせれば良い。本願明細書では、コマンド、アドレス系に注目しており、DQS信号は本発明の主題と直接関係しないため、これ以上の詳細は省略する。
【０１２７】
以上、説明したように、クロック信号（CLKd）の後ろ倒し量Ｂを決めてタイミングを制御することで、１種類のモジュールを準備するだけで、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを、266MHz CLKにおいても、200MHz CLKにおいてもそれぞれの、最大値にすることができる。
【０１２８】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例にのみ限定されるものでなく、特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１２９】
【発明の効果】
以上説明したように、本発明によれば、下記記載の効果を奏する。
【０１３０】
本発明によれば、メモリモジュール上に搭載したＰＬＬ回路を介して、メモリデバイスに対して、シグナルインテグリティ（Signal integrity）の良いクロック信号（CLK）を供給し、チップセットからのＣＡ信号の送出タイミングを制御、あるいは、ＰＬＬ回路がメモリデバイスに供給するクロック信号（CLKd）のタイミングを制御し、メモリデバイスにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを等しくする構成としたことにより、クロック周波数266MHzでの動作も可能である。
【０１３１】
本発明によれば、例えば、266MHzと200MHzのクロック周波数の両方で用いる場合には、高い周波数の266MHzのクロック１周期に相当する3750psを用いて、チップセットからのＣＡ信号の送出タイミング、あるいは、クロック信号（CLKd）のタイミングを制御しており、200MHz時でも、最小マージンは、266MHz時と同等以上に確保しているため、１種類のメモリモジュールを用意するだけでよい。
【０１３２】
さらには、本発明によれば、チップセットからのＣＡ信号の送出タイミングの制御法として、クロック周期tCKに依存する方法を採用しているため、クロック周波数200MHzで動作させる場合に、より大きなマージンを確保できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例をなすメモリシステムの構成を示す図である。
【図２】本発明の第１の実施例における266MHz  CLK時の動作の一例を示すタイミングチャートである。
【図３】本発明の第１の実施例におけるＣＡ信号の後ろ倒し量のグラフである。
【図４】本発明の第１の実施例におけるチップセットのＣＡ信号出力部の構成の一例を示す図である。
【図５】本発明の第１の実施例における200MHz CLKでの動作の一例を示すタイミングチャートである。
【図６】本発明の第１の実施例におけるチップセットのＣＡ信号出力部の構成の他の例を示す図である。
【図７】図６のＣＡ信号出力部の８相CLK発生器の出力信号波形を示す図である。
【図８】本発明の第１の実施例における200MHz CLKでの動作の一例を示すタイミングチャートである。
【図９】本発明の第１の実施例のＤＲＡＭにおけるタイミングバジェットの一例を示す図である。
【図１０】本発明の第２の実施例をなすメモリシステムの構成を示す図である。
【図１１】本発明の第２の実施例における266MHz  CLK時の動作の一例を示すタイミングチャートである。
【図１２】本発明の第２の実施例におけるクロック信号（CLKd）の配線長を示す図である。
【図１３】本発明の第２の実施例における200MHz CLKでの動作の一例を示すタイミングチャートである。
【図１４】本発明の第１の実施例のＤＲＡＭにおけるタイミングバジェットの一例を示す図である。
【図１５】本発明の第２の実施例をなすメモリシステムの構成を示す図である。
【図１６】本発明の第３の実施例における266MHz  CLK時の動作の一例を示すタイミングチャートである。
【図１７】本発明の第３の実施例におけるクロック信号（CLKd）の配線長を示す図である。
【図１８】本発明の第３の実施例における200MHz CLKでの動作の一例を示すタイミングチャートである。
【図１９】本発明の第３の実施例のＤＲＡＭにおけるタイミングバジェットの一例を示す図である。
【図２０】従来のメモリシステムの構成を示す図である。
【図２１】図２０の従来のメモリシステムのクロック信号（CLK）の配線例を模式的に示す図である。
【図２２】図２０の従来のメモリシステムの動作の一例を示すタイミングチャートである。
【符号の説明】
１、５、７、１０  モジュール
２−１〜２−ｎ、２０−１〜２０−ｎ  ＤＲＡＭ
３  ＰＬＬ
４、６  チップセット
３０  ＤＬＬ
３１  フリップフロップ
３２  遅延回路
３３  セレクタ
３４  出力バッファ
３５、３６  レプリカ
３７  ８相CLK発生器
【図１】
0003742044.tif 000003
【図２】
0003742044.tif 000004
【図３】
0003742044.tif 000005
【図４】
0003742044.tif 000006
【図５】
0003742044.tif 000007
【図６】
0003742044.tif 000008
【図７】
0003742044.tif 000009
【図８】
0003742044.tif 000010
【図９】
0003742044.tif 000011
【図１０】
0003742044.tif 000012
【図１１】
0003742044.tif 000013
【図１２】
0003742044.tif 000014
【図１３】
0003742044.tif 000015
【図１４】
0003742044.tif 000016
【図１５】
0003742044.tif 000017
【図１６】
0003742044.tif 000018
【図１７】
0003742044.tif 000019
【図１８】
0003742044.tif 000020
【図１９】
0003742044.tif 000021
【図２０】
0003742044.tif 000022
【図２１】
0003742044.tif 000023
【図２２】
0003742044.tif 000024