(57)【特許請求の範囲】
【請求項１】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）と、前記レジスタに供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される前記第３のクロック信号（CLKr）を入力し、前記第３のクロック信号（CLKr）に基づき、前記チップセットからの前記ＣＡ信号をラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記レジスタより出力される前記ＣＡ信号をラッチするメモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが、
合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号（CLK）のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合に、正値をとり、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、
前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）の配線長が、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
［(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
（ただし、
tpdf,maxは、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minは 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最小時間、
tCKは、前記第１のクロック信号(CLK)の周期である）、
で与えられる長さだけ短くされており、
前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングが制御されてなる、ことを特徴とするメモリシステム。
【請求項２】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）と、前記レジスタに供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される前記第３のクロック信号（CLKr）を入力し、前記第３のクロック信号（CLKr）に基づき、前記チップセットからの前記ＣＡ信号をラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記レジスタより出力される前記ＣＡ信号をラッチするメモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが、
合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号のタイミングよりも速い場合に、正値をとり、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングを制御して、
CLKr_flight_timeを、前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）のフライトタイム、
CLKd_flight_timeを、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイム、
tpdf,maxを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最大時間、
tpdf,minを 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最小時間、
tCKを、前記第１のクロック信号(CLK)の周期、
として、式、
CLKr_flight_time=CLKd_flight_time -（tpdf,max+tpdf,min-tCK）/2    …（Ａ）
を満たすように設定され、
tMDを、前記メモリデバイスでの前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップホールドマージンとし、
tMRを、前記レジスタでの前記第３のクロック信号（CLKr）に対する前記ＣＡ信号のセットアップマージンとし、
tMR>tMD>0の場合、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｂ）
で与えられる長さだけ短くし、
tMD>tMR>0の場合、あるいは、tMR<0であるが、ｔMR+ｔMD>0の場合には、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2 - (tMD - tMR)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
で与えられる長さだけ短くしてなる、ことを特徴とするメモリシステム。
【請求項３】
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び少なくとも１つのメモリデバイスを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）と、前記レジスタへ供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される第３のクロック信号（CLKr）を入力し、前記チップセットから供給される前記ＣＡ信号を前記第３のクロック信号（CLKr）に基づきラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される前記第２のクロック信号（CLKd）を入力し、前記レジスタから出力される前記ＣＡ信号を、前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが、
合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号（CLK）のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合に、正値をとり、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、
前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）の配線長が、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、
［(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
（ただし、
tpdf,maxは、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最大時間、
tpdf,minは 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最小時間、
tCKは、前記第１のクロック信号(CLK)の周期である）、
で与えられる長さだけ短くされており、
前記メモリデバイスでの、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記レジスタに入力される前記第２のクロック信号（CLKr）のタイミングが制御されている、ことを特徴とするメモリモジュール。
【請求項４】
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び少なくとも１つのメモリデバイスを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）と、前記レジスタへ供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される第３のクロック信号（CLKr）を入力し、前記チップセットから供給される前記ＣＡ信号を前記第３のクロック信号（CLKr）に基づきラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される前記第２のクロック信号（CLKd）を入力し、前記レジスタから出力される前記ＣＡ信号を、前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが、
合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号（CLK）のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合に、正値をとり、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、
前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、
前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対するＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記レジスタに入力される前記第２のクロック信号（CLKr）のタイミングが制御され、
CLKr_flight_timeを、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）のフライトタイム、
CLKd_flight_timeを、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイム、
tpdf,maxを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最小時間、
tCKを、前記第１のクロック信号(CLK)の周期、
として、式、
CLKr_flight_time=CLKd_flight_time -（tpdf,max + tpdf,min - tCK)/2    …（Ａ）
となるように設定され、
tMDを、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップホールドマージンとし、
tMRを、前記レジスタにおける前記第３のクロック信号（CLKr）に対する前記ＣＡ信号のセットアップマージンとし、
tMR>tMD>0の場合、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｂ）
で与えられる長さだけ短くし、
tMD>tMR>0の場合、あるいは、tMR<0であるが、ｔMR+ｔMD>0の場合には、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2 - (tMD - tMR)/2]/（単位長当りの信号伝播遅延時間）      …（Ｃ）
で与えられる長さだけ短くしてなる、ことを特徴とするメモリモジュール。
【請求項５】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）と、前記レジスタに供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される前記第３のクロック信号（CLKr）を入力し、前記第３のクロック信号（CLKr）に基づき、前記チップセットからの前記ＣＡ信号をラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記レジスタより出力される前記ＣＡ信号をラッチするメモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記レジスタの入力部にそれぞれ入力される前記第１及び第３のクロック信号のタイミングが合わせられており、
前記ＰＬＬ回路から前記メモリデバイスまでの第２のクロック信号（CLKd）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
（だだし、tpdf,maxは、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minは 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最小時間、
tCKは、前記第１のクロック信号(CLK)の周期である）、
で与えられる長さだけ長くし、
前記メモリデバイスでの、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記メモリデバイスに入力される前記第２のクロック信号（CLKd）のタイミングが制御されている、ことを特徴とするメモリシステム。
【請求項６】
チップセットと、
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、
を備え、
前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、
前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）と、前記レジスタに供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される前記第３のクロック信号（CLKr）を入力し、前記第３のクロック信号（CLKr）に基づき、前記チップセットからの前記ＣＡ信号をラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記レジスタより出力される前記ＣＡ信号をラッチするメモリシステムにおいて、
前記ＰＬＬ回路の入力部と前記レジスタの入力部にそれぞれ入力される前記第１及び第３のクロック信号のタイミングが合わせられており、
前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記メモリデバイスに入力される前記第２のクロック信号（CLKd）のタイミングを制御し、
CLKd_flight_timeを、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイム、
CLKr_flight_timeを、前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）のフライトタイム、
tpdf,maxを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minを 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最小時間、
tCKを、前記第１のクロック信号(CLK)の周期、
として、式、
CLKd_flight_time = CLKr_flight_time +（tpdf,max + tpdf,min - tCK)/2  …（Ａ）
となるように設定され、
tMDを、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップホールドマージン、
tMQを、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対するデータストローブ信号（DQS）のホールドマージン、
tMQ>tMD>0の場合、前記ＰＬＬ回路から前記メモリレジスタまでの前記第２のクロック信号（CLKd）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｂ）
で与えられる長さだけ長くし、
tMD>tMQ>0の場合、あるいは、tMQ<0であるが、ｔMQ+ｔMD>0の場合には、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2 - (tMD - tMQ)/2]/（単位長当りの信号伝播遅延時間）      …（Ｃ）
で与えられる長さだけ長くしてなる、ことを特徴とするメモリシステム。
【請求項７】
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び少なくとも１つのメモリデバイスを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）と、前記レジスタへ供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される第３のクロック信号（CLKr）を入力し、前記チップセットから供給される前記ＣＡ信号を前記第３のクロック信号（CLKr）に基づきラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される前記第２のクロック信号（CLKd）を入力し、前記レジスタから出力される前記ＣＡ信号を、前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
前記ＰＬＬ回路の入力部と前記レジスタの入力部にそれぞれ入力される前記第１及び第３のクロック信号のタイミングが合わせられており、
前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max+tpdf,min-tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
（だだし、
tpdf,maxは、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minは 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記レジスタから出力される前記ＣＡ信号が到着するまでの最小時間、
tCKは、前記第１のクロック信号(CLK)の周期である）、
で与えられる長さだけ長くし、
前記メモリデバイスにおける第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記メモリデバイスに入力される第２のクロック信号（CLKd）のタイミングが制御されている、ことを特徴とするメモリモジュール。
【請求項８】
位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び少なくとも１つのメモリデバイスを有し、
メモリモジュール外部のチップセットから出力される、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）とを受けるメモリモジュールであって、
前記ＰＬＬ回路は、前記第１のクロック信号(CLK)を入力し、前記メモリデバイスへ供給される第２のクロック信号（CLKd）と、前記レジスタへ供給される第３のクロック信号（CLKr）とを出力し、
前記レジスタは、前記ＰＬＬ回路から出力される第３のクロック信号（CLKr）を入力し、前記チップセットから供給される前記ＣＡ信号を前記第３のクロック信号（CLKr）に基づきラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、
前記メモリデバイスでは、前記ＰＬＬ回路から出力される前記第２のクロック信号（CLKd）を入力し、前記レジスタから出力される前記ＣＡ信号を、前記第２のクロック信号（CLKd）に基づきラッチするメモリモジュールにおいて、
前記ＰＬＬ回路の入力部と前記レジスタの入力部にそれぞれ入力される前記第１及び第３のクロック信号のタイミングが合わせられており、
前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記メモリデバイスに入力される前記第２のクロック信号（CLKd）のタイミングが制御され、
CLKr_flight_timeを、前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）のフライトタイム、
CLKd_flight_timeを、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイム、
tpdf,maxを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最大時間、
tpdf,minを 前記レジスタに前記第３のクロック信号（CLKr）が入力されてから、前記メモリデバイスに、前記レジスタから出力される前記ＣＡ信号が到着するまでの最小時間、
tCKを、前記第１のクロック信号(CLK)の周期、
として、式、
CLKd_flight_time = CLKr_flight_time +(tpdf,max + tpdf,min - tCK)/2    …（Ａ）
を満たすようにし、
tMDを、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップ及びホールドマージンとし、
tMQを、前記メモリデバイスでの前記第２のクロック信号（CLKd）に対するデータストローブ信号（DQS）のホールドマージンとし、
tMQ>tMD>0の場合、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2]/（単位長当りの信号伝播遅延時間）    …（Ｂ）
で与えられる長さだけ長くし、
tMD>tMQ>0の場合、あるいは、tMQ<0であるが、ｔMQ+ｔMD>0である場合には、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長を、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2 - (tMD - tMQ)/2]/（単位長当りの信号伝播遅延時間）      …（Ｃ）
で与えられる長さだけ長くしてなる、ことを特徴とするメモリモジュール。
【請求項９】
クロック動作周波数が200MHz以上とされている、ことを特徴とする請求項１、２、５、６のいずれか一に記載のメモリシステム。
【請求項１０】
クロック周波数200MHzと266MHzの両方で動作させる場合に、前記クロック周期tCKを3750psに設定して、タイミング制御が行われる、ことを特徴とする請求項１、２、５、６のいずれか一に記載のメモリシステム。
【請求項１１】
クロック動作周波数が200MHz以上である、ことを特徴とする請求項３、４、７、８のいずれか一に記載のメモリモジュール。
【請求項１２】
クロック周波数200MHzと266MHzの両方で動作させる場合に、前記クロック周期tCKが3750psに設定されている、ことを特徴とする請求項３、４、７、８のいずれか一に記載のメモリモジュール。
【請求項１３】
tMDとtMRは、前記メモリデバイス、前記ＰＬＬ回路、前記レジスタのセットアップ時間、ホールド時間を含むタイミング情報の仕様値から求められものである、ことを特徴とする請求項２に記載のメモリシステム。
【請求項１４】
tMDとtMRは、前記メモリデバイス、前記ＰＬＬ回路、前記レジスタのセットアップ時間、ホールド時間を含むタイミング情報の仕様値から求められものである、ことを特徴とする請求項４記載のメモリモジュール。
【請求項１５】
tMDとtMQは、前記メモリデバイス、前記ＰＬＬ回路、前記レジスタのセットアップ時間、ホールド時間を含むタイミング情報の仕様値から求められるものである、ことを特徴とする請求項６記載のメモリシステム。
【請求項１６】
tMDとtMQは、前記メモリデバイス、前記ＰＬＬ回路、前記レジスタのセットアップ時間、ホールド時間を含むタイミング情報の仕様値から求められるものである、ことを特徴とする請求項８記載のメモリモジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリシステムにおけるコマンド、アドレス(以下、CAと略す）システム方式に関し、特に、メモリモジュール上にレジスタ(レジスタ)を有するコマンド／アドレス（ＣＡ）システム及びメモリモジュールに関する。
【０００２】
【従来の技術】
従来より、メモリデバイスとしてＳＤＲＡＭ（Synchronous  ＤＲＡＭ）のＤＤＲ(DoubleDataRate)-I方式を用いたメモリシステムにおいては、メモリモジュール上に、レジスタ(Register)を有するコマンド／アドレス（ＣＡ）システム式が用いられている。例えばＤＱバス及びクロックバスにスタブバストポロジを採用する技術において、チップセット又はメモリコントローラから送出されたクロック信号(CLK)は、各メモリモジュールの基板上に配置された複数のメモリデバイスにそれぞれ分配される。メモリモジュールに接続される外部コマンド／アドレス（ＣＡ）バスを介してチップセットからメモリモジュールに対して送られてきたコマンド／アドレス信号（「ＣＡ信号」）は、メモリモジュール基板上に設けられたコマンド／アドレスレジスタ（単に、「レジスタ」という）にラッチされ、その後、ラッチされたＣＡ信号は、レジスタからメモリデバイスに到る内部ＣＡバスを介してメモリデバイスに分配される。
【０００３】
図１７は、従来のＤＤＲ-Iシステムに用いられるＣＡバス方式の一構成例を示すブロック図である。図１７に示すように、チップセット（Chipset）５０と、少なくとも１つのメモリモジュール（単に「モジュール」という）１０を備え、モジュール１０上には、位相同期ループ回路（Phase Locked Loop：「ＰＬＬ」という）３０と、レジスタ（「ＣＡレジスタ」ともいう）４０と、複数個のＤＲＡＭ（dynamic Random Access Memory）２０−１〜２０−ｎ（ただし、ｎは２以上の所定の正整数）を有し、これらは、チップセット５０から出力されるクロック信号(CLK)とコマンド／アドレス信号（「ＣＡ信号」という）を受けて動作する。
【０００４】
ＰＬＬ回路３０は、チップセット５０からのクロック信号(CLK)を入力し、ＤＲＡＭ２０用のクロック信号（CLKd）と、レジスタ４０用のクロック信号（CLKr）を出力する。
【０００５】
レジスタ４０は、ＰＬＬ回路３０から出力されるクロック信号（CLKr）を入力し、このクロック信号（CLKr）に基づき、チップセット５０からのＣＡ信号をラッチし、ラッチしたＣＡ信号を内部ＣＡバスを介して対応するＤＲＡＭ２０−１〜２０−ｎへ分配する。
【０００６】
ＤＲＡＭ２０−１〜２０−ｎは、ＰＬＬ回路３０から出力されるクロック信号（CLKd）で、レジスタ４０から出力されたＣＡ信号をラッチする。
【０００７】
クロックのタイミングは、ＰＬＬ回路３０、レジスタ４０、ＤＲＡＭ２０−１〜２０−ｎの各入力部で同じ位相になるように、
・ＰＬＬ回路３０からＤＲＡＭ２０−１〜２０−ｎまでのクロック信号（CLKd）のフライトタイム（Flight time）、
・ＰＬＬ回路３０からレジスタ４０までのクロック信号（CLKr）のフライトタイム（Flight time）、
・ＰＬＬ回路３０のフィードバック出力（Fbout）からフィードバック入力（Fbin）までのフィードバックタイム（Feedback time）、
は互いに等しくなるように設定されている。すなわち、タイミング的に等価長（equivalent length）に設定されている。
【０００８】
図１８は、図１７の従来のメモリシステムの動作を説明するためのタイミングチャートである。図１８に示すように、ＰＬＬ回路３０、レジスタ４０、ＤＲＡＭ２０の各入力部でのクロック、すなわち、
・ＰＬＬ回路３０へのクロック入力（図１８のＣＬＫｉｎ＠ＰＬＬ）、
・ＰＬＬ回路３０のフィードバック入力（図１８のＦＢｉｎ＠ＰＬＬ）、
・レジスタ４０へのクロック入力（図１８のＣＬＫｒ＠Ｒｅｇ．）、
・ＤＲＡＭ２０へのクロック入力（図１８のＣＬＫｄ＠ＤＲＡＭ）、
が同じ位相になっており、それぞれのクロック信号の立上がりのタイミングは、レジスタ４０の入力部でのＣＡ信号（図１８のＣＡｉｎ＠Ｒｅｇ．）の真中に位置している（図１８のタイミングｔ０の位置参照）。
【０００９】
レジスタ４０でラッチされたＣＡ信号は、遅延時間ｔｐｄｆ、すなわちレジスタ４０にクロック信号（CLKr）が入ってから（図１８のタイミングｔ０でのＣＡｉｎ＠Ｒｅｇ．参照）、レジスタ４０がＣＡ信号が出すまでの遅延時間にレジスタ４０からＤＲＡＭ２０までのＣＡ信号のフライトタイム（Flighttime)を加算した時間かかって、ＤＲＡＭ２０に到着する（図１８のＣＡ＠ＤＲＡＭ参照）。ＤＲＡＭ２０では、到着したＣＡ信号を、クロック信号（図１８のＣＬＫｄ＠ＤＲＡＭ）の立ちあがりエッジ（図１８のタイミングｔ１参照）でラッチして、ＤＲＡＭ２０に取り込む。
【００１０】
図１８は、クロック周波数２００ＭＨｚ（メガヘルツ）（「200MHzCLK」と記す）のタイミング動作を示しているが、クロック周波数１００ＭＨｚ（「100MHzCLK」と記す）の世代では、このタイミングで、安定した動作が保証できていた。
【００１１】
即ち、図１８に示すように、レジスタ４０の入力部において、ＣＡ信号の真中のタイミングに、クロック信号（CLKr）の立上がりエッジが位置しているために、レジスタ４０において、クロック信号（CLKr）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを大きくとることができた。
【００１２】
また、ＤＲＡＭ２０においても、図１８にＣＡ＠ＤＲＡＭ（Ｆａｓｔ  ｃａｓｅ）として示すように、クロック信号（CLKd）に対するＣＡ信号のホールド時間を、遅延時間tpdfの最小値のtpdf,minは必ず確保することができ、100MHz級の世代では、tpdf,minの値も３ｎｓ（ナノ秒）程度とされているため、マージン的に問題なかった。
【００１３】
クロック信号（CLKd）に対するＣＡ信号のセットアップ時間も、100MHz級（１クロックサイクル＝１０ｎｓ）では、0.5周期に対して、tpdf,maxの値が同等程度の５ｎｓ程度のため、特に、問題なかった。
【００１４】
このように、ＰＬＬ回路３０、レジスタ４０、ＤＲＡＭ２０の各入力部（クロック入力端）で、クロック信号を同じ位相にすることによって、レジスタ４０とＤＲＡＭ２０でのＣＡ信号のセットアップ、ホールド時間のマージンを十分とることができる。
【００１５】
また、ＰＬＬ回路３０、レジスタ４０、ＤＲＡＭ２０のクロック入力部で、クロック信号の位相を合わせるということは、基本的に、
・ＰＬＬ回路３０からＤＲＡＭ２０までのクロック信号（CLKd）の配線長、
・ＰＬＬ回路３０からレジスタ４０までのクロック信号（CLKr）の配線長、
・ＰＬＬ回路３０のフィードバック出力（Fbout）からフィードバック入力（Fbin）までのフィードバックループの各配線長、
を揃えれば良いので、設計的にも容易であった。
【００１６】
【発明が解決しようとする課題】
しかしながら、上述したような従来のシステムにおいては、以下に記載するような問題点がある。
【００１７】
クロック信号(CLK)の動作周波数が上がってくると、クロック周期に対して、tpdfの値が無視できない値となり、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンがなくなり、正常に動作しなくなる。
【００１８】
図１９に、266MHz CLK時と200MHz CLK時における、図１７に示した従来のシステムのタイミングバジェット（Timing budget）の一例を示す。
【００１９】
図１９に示すように、266MHzCLK時のタイミングバジェットは１クロックサイクル（tCK）＝３７５０ｐｓ（ピコ秒）よりも小、200MHzCLK時のタイミングバジェットは、１クロックサイクル（tCK）＝５０００ｐｓより小である。
【００２０】
図１９において、
tJ,CLKpは、図１７のＰＬＬ回路３０に入力されるクロック信号(CLK)のジッタである。
【００２１】
tSkew,CLKdは、図１７のモジュール１０上のクロック信号（CLKd）のフライトタイム（Flight time）のスキューである。
【００２２】
tpdf,maxは、図１７のレジスタ４０にクロック信号（CLKr）が入ってからレジスタ４０がＣＡ信号を出すまでの遅延時間ｔｐｄにレジスタ４０からＤＲＡＭ２０までのＣＡ信号のフライトタイム（Flight time）を加算した時間の最大値である。
【００２３】
tTGは、テスター（図示されない）のガードバンドである。
【００２４】
TFLは、図１７のレジスタ４０用のクロック信号（CLKr）とＤＲＡＭ２０用のクロック信号（CLKd）のフライトタイム（Flight time）の差である。
【００２５】
Δt,PLLは、図１７のＰＬＬ回路３０の位相誤差、ピン間スキュー（pin-to-pin skew）やジッタ（jitter）の仕様値である。
【００２６】
ｔSは、図１７のＤＲＡＭ２０のセットアップ時間の仕様値である。
【００２７】
クロックの１周期ｔＣＫから、tpdfの最大値であるtpdf,max、ｔS、Δt,PLL、tSkew,CLKd、tJ,CLKp、tFL、tTGを差し引いた残りの時間が、ＤＲＡＭ２０におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間(Setup Time)のマージンｔＭになる（次式（S1）参照）。
【００２８】
ｔM＝ｔCK − ( tpdf,max + ｔS + Δt,PLL + tSkew,CLKd + tJ,CLKp + ｔFL + tTG )      …(S1)
【００２９】
我々が検討した各項目の値を代入して、セットアップ時間のマージンtＭを計算すると、クロック周波数が200MHzの場合（図１５の200MHzCLK参照）には、
ｔM=4155-tpdf,max    （ただし、単位はｐｓ）      …(S2)
となり、
クロック周波数が266MHzの場合（266MHzCLK）には、
tM=2905-tpdf,max    （ただし、単位はｐｓ）      …(S3)
となる。
【００３０】
つまり、200MHzCLK時には、tpdf,maxを4155ps（約４．１ｎｓ）以下にできれば、ＤＲＡＭ２０におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のプラスマージンを得ることができる。
【００３１】
これに対して、266MHzCLK時には、tpdf,maxを2905ps（約２．９ｎｓ）以下にしなければ、セットアップ時間のプラスマージンを得ることができない。
【００３２】
そこで、図１３のメモリシステムについて、tpdf,maxの値を伝送回路シミュレーションにて解析した結果、信号間のクロストークの影響等を考慮すると、tpdf,maxの値を2905ps以下にすることは、ほぼ絶望であることが分かった。
【００３３】
即ち、本発明者らは、従来のＤＤＲ−Ｉメモリシステムにおいては、例えば266MHzCLK動作が不可能であることを見出した。
【００３４】
したがって、本発明は、上記従来のシステムが有する課題に鑑みてなされたものであって、その主たる目的は、クロック動作周波数として、例えば200MHzの時のみならず、従来のシステムでは動作不能とされた266MHzで駆動する場合にも、動作可能なメモリシステム及びメモリモジュールを提供することにある。
【００３５】
【課題を解決するための手段】
上記目的を達成するために本発明は、チップセットと、位相同期ループ回路（「ＰＬＬ回路」という）、レジスタ、及び、少なくとも１つのメモリデバイスを有する、少なくとも１つのメモリモジュールと、を備え、前記チップセットは、第１のクロック信号(CLK)と、前記メモリデバイスへのコマンド／アドレス信号（「ＣＡ信号」という）を前記メモリモジュールに供給し、前記ＰＬＬ回路は、前記チップセットからの前記第１のクロック信号(CLK)を入力し、前記メモリデバイスに供給される第２のクロック信号（CLKd）と、前記レジスタに供給される第３のクロック信号（CLKr）とを出力し、前記レジスタは、前記ＰＬＬ回路から出力される前記第３のクロック信号（CLKr）を入力し、前記第３のクロック信号（CLKr）に基づき、前記チップセットからの前記ＣＡ信号をラッチして、前記メモリデバイスへ供給するＣＡ信号を出力し、前記メモリデバイスは、前記第２のクロック信号（CLKd）を入力し、前記第２のクロック信号（CLKd）に基づき、前記レジスタより出力される前記ＣＡ信号をラッチするメモリシステムにおいて、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号(CLK)のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合、正値をとり、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングを制御し、
・CLKr_flight_timeを、前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）のフライトタイム、
・CLKd_flight_timeを、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイム、
・tpdf,maxを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから前記メモリデバイスに前記レジスタから出力されるＣＡ信号が到着するまでの最大時間、
・tpdf,minを、前記レジスタに前記第３のクロック信号（CLKr）が入力されてから前記メモリデバイスに、前記レジスタから出力されるＣＡ信号が到着するまでの最小時間、
・tCKを、前記第１のクロック信号(CLK)の周期、
として、式、
CLKr_flight_time = CLKd_flight_time -（tpdf,max + tpdf,min - tCK)/2…(Ａ)
を満たすタイミングで動作する構成とされている。
【００３６】
あるいは、本発明においては、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号(CLK)のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合、正値をとり、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングが制御され、式、
CLKr_flight_time = CLKd_flight_time -（tpdf,max + tpdf,min - tCK)/2…(Ａ)
を満たすように設定され、
・tMDを前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップ及びホールドマージンとし、
・tMRを前記レジスタにおける前記第３のクロック信号（CLKr）に対する前記ＣＡ信号のセットアップマージンとし、
tMR>tMD>0の場合には、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）のフライトタイムCLKr_flight_timeが、前記式（Ａ）を満たすように制御され、
tMD>tMR>0の場合、あるいは、tMR<0であるが、ｔMR+ｔMD>0の場合には、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）のフライトタイム（CLKr_flight_time）が、式、
CLKｒ_flight_time=CLKd_flight_time - [(tpdf,max + tpdf,min - tCK)/2-(tMD - tMR)/2]      …（Ｂ）
を満たすように制御される。
【００３７】
本発明においては、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号(CLK)のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合、正値をとり、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、前記ＰＬＬ回路から前記レジスタまでの第３のクロック信号（CLKr）の配線長が、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
［(tpdf,max  +  tpdf,min  -  tCK)/2]/（単位長当りの信号伝播遅延時間）…（Ｃ）
で与えられる長さだけ短くされており、前記メモリデバイスにおける、前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングが制御される。
【００３８】
本発明においては、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングが合わせられているか、あるいは、予め定められた所定の時間差Δｔに設定されており、前記時間差Δｔは、前記ＰＬＬ回路の入力部に入力される前記第１のクロック信号(CLK)のタイミングの方が、前記メモリデバイスの入力部に入力される前記第２のクロック信号（CLKd）のタイミングよりも速い場合、正値をとり、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングを合わせる場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムに設定され、前記ＰＬＬ回路の入力部と前記メモリデバイスの入力部にそれぞれ入力される前記第１及び第２のクロック信号のタイミングの差を前記時間差Δｔとする場合、前記ＰＬＬ回路のフィードバックループのフィードバックタイムが、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）のフライトタイムから前記時間差Δｔを差し引いた値に設定され、前記メモリデバイスにおける前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが等しくなるように、前記レジスタに入力される前記第３のクロック信号（CLKr）のタイミングを制御して、式、
CLKr_flight_time=CLKd_flight_time -（tpdf,max+tpdf,min-tCK)/2…（Ａ）
を満たすように設定され、
tMDを、前記メモリデバイスでの前記第２のクロック信号（CLKd）に対する前記ＣＡ信号のセットアップホールドマージンとし、
tMRを、前記レジスタでの前記第３のクロック信号（CLKr）に対する前記ＣＡ信号のセットアップマージンとし、
tMR>tMD>0の場合、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max+tpdf,min-tCK)/2]/（単位長当りの信号伝播遅延時間）      …（Ｂ）
で与えられる長さだけ短くし、
tMD>tMR>0の場合、あるいは、tMR<0であるが、ｔMR+ｔMD>0の場合には、前記ＰＬＬ回路から前記レジスタまでの前記第３のクロック信号（CLKr）の配線長を、前記ＰＬＬ回路から前記メモリデバイスまでの前記第２のクロック信号（CLKd）の配線長よりも、式、
[(tpdf,max + tpdf,min - tCK)/2 - (tMD-tMR)/2]/（単位長当りの信号伝播遅延時間）    …（Ｃ）
で与えられる長さだけ短くされている。
【００３９】
上記のように構成された本発明においては、ＰＬＬ回路、レジスタ、ＤＲＡＭの入力部におけるクロック信号のタイミングを一様に揃えるのではなく、ＰＬＬ回路とレジスタ、あるいは、ＰＬＬ回路とＤＲＡＭの入力部のクロック信号(CLK)の位相を合わせ、残りの１つに供給されるクロックのタイミングを制御し、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを等しくしているため、266MHz CLK動作も可能である。
【００４０】
また、例えば、266MHzと200MHzの両方で使用される場合には、高い周波数の266MHz  CLKの１周期に相当する3750psを用いて、残りの１つのに供給されるCLKのタイミングを制御しておけば、200MHz時でも、最小マージンは、266MHz時と同等に確保できるので、１種類のモジュールの準備で済む。
【００４１】
さらには、上記タイミング制御の後、レジスタにおけるクロック信号（CLKr）に対するＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間、ホールド時間のマージンを比較、あるいは、ＤＲＡＭにおけるクロック信号（CLKd）に対するDQS信号のホールド時間のマージンと、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間、ホールド時間のマージンを比較して、両者のマージンが等しくなるように、上記残りの１種類のデバイスに供給されるクロックタイミングを補正しているので、さらにマージンを増加させることができる。
【００４２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。本発明は、１又は複数のメモリデバイス（２−１〜２−ｎ、ｎは１以上の整数）と、メモリモジュール外部のチップセットから供給される第１のクロック信号を入力し、第２及び第３のクロック信号を生成するＰＬＬ回路（３）と、前記チップセットから供給されるコマンド／アドレス信号（「ＣＡ信号」という）をラッチし内部バスを介して前記複数のメモリデバイスに供給するレジスタ（４）と、を有するメモリモジュール（１）を備え、ＰＬＬ回路（３）から出力される第２のクロック信号（CLKd）は、前記各メモリデバイス（２−１〜２−ｎ）に分配され、第２のクロック信号は、前記メモリデバイスにおいてレジスタ（４）から供給される前記ＣＡ信号のサンプリングクロックとして用いられ、ＰＬＬ回路（４）から出力される第３のクロック信号（CLKr）は、レジスタ（４）に供給され、第３のクロック信号（CLKr）は、レジスタ（４）において前記チップセットから供給される前記ＣＡ信号のサンプリングクロックとして用いられ、ＰＬＬ回路（３）の入力端子に入力される前記第１のクロック信号(CLK)と、前記メモリデバイスと前記レジスタのクロック入力端子にそれぞれ入力される前記第２及び第３のクロック信号のうちの一方のクロック信号とのタイミングが合わせられている。第２及び第３のクロック信号（CLKd、CLKr）のうちＰＬＬ回路（３）の入力端子に入力される第１のクロック信号(CLK)と、クロック入力端子でのタイミングが合わせられている前記一方のクロック信号とは別のクロック信号のタイミングを制御し、ＰＬＬ回路（３）の出力端子からレジスタ（４）のクロック入力端子までの第３のクロック信号（CLKr）の伝搬時間と、ＰＬＬ回路（３）の出力端子からメモリデバイスのクロック入力端子までの前記第２のクロック信号の伝搬時間とに時間差が設けられている。前記時間差は、前記レジスタのクロック入力端子に前記第３のクロック信号が入力されてから、前記メモリデバイスの端子に、前記レジスタの出力端子から出力される前記ＣＡ信号が到着するまでの伝搬遅延時間の最大時間と最小時間との和から、前記クロック信号の周期の半分を差し引いた時間とされており、前記メモリデバイスにおける前記第２のクロック信号に対する前記ＣＡ信号のセットアップマージンとホールドマージンとが互いに等しくなるように設定されている。
【００４３】
【実施例】
上記した発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例を図面を参照して以下に説明する。図１は、本発明の第１の実施例をなすメモリシステムの構成を示す図である。図１を参照すると、このメモリシステムは、図１７のシステムと同様、ＤＤＲ−ＩのＣＡシステムよりなり、チップセット５と、１枚以上のメモリモジュール（単に「モジュール」という）１と、モジュール１に設けられた少なくとも１つの位相同期ループ回路（「ＰＬＬ回路」という）３と、少なくとも１つのコマンド／アドレス（ＣＡ）レジスタ（単に「レジスタ」という）４と、複数個のＤＲＡＭ２−１〜２−ｎ（ただし、ｎは２以上の整数）を有する。このメモリシステムは、チップセット５から出力されるクロック信号(CLK)とコマンド／アドレス信号（「ＣＡ信号」という）を受けて動作する。なお、図１には、簡単のため、１枚のモジュール構成のみが示されている。
【００４４】
本発明の第１の実施例のメモリシステムの動作について説明する。
【００４５】
ＰＬＬ回路３は、チップセット５からのクロック信号(CLK)を入力し、ＤＲＡＭ２に供給するクロック信号（CLKd）と、レジスタ４に供給するクロック信号（CLKr）を出力する。レジスタ４は、ＰＬＬ回路３が出力するクロック信号（CLKr）により、チップセットが出力するＣＡ信号をラッチし、そのラッチしたＣＡ信号をＤＲＡＭへ出力する。ＤＲＡＭ２において、ＰＬＬ回路３が出力するクロック信号（CLKd）で、レジスタ４が出力したＣＡ信号をラッチして、ＤＲＡＭ２に取り込む。
【００４６】
各点でのクロックのタイミングは、ＰＬＬ回路３とＤＲＡＭ２の各入力部で同じ位相になるように、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイム（Flight time）と、ＰＬＬ回路４のFBoutからFBinまでの帰還時間（Feedback time）を等しくしている。レジスタ４の入力部のクロックのタイミングは、以下のようにして決定する。
【００４７】
図２は、図１に示す構成において、クロック信号(CLK)の周波数266MHz（「266MHz CLK」という）におけるタイミング動作を示す図である。図示されていないが、DQS @DRAMの位相は、CLKd @DRAMの位相と合わせている。図２を参照して、本実施例の動作を説明する。ＰＬＬ回路３とＤＲＡＭ２の各入力部でクロックが同じ位相になっており(タイミングｔ０でのCLKin @PLLとCLKd ＠DRAM）、それぞれの立上がりが、レジスタ２の入力部でのＣＡ信号（CAin ＠Reg）の真中に位置している。
【００４８】
レジスタ４の入力部のクロック信号（CLKr ＠Ｒｅｇ)のタイミングは、ＰＬＬ回路３とＤＲＡＭ２の各入力部でのクロックのタイミングより（ｔ０）、Ｂ(ps)だけ、前倒しする。レジスタ４では、この前倒ししたクロック信号（CLKr）で、ＣＡ信号をラッチする。
【００４９】
レジスタ４でラッチされたＣＡ信号が、tpdf（［レジスタ４にクロック信号（CLKr）が入力されてからレジスタ４がＣＡ信号を出すまでの遅延時間）＋［レジスタ４からＤＲＡＭ２までのＣＡ信号のFlight time］)かかって、ＤＲＡＭ２に到着する。
【００５０】
このtpdfの値は、レジスタ４やモジュール１の製造ばらつきや使用環境状況等によって、ばらつく。tpdfの最小値を、tpdf,min、最大値をtpdf,maxとした時、tpdf,minとtpdf,maxの重なりあった部分が、ＤＲＡＭ２におけるＣＡ信号（ＣＡ＠ＤＲＡＭ）の有効（Valid）部となる。
【００５１】
Valid部の中心に、ＤＲＡＭ２のクロック信号（CLKd）(ＣＬＫｄ＠ＤＲＡＭ)の立ち上がりエッジが位置するように、クロック信号（CLKr）の前倒し量Ｂが決められる。この時、レジスタ４において、クロック信号（CLKr）に対するＣＡ信号のセットアップ量Ａは、
Ａ=0.5×tCK−Ｂ
である。
【００５２】
図２から分かるように、
0003742041.tif 000002
と表せる。
【００５３】
よって、前倒し量Ｂは、
0003742041.tif 000003
となる。
【００５４】
別の表現をすれば、前倒し量Ｂは、次式で表される。
【００５５】
0003742041.tif 000004
となる。
【００５６】
移項して、
[CLKr flight time] = [CLKd flight time] - [前倒し量B]      …(4)
である。
【００５７】
ここで、
Feedback time（フィードバックタイム）は、ＰＬＬ回路３のフィードバックループのFBoutからFBinまでのフライトタイム、
CLKr flight timeは、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のフライトタイム、
CLKｄflight timeは、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイムである。数値例で示すと以下のようになる。
【００５８】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、式（１）より、前倒し量B=475ps、また、レジスタ４でのＣＡ信号のセットアップ量A=1400psとなる。
【００５９】
すなわち、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のFlight timeを、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のflight timeより、475ps速くすれば良い。
【００６０】
一般に、ボード上の信号伝播時間は、７ps/mm程度であるので、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）の配線長を、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長より、68mm短くすれば良い。
【００６１】
Feedback time=CLKd flight time=900psとすると、
CLKr flight time=425ps
となり、それぞれの配線長は、
129mmと61mmになる。
【００６２】
図６は、ＤＲＡＭ２までのクロック信号（CLKd）の配線長と、レジスタ（Register）４までのクロック信号（CLKr）の配線長の関係の一例を示す図である。図６の直線（レジスタまでのCLKr配線長＝ＤＲＡＭまでのCLKd配線長−68mm）上のどこかの値を採用すれば良い。もちろん、レジスタ４までのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能である。
【００６３】
以上、説明したように、クロック信号（CLKr）の前倒し量Bを決めて、タイミングを制御すれば、ＤＲＡＭ２における、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。
【００６４】
図３は、図１に示した構成の200MHz CLKにおけるタイミング動作の一例を示す図である。図３に示す例では、200MHz CLKでの最適の前倒し量Bにはなっていない。
【００６５】
200MHzで最適の前倒し量Bが必要な場合は、上式（１）において、tCK=5000psとして求めれば良い。しかし、同一のモジュール１を、266MHz CLKと、200MHz CLKの両方で使えるようにしておくと、１種類のモジュールを準備するだけでよく、効率的である。
【００６６】
従って、図３では、266MHz CLKで求めた前倒し量Bに設定されている場合のタイミング動作が示されている。図３から分かるように、クロック信号（CLKd）の立上がりに対して、ＣＡ信号のValid部が、前方にシフトしている。
【００６７】
つまり、ＤＲＡＭ２において、クロック信号（CLKd）に対するＣＡ信号のセットアップ量は、266MHz CLK時の図２の場合と比べて増加する。ただし、ホールド量は、266MHz CLK時の図２の場合と同一である。
【００６８】
また、レジスタ４において、クロック信号（CLKr）に対するＣＡ信号のセットアップ量は、前倒し量Bが266MHz CLK時の図２の場合と同一であるので、266MHz CLK時の図２の場合と比べて増加する。
【００６９】
次に、タイミングバジェット（Timing budget）について説明する。図４は、266MHz CLK時と200MHz CLK時における、本実施例のＤＲＡＭ２におけるクロック信号（CLKd）に対する、ＣＡ信号のセットアップ、ホールド時間のタイミングバジェット（Timing budget）の一例を示す。
【００７０】
266MHz CLK時には、半周期の1875psから、
(tpdf,max-tpdf,min)/2、
ＤＲＡＭ２のセットアップ時間、ホールド時間仕様値であるtS,tH、
ＰＬＬ回路３の位相エラー、ピン間スキュー（pin to pin skew）やジッタ（jitter）の仕様値であるΔt,PLL、
モジュール１上のクロック信号（CLKd）のフライト時間のスキュー（Flight time  skew）であるtSkew,CLKd、
ＰＬＬ回路３に入力されるクロック信号(CLK)のジッタ（jitter）であるtJ、CLKp、
クロック信号（CLKr）とクロック信号（CLKd）のフライトタイム（Flight time）の差であるtFL、
テスターのガードバンドtTG、
を差し引いた残りの時間が、ＤＲＡＭ２における、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンtMになる。
【００７１】
200MHz CLK時も、基本的に同じである。この場合は、前倒し量Bを266MHz時と同一としているので、ホールド量1275psから、ばらつき要因を差し引いている。このとき、(tpdf,max-tpdf,min)/2の分は、既に引かれているので省かれている。200MHz CLK時には、ｔMは、ホールド時間のマージンとなる。
【００７２】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、セットアップ時間、ホールド時間ともに、380psとなる。
【００７３】
200MHz CLK時も、tM=380psとなる。ただし、200MHz時は、ホールド時間のマージンの値であり、セットアップ時間のマージンはそれより大きい。もちろん、200MHz時に、最適の前倒し量Bを決めれば、380psより大きな値を得ることができるが、266MHzと200MHzで同じモジュールを用いるために、このようになっている。
【００７４】
次に、クロック信号（CLKr）を前倒ししているため、レジスタ４において、クロック信号（CLKr）に対するＣＡ信号のセットアップ時間のマージンが削られる。これについて以下に説明する。
【００７５】
図５は、266MHz CLK時と200MHz CLK時における、本実施例のレジスタ４におけるクロック信号（CLKr）に対するＣＡ信号（チップセット５から供給される）のセットアップ時間のタイミングバジェット（Timing budget）の一例を示す。
【００７６】
266MHz CLK時には、１周期の3750psから、
(tpdf,max+tpdf,min)/2、
レジスタ４のセットアップ時間仕様値tS、
ＰＬＬ回路３の位相エラー（phase error）やピン間スキュー（pin to pin skew）やジッタ（jitter）の仕様値であるΔt，ＰＬＬ、
チップセット５から出力されるＣＡ信号のスキュー（skew）であるtQ、
チップセット５からレジスタ４まで来るＣＡ信号と、クロック信号(CLK)とのskewであるtSkew，CA，CLK、
ＰＬＬ回路３に入力されるクロック信号(CLK)のジッタ（jitter）であるtJ、CLKp、
フィードバックタイムとクロック信号（CLKr）のフライトタイムの見積もり誤差であるtFBFL、
テスターのガードバンドtTG、
を差し引いた残りの時間が、レジスタ４における、クロック信号（CLKr）に対するＣＡ信号のセットアップ時間のマージンtMになる。
【００７７】
200MHz CLK時も、基本的に同じである。この場合は、前倒し量Bを266MHz時と同一としているので、セットアップ量2025psから、ばらつき要因を差し引いている。このとき、(tpdf,max+tpdf,min)/2の分は、既に考慮されているので省かれている。
【００７８】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、セットアップ時間のマージンは25psとなる。200MHz CLK時は、tM=650psとなる。もちろん、200MHz時に最適の前倒し量Bを決めれば、650psより大きな値を得ることができるが、266MHzと200MHzで同じモジュールを用いるために、このようになっている。
【００７９】
以上、説明したように、クロック信号（CLKr）の前倒し量Ｂを決めてタイミングを制御すれば、先に述べたように、ＤＲＡＭ２におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができ、かつ、レジスタ４におけるセットアップ時間のマージンをプラスにすることができる。
【００８０】
次に、本発明の第２の実施例について説明する。全体の構成は、前記した第１の実施例の図１と同様である。この第２の実施例では、タイミングの制御が前記第１の実施例と相違している。つまり、クロック信号（CLKr）の配線長が、第１の実施例と相違している。以下に、前記第１の実施例との相違点について説明する。
【００８１】
前記第１の実施例の図４、図５に示したタイミングバジェット（Timing budget）から、ＤＲＡＭ２でのセットアップ/ホールド時間のマージン、レジスタ４でのセットアップ時間のマージンを求めることができる。
【００８２】
図４、図５から求めたＤＲＡＭでのセットアップ、ホールド時間のマージンをtMD、レジスタでのセットアップマージンをtMRとする。ＤＲＡＭ２、ＰＬＬ回路３、レジスタ４、チップセット５の各仕様値やFlight timeによって、tMDとtMRの値は変わるが、266MHz CLKで、本実施例のシステムが動作するためには、下記の３ケースのどれかになる必要がある。これ以外になれば、どれかの仕様値等を変更しなければ動作しない。
【００８３】
(ａ)tMD>tMR>0
(ｂ)tMR>tMD>0
(ｃ)tMR<0であるが、tMD+tMR>0
【００８４】
前記第１の実施例において、上記(ｂ)になった場合には、前記第１の実施例のマージン値から増やすことはできない。つまり、前記第１の実施例の制御が最適である。従って、前記第１の実施例で決定されたクロック信号（CLKr）の配線長にすれば良い。
【００８５】
前記第１の実施例の図４、図５の数値例は、上記の(ａ)の場合に相当しており、制御の仕方の改善により、更に、マージンの最小値を大きくできる。
【００８６】
前記第１の実施例において、上記(ｃ)のようになった場合でも、制御の仕方の改善で、全てのマージンをプラスにできる。
【００８７】
制御の仕方の改善の基本的な考えは、前記第１の実施例を基にして、レジスタ４のセットアップ時間のマージンtMRが、ＤＲＡＭ２のセットアップ、ホールド時間のマージンtMDより小さい場合には、ＤＲＡＭ２のセットアップ時間のマージンを削って、レジスタ４のセットアップ時間のマージンにまわして、ＤＲＡＭ２のセットアップ時間のマージンとレジスタ４のセットアップ時間のマージンを等しくしようというものである。
【００８８】
まず、上記(ａ)のケースから説明する。
【００８９】
ＤＲＡＭ２のセットアップ時間のマージンとレジスタ４のセットアップ時間のマージンを等しくするために、前記第１の実施例で求めた前倒し量Bを補正する。
【００９０】
その補正量は、(tMD-tMR)/2とし、補正後の前倒し量
D=B-(tMD-tMR)/2                          …(5)
とすれば良い。
【００９１】
前記第１の実施例におけるクロック信号（CLKr）を、(tMD-tMR)/2だけ、遅らせることになる。
【００９２】
次に、上記(ｃ)のケースについて説明する。
【００９３】
ＤＲＡＭ２のセットアップ時間のマージンとレジスタ４のセットアップ時間のマージンを等しくするために、前記第１の実施例で求めた前倒し量Bを補正する。
【００９４】
その補正量は、(tMD+tMR)/2-tMR=(tMD-tMR)/2である。結局、上記(ａ)のケースと補正量は同じであり、補正後の前倒し量、
D=B-(tMD-tMR)/2
とすれば良い。
【００９５】
つまり、前記第１の実施例のクロック信号（CLKr）を、(tMD-tMR)/2だけ、遅らせることになる。
【００９６】
従って、上式（４）より、
0003742041.tif 000005
となる。
【００９７】
(ａ)のケースを数値例で示すと以下のようになる。
【００９８】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、前倒し量B=475psとなる。tMD=380ps、tMR=25psとすると、補正量は、178psで、補正後の前倒し量D=297psとなる。
【００９９】
すなわち、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のFlight timeを、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のflight timeより、297ps速くすれば良い。
【０１００】
一般に、ボード上の信号伝播時間は7ps/mm程度であるので、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）の配線長を、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長より、42mm短くすれば良い。
【０１０１】
Feedback time=CLKd flight time=900psとすると、
CLKr flight time=603ps
となり、それぞれの配線長は、129mmと87mmになる。
【０１０２】
図７は、ＤＲＡＭ２までのクロック信号（CLKd）の配線長(横軸)と、レジスタ４までのクロック信号（CLKr）の配線長（縦軸）の関係を示す図である。もちろん、レジスタ４までのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能である。
【０１０３】
以上、説明したように、クロック信号（CLKr）の前倒し量を決めて、タイミングを制御すれば、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、レジスタにおけるＣＡ信号のセットアップ時間のマージンを等しくすることができる。
【０１０４】
因みにこの例では、両者のマージンはともに、203psとなり、前記第１の実施例の最小マージンの25psより大きくなっている。
【０１０５】
(ｃ)のケースを数値例で示すと以下のようになる。
【０１０６】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、前倒し量B=475psとなる。tMD=380ps、tMR=-180psとすると、補正量は、280psで、補正後の前倒し量D=195psとなる。
【０１０７】
すなわち、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のFlight timeを、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のFlight timeより、195ps速くすれば良い。
【０１０８】
前記のごとく、一般に、ボード上の信号伝播時間は7ps/mm程度であるので、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）の配線長をＤＲＡＭ２までのクロック信号（CLKd）の配線長より、28mm短くすれば良い。
【０１０９】
Feedback time=CLKd flight time=900psとすると、CLKr flight time=705psとなり、それぞれの配線長は、129mmと101mmになる。
【０１１０】
図８は、ＤＲＡＭ２までのCLKｄ配線長（横軸）と、レジスタ４までのCLKｒ配線長（縦軸）の関係を示す図である。もちろん、レジスタ４までのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能である。
【０１１１】
以上、説明したように、クロック信号（CLKr）の前倒し量を決めて、タイミングを制御すれば、ＤＲＡＭ２におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、レジスタ４におけるＣＡ信号のセットアップ時間のマージンを等しくすることができる。
【０１１２】
因みにこの例では、両者のマージンはともに、100psになっている。
【０１１３】
図９は、本発明の第３の実施例の構成を示す図である。図９に示すように、チップセット５と、１枚以上のモジュール１を有し、モジュール１は、１個以上のＰＬＬ回路３と、１個以上のレジスタ４と、複数個のＤＲＡＭ２を有し、モジュール１は、チップセット５から出力されるクロック信号(CLK)と、ＣＡ信号を受けて動作する。図９では、レジスタ４へのクロック信号（CLKr）を、ＰＬＬ回路４から取っているが、チップセット５から直接入力することも可能である。ＰＬＬ回路３の仕様値等からタイミングマージンが大きくなる方を採用すれば良い。図９に示すように、ＰＬＬ回路３から出力されるクロックをレジスタ４で用いる場合について以下に説明するが、チップセット５から入力しても良いことは、後述の説明から理解される。
【０１１４】
本実施例のメモリシステムの動作について説明する。
【０１１５】
ＰＬＬ回路３は、チップセット５からのクロック信号(CLK)を入力し、ＤＲＡＭ２に供給するクロック信号（CLKd）と、レジスタ４に供給するクロック信号（CLKr）を出力する。レジスタ４は、ＰＬＬ回路３から出力されるクロック信号（CLKr）により、チップセット５が出力するＣＡ信号をラッチし、該ラッチしたＣＡ信号をＤＲＡＭ２へ出力する。ＤＲＡＭ２において、ＰＬＬ回路３から出力されるクロック信号（CLKd）で、レジスタ４から出力されるＣＡ信号をラッチして、ＤＲＡＭ２に取り込む。
【０１１６】
各点でのクロックのタイミングは、ＰＬＬ回路３とレジスタ４の各入力部で同じ位相になるように、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のFlight timeと、ＰＬＬ回路３のFBoutからFBinまでのフィードバックタイムを等しくしている。
【０１１７】
ＤＲＡＭ２の入力部のクロック信号（CLKd）のタイミングは、以下のようにして決定する。
【０１１８】
図１０は、図９の構成の266MHz CLKにおけるタイミング動作の一例を示す図である。図９及び図１０を参照すると、ＰＬＬ回路３とレジスタ４の各入力部でクロックが同じ位相になっており、それぞれの立上がりが、レジスタ４の入力部でのＣＡ信号の真中に位置している（タイミングｔ０）。
【０１１９】
ＤＲＡＭ２の入力部のクロック信号（ＣＬＫｄ＠ＤＲＡＭ)のタイミングは、ＰＬＬ回路３とレジスタ４の各入力部でのクロック信号（CLＫｉｎ＠ＰＬＬ，ＣＬＫｒ＠Ｒｅｇ）のタイミングより、G(ps)だけ、後ろ倒しする。後ろ倒ししたクロック信号（CLKd）でＣＡ信号をラッチする。
【０１２０】
レジスタ４でラッチされたＣＡ信号が、tpdf（［レジスタ４にクロック信号（CLKr）が入力されてからレジスタ４がＣＡ信号を出力するまでの遅延時間]＋[レジスタからＤＲＡＭまでのＣＡ信号のFlight time]）かかって、ＤＲＡＭ２に到着する。このtpdfの値は、レジスタ４やモジュール１の製造ばらつきや使用環境状況等によって、ばらつくが、その最小値をtpdf,min、最大値をtpdf,maxとした時、tpdf,minとtpdf,maxの重なりあった部分が、ＤＲＡＭ２におけるＣＡ信号のValid部となる。
【０１２１】
そのValid部の中心に、ＤＲＡＭ２のクロック信号（CLKd）(ＣＬＫｄ＠ＤＲＡＭ)の立上がりが来るように、クロック信号（CLKd）の後ろ倒し量Ｇを決める。この時、ＤＲＡＭ２において、クロック信号（CLKd）に対するDQS信号のホールド量Ａは、
A=0.5tCK-G
である
【０１２２】
図１０から分かるように、
0003742041.tif 000006
と表せる。
【０１２３】
従って、後ろ倒し量Ｇは、
Ｇ=0.5tCK-A
=(tpdf,max+tpdf,min-tCK)/2            …（7）
となる。
【０１２４】
別の表現をすれば、後ろ倒し量Ｇは、
0003742041.tif 000007
となる。
【０１２５】
移項して、
0003742041.tif 000008
である。
【０１２６】
ここで、Feedback timeは、ＰＬＬ回路３のFeedback loopのFBoutからFBinまでのflight time、
CLKr flight timeは、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のflight time、
CLKd flight timeは、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のflight timeである。数値例で示すと以下のようになる。
【０１２７】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、式（７）より、後ろ倒し量Ｇ=475ps、また、ＤＲＡＭ２でのクロック信号（CLKd）に対するDQS信号のホールド量A=1400psとなる。
【０１２８】
すなわち、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイムを、レジスタ４までのクロック信号（CLKr）のフライトタイムより、475ps遅くすれば良い。
【０１２９】
前述したように、一般に、ボード上の信号伝播時間は7ps/mm程度であるので、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長を、レジスタ４までのクロック信号（CLKr）の配線長よりも、68mm長くすれば良い。
【０１３０】
Feedback time=CLKr flight time=900ps
とすると、CLKd flight time=1375psとなり、それぞれの配線長は、129mmと197mmになる。
【０１３１】
図１１は、ＤＲＡＭ２までのクロック信号（CLKd）配線長（横軸）と、レジスタ４までのクロック信号（CLKr）配線長（縦軸）の関係の一例を示す。もちろん、レジスタまでのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能であるし、クロック信号（CLKd）配線長が長くなり過ぎる時には、Feedbackループと、クロック信号（CLKr）配線をそれぞれ最短距離で結んで、Feedback time=CLKr flight timeの値をできるだけ小さくすることも可能である。
【０１３２】
以上、説明しように、本実施例によれば、クロック信号（CLKd）の後ろ倒し量を決めて、タイミングを制御すれば、ＤＲＡＭにおける、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができる。
【０１３３】
図１２は、図９の200MHz CLKにおけるタイミング動作の一例を示す図である。図１２に示す例では、200MHz CLKでの最適の後ろ倒し量Ｇにはなっていない。200MHzで最適の後ろ倒し量Ｇが必要な場合は、上式（７）において、tCK=5000psとして求めれば良い。しかしながら、同一のモジュールを、266MHz CLKと200MHz CLKの両方で使えるようにしておくと、１種類のモジュールを準備するだけでよく、効率的である。
【０１３４】
このため、図１２の示す例では、266MHz CLKで求めた後ろ倒し量Ｇにした場合のタイミングで示している。この場合、図１２から分かるように、クロック信号（CLKd）の立上がりに対して、ＣＡ信号のValid部が前方にシフトしている。つまり、ＤＲＡＭ２において、クロック信号（CLKd）に対するＣＡ信号のセットアップ量は、266MHz CLK時の図２の場合よりも増加する。ただし、ホールド量は、266MHz CLK時の図１０の場合と同一である。
【０１３５】
また、ＤＲＡＭ２において、クロック信号（CLKd）に対するDQS信号のホールド量は、後ろ倒し量Ｇが266MHz CLK時の図１３の場合と同一であるので、266MHz
CLK時の図１０の場合より増加する。
【０１３６】
次にタイミングバジェット（Timing budget）について説明する。図１３に、266MHz CLK時と200MHz CLK時における、第３の実施例のＤＲＡＭ２におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ、ホールド時間のタイミングバジェットの一例を示す。
【０１３７】
266MHz CLK時には、半周期の1875psから、
(tpdf,max-tpdf,min)/2、
ＤＲＡＭ２のセットアップ時間、ホールド時間仕様値tS/tH、
ＰＬＬ回路３のpin to pin skewやjitterの仕様値であるΔt、ＰＬＬ、
モジュール１上のクロック信号（CLKd）のFlight timeskewのtSkew、CLKd、
ＰＬＬ回路３に入力されるCLKのjitterであるtJ、CLKp、
クロック信号（CLKr）とクロック信号（CLKd）のFlight timeの差tFL、
テスターのガードバンドtTG
を差し引いた残りの時間が、ＤＲＡＭ２における、クロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンtMになる。
【０１３８】
200MHz CLK時も、基本的に同じである。この場合は、後ろ倒し量Ｇを266MHz時と同一としているので、ホールド量1275psから、ばらつき要因を差し引いている。このとき、(tpdf,max-tpdf,min)/2の分は、既に引かれているので省かれている。200MHz CLK時には、ｔMはホールド時間のマージンとなる。
【０１３９】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、セットアップ時間、ホールド時間ともに、380psとなる。200MHz CLK時も、tM=380psとなる。ただし、200MHz時は、ホールド時間のマージンの値であり、セットアップ時間のマージンは、それより大きい。もちろん、200MHz時に最適の後ろ倒し量Ｇを決めれば、380psより大きな値を得ることができるが、266MHzと200MHzで同じモジュールを用いるために、このようになっている。
【０１４０】
次に、クロック信号（CLKd）を後ろ倒ししているため、ＤＲＡＭにおいて、クロック信号（CLKd）に対するDQS信号のホールド時間のマージンが削られるがそれについて調べる。
【０１４１】
図１４に、266MHz CLK時と200MHz CLK時における、本実施例３のＤＲＡＭにおけるDQSのホールド時間のタイミングバジェットの一例を示す。
【０１４２】
266MHz CLK時には、１周期の3750psから、
(tpdf,max+tpdf,min)/2、
DQSのホールド時間であるＤＲＡＭ２のtDSH仕様値、
ＰＬＬ回路３の位相エラー（phase error）やピン間スキュー（pin to pin skew）やジッタの仕様値であるΔt，PLL、
チップセット５から出力されるDQSのジッタであるtj，DQS、
チップセット５からＤＲＡＭ２まで来るDQS信号とクロックCLKとのスキューであるtSkew,DSCK、
ＰＬＬ回路３に入力されるクロック信号(CLK)のジッタであるtJ,CLKp、
Feedback time（ＰＬＬ回路３のFboutとFbin間の帰還ループの遅延）とクロック信号（CLKd）のフライトタイムの見積もり誤差tFBFL、
テスターのガードバンドtTG、
を差し引いた残りの時間が、ＤＲＡＭ２における、クロック信号（CLKd）に対するDQS信号のホールド時間のマージンtMになる。
【０１４３】
200MHz CLK時も、基本的に同じである。この場合は、後ろ倒し量Ｇを、266MHz時と同一としているので、ホールド量2025psから、ばらつき要因を差し引いている。このとき、(tpdf,max+tpdf,min)/2の分は既に考慮されているので省かれている。
【０１４４】
我々が検討した各項目の値を代入して、マージンtMを計算すると、266MHz時には、DQSのホールド時間のマージンは25psとなる。200MHz CLK時は、tM=400psとなる。もちろん、200MHz時に最適の後ろ倒し量Ｇを決めれば、400psより大きな値を得ることができるが、266MHzと200MHzで同じモジュールを用いるために、このようになっている。
【０１４５】
以上、説明したように、クロック信号（CLKd）の後ろ倒し量Ｇを決めてタイミングを制御すれば、先に述べたように、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ホールド時間のマージンを等しくすることができ、かつ、ＤＲＡＭにおけるDQSのホールド時間のマージンをプラスにすることができる。
【０１４６】
次に、本発明の第４の実施例について説明する。本発明の第４の実施例の全体の構成は、前記第３の実施例の説明で参照された図９と同様であるため、全体の構成の説明は省略する。本発明の第４の実施例は、前記第３の実施例とは、タイミングの制御が相違している。つまり、クロック信号（CLKd）の配線長が、前記第３の実施例と相違している。以下に、第４の実施例の制御の仕方について、説明する。
【０１４７】
前記第３の実施例の図１３、図１４のタイミングバジェットから、ＤＲＡＭ２でのクロック信号（CLKd）に対するＣＡ信号のセットアップ、ホールド時間のマージン、ＤＲＡＭ２でのクロック信号（CLKd）に対するDQSのホールド時間のマージンを求めることができる。
【０１４８】
ここで、図１３、図１４から求めたＤＲＡＭ２でのCA信号のセットアップ/ホールド時間のマージンをｔMD、ＤＲＡＭ２でのDQSのホールドマージンをtMQとする。
【０１４９】
ここで、ＤＲＡＭ２、ＰＬＬ回路３、レジスタ４、チップセット５の各仕様値やフライトタイムによって、tMDとtMQの値は変わるが、266MHz CLKでメモリシステムが動作するためには、下記の３ケースのどれかになる必要がある。これ以外になれば、どれかの仕様値等を変更しなければ動作しない。
【０１５０】
(ａ)tMD>tMQ>0
(ｂ)tMQ>tMD>0
(ｃ)tMQ<0であるが、tMD+tMQ>0
【０１５１】
前記第３の実施例の制御で、上記(ｂ)になった場合には、前記第３の実施例のマージン値から増やすことはできない、つまり、前記第３の実施例の制御が最適である。従って、前記第３の実施例で決められた、クロック信号（CLKd）の配線長にすれば良い。
【０１５２】
前記第３の実施例における図１３、図１４のタイミングバジェットの数値例は、上記(ａ)の場合に相当しており、制御の仕方の改善により、更に、マージンの最小値を大きくできる。
【０１５３】
前記第３の実施例の制御で、上記(ｃ)のようになった場合でも、制御の仕方を改善することで、全てのマージンをプラスにできる。
【０１５４】
制御の改善の基本的な考えは、前記第３の実施例の制御を基にして、ＤＲＡＭ２のDQSのホールド時間のマージンtMQが、ＤＲＡＭ２のセットアップ、ホールド時間のマージンtMDより小さい場合には、ＤＲＡＭ２のＣＡ信号のセットアップ時間のマージンを削って、ＤＲＡＭ２のDQSのホールド時間のマージンにまわして、ＤＲＡＭ２のＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭ２のDQSのホールド時間のマージンを等しくしようというものである。
【０１５５】
まず、上記(ａ)のケースから説明する。ＤＲＡＭ２のＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭ２のDQSのホールド時間のマージンを等しくするために、前記第３の実施例で求めた後ろ倒し量Ｇを補正する。
【０１５６】
その補正量を、
(tMD-tMQ)/2
とし、
補正後の後ろ倒し量Ｒを、
R=G-(tMD-tMQ)/2            …(11)
とすれば良い。
【０１５７】
つまり、前記第３の実施例のクロック信号（CLKd）を、
(tMD-tMQ)/2
だけ、速めることになる。
【０１５８】
次に、上記(ｃ)のケースについて説明する。ＤＲＡＭ２のＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭ２のDQSのホールド時間のマージンを等しくするために、前記第３の実施例で求めた後ろ倒し量Ｇを補正する。
【０１５９】
その補正量は、
(tMD+tMQ)/2-tMQ=(tMD-tMQ)/2
である。
【０１６０】
結局、上記(ａ)のケースと補正量は同じであり、補正後の後ろ倒し量Ｒを、
R=G-(tMD-tMQ)/2
とすれば良い。
【０１６１】
つまり、前記第３の実施例のクロック信号（CLKd）を、
(tMD-tMQ)/2
だけ、速めることになる。
【０１６２】
従って、上式（１０）より、クロック信号（CLKd） のフライトタイムは、
0003742041.tif 000009
となる。
【０１６３】
上記(ａ)のケースを数値例で示すと以下のようになる。
【０１６４】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、後ろ倒し量Ｇ=475psとなる。tMD=380ps、tMQ=25psとすると、補正量は、178psで、補正後の後ろ倒し量R=297psとなる。
【０１６５】
すなわち、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のフライトタイムを、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）のフライトタイム より、297ps遅くすれば良い。
【０１６６】
前述のごとく、一般に、ボード上の信号伝播時間は7ps/mm程度であるので、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長を、レジスタ４までのクロック信号（CLKr）配線長より、42mm長くすれば良い。
【０１６７】
Feedback time=CLKr flight time=900ps
とすると、
CLKd flight time=1197ps
となり、
それぞれの配線長は、129mmと171mmになる。
【０１６８】
図１５は、ＤＲＡＭ２までのクロック信号（CLKd）の配線長（横軸）と、レジスタ４までのクロック信号（CLKr）の配線長（縦軸）の関係の一例を示す図である。
【０１６９】
もちろん、レジスタ４までのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能であるし、クロック信号（CLKd）の配線長が長くなり過ぎる場合には、ＰＬＬ回路３のフィードバックループと、クロック信号（CLKr）の配線をそれぞれ最短距離で結んで、
Feedback time=CLKr flight time
の値をできるだけ小さくすることも可能である。
【０１７０】
以上、説明したように、クロック信号（CLKd）の後ろ倒し量を決めて、タイミングを制御すれば、ＤＲＡＭ２におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭ２におけるクロック信号（CLKd）に対するDQS信号のホールド時間のマージンを等しくすることができる。
【０１７１】
因みに、この例では、両者のマージンはともに、203psとなり、実施例３の最小マージンの25psより大きくなっている。
【０１７２】
上記(ｃ)のケースを数値例で示すと以下のようになる。
【０１７３】
266MHz CLKで、tCK=3750ps、tpdf,max=2950ps、tpdf,min=1750psとすると、後ろ倒し量Ｇ=475psとなる。tMD=380ps、tMR=-180psとすると、補正量は、280psで、補正後の後ろ倒し量R=195psとなる。
【０１７４】
すなわち、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）のFlight timeを、ＰＬＬ回路３からレジスタ４までのCLKr flight timeより、195ps遅くすれば良い。
【０１７５】
前述のごとく、一般に、ボード上の信号伝播時間は7ps/mm程度であるので、ＰＬＬ回路３からＤＲＡＭ２までのクロック信号（CLKd）の配線長を、ＰＬＬ回路３からレジスタ４までのクロック信号（CLKr）配線長より、28mm長くすれば良い。
【０１７６】
Feedback time=CLKr flight time=900ps
とすると、CLKd flight time=1095psとなり、それぞれの配線長は、129mmと157mmになる。
【０１７７】
図１６は、ＤＲＡＭ２までのクロック信号（CLKd）の配線長とレジスタ４までのクロック信号（CLKr）配線長の関係を示す図である。もちろん、レジスタ４までのクロック信号（CLKr）の配線に適当な容量を付加して、配線と容量でタイミングを制御することも可能であるし、クロック信号（CLKd）の配線長が長くなり過ぎる時には、ＰＬＬ回路のフィードバックループと、クロック信号（CLKr）配線をそれぞれ最短距離で結んで、
Feedback time=CLKr flight time
の値をできるだけ小さくすることも可能である。
【０１７８】
以上、説明したように、クロック信号（CLKd）の後ろ倒し量Rを決めて、タイミングを制御すれば、ＤＲＡＭ２におけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭ２におけるDQS信号のホールド時間のマージンを等しくすることができる。因みにこの例では、両者のマージンはともに、100psになっている。
【０１７９】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１８０】
例えば、前述した、Write時のｔDSH（DQS falling edge hold time from CK）や、ｔDSS（DQS falling edge to CK setup time）を満たすことが厳しい場合には、前記第１の実施例で考えたように、CLKd ＠DRAMとDQS ＠DRAMのタイミングを合わせることが必要となる。その場合、前記第１の実施例では、CLKin @PLL(ＰＬＬ回路入力部のクロック信号CLK)のタイミングを、CLKd ＠DRAM(ＤＲＡＭ入力部でのクロック信号CLKd）のタイミングに合わせて、ＰＬＬ回路３のフィードバックタイム(Feedback time)とクロック信号（CLKｄ）のフライトタイム(CLKd flight time)を合わせている。しかしながら、システムによっては、CLKin @PLLのタイミングをDQS ＠DRAMのタイミングに合わせ難い場合もある。その際には、両者のタイミングを無理に合わせるのでなく、例えば、CLK ＠PLLのタイミングが、DQS ＠DRAMのタイミングより250ps速くなってしまう場合には、図２のFeedback Timeを、900 -250 = 650 psにすれば、CLKr ＠REG、CLKd ＠DRAMのタイミングは、図２のままであるので、同様の作用効果が得られる。つまり、CLKin ＠PLLと、CLKd ＠DRAMのタイミングを必ずしも合わせる必要はない。ある一定の差ΔｔPDが存在してもよい。この場合、上述したように、
Feedback Time＝CLKｄ flight time - ΔｔPD
にしておく。その上で、上述したように、レジスタとＤＲＡＭの各セットアップ、ホールドマージンが最適となるように、クロック信号（CLKr）のタイミングが決定される。また複数のモジュールが設けられている場合、各スロットで、CLKin ＠PLLとCLKd ＠DRAMのタイミング差ΔｔPDを合わせておけば良い。こうすることで、各スロット間で、同一のモジュールを用いることができる。
【０１８１】
【発明の効果】
以上説明したように、本発明においては、以下に記載するような効果を奏する。  本発明によれば、ＰＬＬ回路、レジスタ、ＤＲＡＭの入力部におけるクロックのタイミングを一様に揃えるのではなく、ＰＬＬ回路とレジスタ、あるいは、ＰＬＬ回路とＤＲＡＭの入力部のクロックの位相を合わせ、残りの１種類のデバイス供給されるクロックのタイミングを制御し、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間とホールド時間のマージンを等しくしているため、クロック周波数266MHzでの動作も可能である。
【０１８２】
また、本発明によれば、例えば、266MHzと200MHzのクロック周波数の両方で使用される場合には、高い周波数の266MHzの１周期に相当する3750psを用いて、残りの１種類のデバイスに供給されるCLKのタイミングを制御しており、200MHz時でも、最小マージンは、266MHz時と同等に確保しているので、１種類のモジュールを用意するだけで済む。
【０１８３】
さらに、本発明によれば、上式(1)のタイミング制御の後、レジスタにおけるクロック信号（CLKr）に対するＣＡ信号のセットアップ時間のマージンと、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間、ホールド時間のマージンを比較、あるいは、ＤＲＡＭにおけるクロック信号（CLKd）に対するDQS信号のホールド時間のマージンと、ＤＲＡＭにおけるクロック信号（CLKd）に対するＣＡ信号のセットアップ時間、ホールド時間のマージンを比較して、両者のマージンが等しくなるように、上記残りの１種類のデバイスに供給されるCLKタイミングを補正しているので、さらにマージンを増加させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例の構成を示す図である。
【図２】本発明の第１の実施例におけるクロック周波数２６６MHzでの動作を説明するタイミングチャートである。
【図３】本発明の第１の実施例におけるクロック周波数２００MHzでの動作を説明するタイミングチャートである。
【図４】本発明の第１の実施例におけるＤＲＡＭにおけるタイミングバジェットの一例を示す図である。
【図５】本発明の第１の実施例におけるレジスタにおけるタイミングバジェットの一例を示す図である。
【図６】本発明の第１の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図７】本発明の第２の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図８】本発明の第２の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図９】本発明の第３の実施例の構成を示す図である。
【図１０】本発明の第３の実施例におけるクロック周波数２６６MHzでの動作を説明するタイミングチャートである。
【図１１】本発明の第３の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図１２】本発明の第３の実施例におけるクロック周波数２００MHzでの動作を説明するタイミングチャートである。
【図１３】本発明の第３の実施例におけるＤＲＡＭにおけるタイミングバジェットの一例を示す図である。
【図１４】本発明の第３の実施例におけるＤＲＡＭにおけるDQS信号のタイミングバジェットの一例を示す図である。
【図１５】本発明の第４の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図１６】本発明の第４の実施例における、ＤＲＡＭまでのクロック配線長とレジスタまでのクロック配線長の関係を示す図である。
【図１７】従来のメモリシステムの構成を示す図である。
【図１８】従来のメモリシステムの動作を説明するためのタイミングチャートである。
【図１９】従来のメモリシステムのＤＲＡＭのタイミングバジェットの一例を示す図である。
【符号の説明】
１、１０  モジュール
２-１〜２-ｎ、２０-１〜２０-ｎ  ＤＲＡＭ
３、３０  ＰＬＬ回路
４、４０  レジスタ
５、５０  チップセット
【図１】
0003742041.tif 000010
【図２】
0003742041.tif 000011
【図３】
0003742041.tif 000012
【図４】
0003742041.tif 000013
【図５】
0003742041.tif 000014
【図６】
0003742041.tif 000015
【図７】
0003742041.tif 000016
【図８】
0003742041.tif 000017
【図９】
0003742041.tif 000018
【図１０】
0003742041.tif 000019
【図１１】
0003742041.tif 000020
【図１２】
0003742041.tif 000021
【図１３】
0003742041.tif 000022
【図１４】
0003742041.tif 000023
【図１５】
0003742041.tif 000024
【図１６】
0003742041.tif 000025
【図１７】
0003742041.tif 000026
【図１８】
0003742041.tif 000027
【図１９】
0003742041.tif 000028