(57)【特許請求の範囲】
【請求項１】
データ信号、アドレス・制御信号とクロック信号用の端子を持つ半導体メモリ素子を複数搭載する半導体メモリモジュールであって、
該クロック信号が該半導体メモリ素子に等位相になるように配線されたクロック信号線と、
該半導体メモリ素子に等長に配線されたデータ信号線と、
該アドレス・制御信号を設定するレジスタと、
該レジスタから、一筆書き状に該半導体メモリ素子に配線されたアドレス・制御信号線と、を有し、
該半導体メモリ素子は、該アドレス・制御信号もしくは該アドレス・制御信号を取り込むための該クロック信号に対する可変遅延回路を有し、
該可変遅延回路の遅延量は、該遅延量と該レジスタからの配線による配線遅延時間との和が、該レジスタから最遠端に配置された該半導体メモリ素子までの配線遅延時間に等しくなるように設定されることを特徴とする半導体メモリモジュール。
【請求項２】
データ信号、アドレス・制御信号とクロック信号用の端子を持つ半導体メモリ素子を複数搭載する半導体メモリモジュールであって、
該クロック信号が該半導体メモリ素子に等位相になるように配線されたクロック信号線と、
該半導体メモリ素子に等長に配線されたデータ信号線と、
該アドレス・制御信号を設定するレジスタと、
該レジスタから、一筆書き状に該半導体メモリ素子に配線されたアドレス・制御信号線と、を有し、
該半導体メモリ素子は、該アドレス・制御信号もしくは該アドレス・制御信号を取り込むための該クロック信号に対する可変遅延回路を有し、
該可変遅延回路の遅延量は、該遅延量と該レジスタからの配線による配線遅延時間と該レジスタの入力から出力までの遅延時間との和が、該レジスタの入力から最遠端に配置された該半導体メモリ素子までの配線遅延時間に等しくなるように設定されることを特徴とする半導体メモリモジュール。
【請求項３】
データ信号、アドレス・制御信号とクロック信号用の端子を持つ半導体メモリ素子を複数搭載する半導体メモリモジュールであって、
該クロック信号が該半導体メモリ素子に等位相になるように配線されたクロック信号線と、
該半導体メモリ素子に等長に配線されたデータ信号線と、
該アドレス・制御信号を設定するレジスタと、
該レジスタから、一筆書き状に該半導体メモリ素子に配線されたアドレス・制御信号線と、を有し、
該半導体メモリ素子は、該アドレス・制御信号もしくは該アドレス・制御信号を取り込むための該クロック信号に対する可変遅延回路を有し、
Ｔｒｅｇは該レジスタの固定の遅延時間であり、Ｔａ３（ｉ）は該レジスタの出力からｉ番目の半導体メモリ素子までの配線長に対応した遅延時間であるとき、該可変遅延回路の遅延量は、Ｔｒｅｇ＋Ｔａ３（ｉ）を満たすことを特徴とする半導体メモリモジュール。
【請求項４】
データ信号、アドレス・制御信号とクロック信号用の端子を持つ半導体メモリ素子を複数搭載する半導体メモリモジュールであって、
該クロック信号が該半導体メモリ素子に等位相になるように配線されたクロック信号線と、
該半導体メモリ素子に等長に配線されたデータ信号線と、
該アドレス・制御信号を設定するレジスタと、
該レジスタから、一筆書き状に該半導体メモリ素子に配線されたアドレス・制御信号線と、を有し、
該半導体メモリ素子は、該アドレス・制御信号もしくは該アドレス・制御信号を取り込むための該クロック信号に対する可変遅延回路を有し、
該可変遅延回路の遅延量は、該遅延量と該クロック信号の該半導体メモリ素子への到着タイミングとの和が、該レジスタの入力から出力までの遅延時間と該レジスタの出力から該半導体メモリ素子までの配線遅延時間に等しくなるように設定されることを特徴とする半導体メモリモジュール。
【請求項５】
請求項１乃至４のいずれかに記載の半導体メモリモジュールであって、
該半導体メモリ素子は、
該クロック信号に対して、ジッタを低減し該クロック信号を該半導体メモリ素子内部のブロックに共通クロックとして分配するクロック安定化回路を有し、該共通クロックを可変遅延回路の入力とし、
該半導体メモリ素子内は、該可変遅延回路の遅延時間を調整する値を設定するレジスタを備えることを特徴とする半導体メモリモジュール。
【請求項６】
請求項５記載の半導体メモリモジュールであって、
該レジスタは、バウンダリスキャン回路により、値が設定されることを特徴とする半導体メモリモジュール。
【請求項７】
請求項６記載の半導体メモリモジュールであって、
該バウンダリスキャン回路と該バウンダリスキャン回路用の不揮発性半導体素子を該半導体メモリモジュール上に備えることを特徴とする半導体メモリモジュール。
【請求項８】
請求項１乃至４および７のいずれかに記載の半導体メモリモジュールを複数搭載するメモリシステムであって、
該半導体メモリ素子を制御するメモリコントローラと、
該半導体メモリモジュールを搭載するためのソケットと、を有し、
該データ信号線と、該クロック信号線と、該アドレス・制御信号線は、該半導体メモリ素子への書き込み時に、該データ信号、該クロック信号、該アドレス・制御信号がそれぞれの該ソケットにおいて、等時間位相で到達するように配線されることを特徴とするメモリシステム。
【請求項９】
データ信号用の端子とアドレス・制御信号用の端子とクロック信号用の端子を持つ半導体メモリ素子を複数搭載する半導体メモリモジュールであって、
該クロック信号用の端子に接続され、該クロック信号を伝送するクロック信号線と、
該データ信号用の端子に接続され、該データ信号を伝送するデータ信号線と、
該アドレス・制御信号を設定するレジスタと、
該レジスタから一筆書き状に該アドレス・制御信号用の端子に接続され、該アドレス・制御信号を伝送するアドレス・制御信号線とを有し、
該各半導体メモリ素子は、該アドレス・制御信号もしくは該アドレス・制御信号を取り込むための該クロック信号を遅延する可変遅延回路を有し、
該可変遅延回路の遅延量は、該遅延量と該レジスタの入力から該レジスタの出力までの遅延時間と該レジスタの出力からの配線による配線遅延時間との和が、該レジスタの入力から最遠端に配置された該半導体メモリ素子までの配線遅延時間に応じて設定される、もしくは、該可変遅延回路の遅延量は、該遅延量と該クロック信号の該半導体メモリ素子への到着タイミングとの和が、該レジスタの入力から該半導体メモリ素子までの配線遅延時間に応じて設定されることを特徴とする半導体メモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理機器に用いられる、プロセッサと機能回路同士を接続するためのバス接続技術、及び、その構成要素に関する。
【背景技術】
【０００２】
データレートが上がってデバイス間の配線を伝搬する時間がデータサイクルと等しくなってきつつある。特にＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）−ＳＤＲＡＭと呼ばれるメモリ技術ではコマンド信号・アドレス信号（以下Ｃ／Ａ信号）の動作周波数がデータ信号（以下ＤＱ信号）のそれの半分であり、例えば、現行の製品ではデータが４００Ｍｂｐｓの転送速度であり、アドレスはその半分の２００Ｍｂｐｓの転送速度となる。
【０００３】
パソコンを初め、サーバなど大容量のＤＲＡＭを搭載する機器に於いては、ＤＲＡＭを高密度で実装するために８個から１８個程度のＤＲＡＭを１つのモジュール（ＤＩＭＭ：Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）に搭載し、このＤＩＭＭをマザーボード上に３枚ないし４枚搭載していることが多い。
【０００４】
図２に従来技術である１枚のＤＩＭＭ２を示す。１枚のＤＩＭＭ２内のＤＲＡＭ１０−１〜１０−８は同期して動作しており、ＤＤＲーＳＤＲＡＭの様に高速のメモリではＣ／Ａ信号５１をレジスタ２０と呼ばれるバッファで各ＤＲＡＭ１０−１〜１０−８にドライブしている。このレジスタ２０はメモリコントローラ３からのＣ／Ａ信号５１を１度取り込み、Ｃ／Ａ信号５１ＡとしてＤＩＭＭ２上に搭載された複数のＤＲＡＭ１０−１〜１０−８に再分配している。
【０００５】
そのため、ＤＩＭＭ２内に於いて、ＤＩＭＭ２の信号用の端子から各ＤＲＡＭまでの信号配線としては、ＤＱ信号５２は１対１程度の割合で接続されているのに対して、レジスタから各ＤＲＡＭまでのＣ／Ａ信号５１Ａでは最大１対１８程度の割合で接続されている。この接続形態はメモリのアクセス方法がＤＩＭＭ単位で同じアドレスに対して各ＤＲＡＭのデータを読み書きすることによる。
【０００６】
クロック信号の配線技術を開示する文献として、特許文献１、特許文献２がある。これらはクロックを折り返し配線としクロックの中間位相を生成する技術を開示している。
【０００７】
また、配線の反射波を利用した技術を開示する文献として、特許文献３がある。これは開放端とした遠端で反射波を生成させる方法を開示している。
【特許文献１】米国特許第５、２４３、７０３号明細書
【特許文献２】米国特許第５、３１９、７５５号明細書
【特許文献３】米国特許出願公開第２００２／０１８５２６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
先に述べたようにＤＩＭＭ２内のＣ／Ａ信号５１Ａの配線はＤＩＭＭ２内のレジスタ２０を介して各ＤＲＡＭ１０−１〜１０−８に分配されるのに対してＤＱ信号５２の配線は短くなるようにＤＩＭＭ２の端子から直接配線されている。
【０００９】
クロック信号５０ＡはＰＬＬ（Ｐｈａｓｅｄ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）３０によって分配され、各ＤＲＡＭ１０−１〜１０−８のタイミングを一定にする目的で等長配線になるようにツリー配線されているが、その配線効率はあまり高くない。これは１信号で多数の配線チャンネルを占有してしまうためである。
【００１０】
このため、従来のＤＩＭＭ２に於いて、ツリー配線はクロック信号５０Ａにのみ適用されており、Ｃ／Ａ信号５１Ａには適用されていない。Ｃ／Ａ信号５１Ａは信号本数が多く、これにツリー配線構造を適用した場合、配線面積が増大してＤＩＭＭが大きくなり、基板の配線層数も多くなってしまう。このため、Ｃ／Ａ信号５１Ａはレジスタ２０からデイジーチェーン配線が為されることが考えられる。ここでデイジーチェーン配線とは図２ではレジスタ２０から一筆書き状にレジスタ２０から近い方から遠い方へと配線を行うことをいう。すなわち、Ｃ／Ａ信号５１は、レジスタ２０から引き出されるＤＲＡＭ１０−１〜１０−８までの配線長が同じではないのでタイミングが異なっていた。
【００１１】
Ｃ／Ａ信号５１Ａの動作周波数が遅い場合は、これでも問題がない。なぜならば、配線遅延時間差がタイミングマージン以内で有れば動作するためである。しかし、Ｃ／Ａ信号５１の動作周波数が上がるに従ってタイミングマージンは短くなり、ついには配線長差による時間差が許容できなくなる。これはクロック信号５０ＡとＣ／Ａ信号５１Ａの配線方式が異なることに根本の問題を含んでいる。すなわち、クロック信号５０Ａはより高速なデータ信号５２を余裕を持って取り込めるように、データ信号５２と同じ位相になるように配線されているのに対して、Ｃ／Ａ信号５１Ａは配線密度を優先して一筆書き配線されているためである。
【００１２】
つまり従来の技術における第１の課題は、レジスタの近い方のＤＲＡＭから遠い方のＤＲＡＭへと一筆書き状（デイジーチェーン）に配線されたＣ／Ａ信号と各ＤＲＡＭに等長配線されたクロック信号を有するメモリモジュール上のＤＲＡＭにおいてＣ／Ａ信号５１を高速化した場合、ＤＲＡＭ１０−１〜１０−８間のＣ／Ａ信号５１の遅延時間差がＤＲＡＭの安定動作に必要なタイミングマージンより長くなることである。
【００１３】
また従来の技術における第２の課題は、レジスタの近い方のＤＲＡＭから遠い方のＤＲＡＭへと一筆書き状（デイジーチェーン）に配線されたＣ／Ａ信号と各ＤＲＡＭに等長配線されたクロック信号を有するメモリモジュール上のＤＲＡＭにおいてクロック信号５０の配線とＣ／Ａ信号５１の配線長差に基づく時間差のため、Ｃ／Ａ信号５１を取り込めないことにある。
【００１４】
そこでこれらの課題を鑑み、本発明の第１の目的は、この配線長差を許容できるようなデータ信号、Ｃ／Ａ信号、およびクロック信号のタイミングを整合させるシステムを、それらの実装方法において配線密度、基板層数の増加無しに、低コストで提供することにある。
【００１５】
また本発明の第２の目的は、Ｃ／Ａ信号とクロック信号間の配線長差を無くし、両信号間のタイミングにおいて整合性のあるシステムを提供することである。
【課題を解決するための手段】
【００１６】
上記、第１の課題を解決するための第１の手段として、ＤＲＡＭにＣ／Ａ信号を取り込む内部クロック信号のタイミングを調整するクロックタイミング調整回路を持たせる。
【００１７】
また第１の課題を解決するための第２の手段として、ＤＲＡＭにＣ／Ａ信号タイミングを調整するＣ／Ａ信号タイミング調整回路を持たせる。
【００１８】
そして第２の課題を解決するための第１の手段として、ＤＩＭＭ内にクロック安定化回路（ＰＬＬ）から近い方のＤＲＡＭから遠い方のＤＲＡＭへと一筆書き状（デイジーチェーン）にされ、配線の遠端で終端された第２のクロック信号配線を設ける。
【００１９】
また、第２の課題を解決するための第２の手段として、クロック信号の配線もＣ／Ａ信号と同形態でクロック安定化回路（ＰＬＬ）から最遠端のＤＲＡＭまで配線し、折り返され、ＰＬＬ付近で終端される。この折り返し配線であるクロック信号に対して折り返し部前後の配線に対してＤＲＡＭが持つクロック信号入力端子をそれぞれ１カ所接続させる。これらの２つの入力クロック信号から２つのクロック信号の中間の位相の信号をＤＲＡＭ内部で生成し、データ信号に対してこの内部信号を用いる。
【発明の効果】
【００２０】
上記第１の課題を解決するための第１の手段を用いれば、ＤＲＡＭはクロックタイミング調整回路によりクロック信号タイミングをクロック信号とＣ／Ａ信号の配線差による遅延時間分調整することができ、Ｃ／Ａ信号をタイミングを調整されたクロック信号をもってラッチすることができる。
【００２１】
また第１の課題を解決するための第２の手段を用いれば、ＤＲＡＭはＣ／Ａ信号タイミング調整回路によりＣ／Ａ信号タイミングをクロック信号とＣ／Ａ信号の配線差による遅延時間分調整することができ、タイミングを調整されたＣ／Ａ信号をクロック信号をもってラッチすることができる。
【００２２】
そして第２の課題を解決するための第１の手段を用いれば、Ｃ／Ａ信号と第２のクロック信号の時間差はほぼ無くなり、ＤＲＡＭはＣ／Ａ信号を第２のクロック信号をもってラッチすることができる。
【００２３】
さらに第２の課題を解決するための第２の手段を用いれば、ＤＲＡＭはＣ／Ａ信号に対してはＰＬＬから折り返し部の前に設けられた入力クロック信号を参照して取り込む。そして、Ｃ／Ａ信号をＤＩＭＭ上のＤＲＡＭへ分配するために設けられたレジスタの遅延時間をＰＬＬのフィードバックループに組み込むことで相殺する。このため、Ｃ／Ａ信号の取り込みをＰＬＬの折り返し配線で行うことができる。
【発明を実施するための最良の形態】
【００２４】
本発明の実施例を図を用いて説明する。
【実施例１】
【００２５】
第１の実施例を図１を用いて説明する。
【００２６】
１０−１〜１０−８は、ＤＩＭＭ２に搭載されているＤＲＡＭである。ＤＩＭＭ２にはＤＲＡＭ１０−１〜１０−８以外にコマンドアドレス信号用のＣ／Ａレジスタ（以下レジスタ）２０とクロック信号安定化回路（以下、ＰＬＬ）３０を搭載している。
【００２７】
メモリコントローラ（以下、ＭＣ）３は、ＤＲＡＭ１０−１〜１０−８に対し、信号の読み書きの制御を行っており、プリント基板（以下、マザーボード）１上に搭載されている。ＭＣ３からの各ＤＲＡＭ１０−１〜１０−８に対しては、マザーボード１上の配線により、ＤＩＭＭ２が搭載されている端子まで電気的に接続されている。
【００２８】
Ｃ／Ａ信号５１はＭＣ３からＤＩＭＭ２上に搭載されたレジスタ２０に伝送され、レジスタ２０からＤＩＭＭ２上の各ＤＲＡＭ１０−１〜１０−８に、接続されている。５１ＡはＤＩＭＭ２内の信号である。図１ではレジスタ２０は、１列に並ぶＤＲＡＭ１０−１〜１０−８の中央に配置され、各ＤＲＡＭ１０−１〜１０−８のＣ／Ａ信号端子に接続されている。
【００２９】
ＰＬＬ３０の出力は、各ＤＲＡＭ１０−１〜１０−８が同期して動作できるように、ＰＬＬ３０から等長に各ＤＲＡＭ１０−１〜１０−８に配線されている。図１では、ツリー状に配線しており、ＰＬＬ３０から見て同位相でクロック信号５０が到着する。今、ＤＲＡＭに到達したクロック信号５０の位相をφ０（ファイゼロ）と呼ぶことにする。このクロック５０はＭＣ３から供給されても良いし、他の部品により供給されても良い。
【００３０】
次に、ＤＱ信号５２、Ｃ／Ａ信号５１のタイミングを、ＭＣ３からのライトデータのトランザクションを説明する図３を用いて説明する。
【００３１】
ＭＣ３から出力されたクロック信号５０、ＤＱ信号５２、Ｃ／Ａ信号５１は、ＤＩＭＭ２に同じ位相間隔を保って入力される。そして、それらの位相はゼロであってもなくても良いが、その位相時間差の関係は変わらないとする。ここでそれぞれの信号の位相とは、それぞれの信号に対するクロック信号５０の立上りあるいは立下がりの時刻からの時間差と定義する。
【００３２】
クロック信号５０はＰＬＬ３０に入力され、クロック信号５０Ａとして各ＤＲＡＭに到達し、ＤＱ信号５２はＤＩＭＭ２の端子からＤＲＡＭにある配線による遅延時間後に各ＤＲＡＭに到達する。ＭＣから各ＤＲＡＭまでの伝搬遅延時間ＤＱ信号は、
Ｔｄ＝Ｔｄ１＋Ｔｄ２          （１）
で与えられる。ここで、Ｔｄ１はマザーボード１上の配線遅延時間で、全てのＤＱ信号に対して同じ長さになるように等長配線されている。Ｔｄ２は、ＤＩＭＭの電極から各ＤＲＡＭの端子までの配線遅延時間であり、この配線も等長に引かれている。このため、ＤＱ信号５２間で設計バラツキと製造バラツキ以上のスキューはない。
【００３３】
次に、ＭＣから各ＤＲＡＭまでのＣ／Ａ信号５１の伝搬遅延時間ＴＣ／Ａ（ｉ）は、
ＴＣ／Ａ（ｉ）＝Ｔａ１＋Ｔａ２＋Ｔｒｅｇ＋Ｔａ３（ｉ）          （２）
で与えられ、ここで、Ｔａ１はマザーボード１上のＣ／Ａ信号５１の配線遅延時間で、全てのＣ／Ａ信号５１に対してＭＣ３からＤＩＭＭ２まで同じ長さになるように配線されている。Ｔａ２は、ＤＩＭＭ２の電極からレジスタ２０の端子までの遅延時間であり、同様に同じ長さになるように配線されている。また、Ｔｒｅｇはレジスタ２０の入力から出力までの遅延時間である。そして、レジスタ２０からｉ番目のＤＲＡＭへのＣ／Ａ信号５１Ａの配線遅延時間をＴａ３（ｉ）としている。
【００３４】
数（１）、（２）からＭＣ３から出力されたＤＱ信号５２とＣ／Ａ信号５１の各ＤＲＡＭ１０−１〜１０−８までの到達の時間差（位相差）は次式で計算できる。
【００３５】
ＴＣ／Ａ（ｉ）−Ｔｄ＝Ｔｒｅｇ＋Ｔａ３（ｉ）          （３）
ここで、マザーボード上のＤＱ信号５２とＣ／Ａ信号５１の配線は等遅延時間になるように配線されているとした。式で表すと、
Ｔｄ１＝Ｔａ１          （４）
Ｔｄ２＝Ｔａ２          （５）
となる。
【００３６】
数（３）はレジスタ２０の固定の遅延時間（Ｔｒｅｇ）以外に、配線長Ｔａ３（ｉ）に対応した位相差が生じることが分かる。位相遅延時間差は図１のような結線の場合、ＤＲＡＭ１０−１〜１０−８間が最大、Ｔａ３（４）−Ｔａ３（１）の開きが生じ、配線長が例えば、ＤＲＡＭ１０−１とＤＲＡＭ１０−８間隔をδＬ＝５０ｍｍとすると、
δＴ＝δＬ／Ｖｐ          （６）
より、δＴ＝８３３ｐｓとなる。ここで、伝搬遅延速度（Ｖｐ）を入力容量成分による遅れが生じるために６０ｍｍ／ｎｓになるとした。
【００３７】
ＤＤＲ−ＳＤＲＡＭ方式のＤＲＡＭの場合、Ｃ／Ａ信号５１はＤＱ信号５２の半分で動作し、ＤＱ信号５２が１．６Ｇｂｐｓ動作の場合は、Ｃ／Ａ信号５２は０．８Ｇｂｐｓで動作する。この場合の、Ｃ／Ａ信号５１の時間幅は、１２５０ｐｓである。これに対して先のδＴは６６％にあたり、半分を超えていることになる。Ｃ／Ａ信号５１Ａを正確にＤＲＡＭ内部に取り込むためには、Ｃ／Ａ信号５１Ａの時間幅の半分の時間位置で取り込むのがタイミングマージンが広くて良いが、先のδＴはこれを越えている。そのため、データ取り込みが不安定になっていた。このため、本実施例では図３のように各ＤＲＡＭに遅延時間素子を用いてＣ／Ａ信号を取り込んでいる。
【００３８】
これを実現する方法を図４で説明する。
【００３９】
クロック信号５０ＡはＤＲＡＭ１０内に設けられたクロック調整回路（ＰＬＬ）６１でクロック信号５０Ａに同期した位相φ０を生成する。６２は、可変遅延回路でありクロック信号位相φ０の入力に対して一定の位相差を持つ位相φ１を生成するような遅延回路である。可変遅延回路６２の遅延量（Ｄ）の設定量は、次の数式で与えられる。
【００４０】
Ｄ＝ＭＯＤ（Ｔｒｅｇ＋Ｔａ３（ｉ）＋
１／２Ｔｃｙｃｌｅ、Ｔｃｙｃｌｅ）          （７）
ここで、ＴｃｙｃｌｅはＣ／Ａ信号の周期であり、ＭＯＤは剰余関数である。数（７）はＭＯＤ関数内の第１の項に対する第２の項Ｔｃｙｃｌｅの剰余を与える。このため、遅延回路６２で遅延量（Ｄ）を持つ位相φ１により、Ｃ／Ａ信号５１Ａはフリップフロップ（以下、ＦＦ）７１によりラッチされＤＲＡＭ１０はＣ／Ａ信号を取り込むことができることが分かる。また、逆にＣ／Ａ信号に対して可変遅延回路を設け、Ｃ／Ａ信号とクロック信号位相φ０の位相差を遅延量（Ｄ）として持たせても、ＤＲＡＭ１０はＣ／Ａ信号を取り込むことができることが分かる。
【００４１】
ここで、遅延量（Ｄ）は、配線長差から数（６）の計算により求めてもいいし、実測により求めてもよい。
【００４２】
ＤＩＭＭ２は、ＤＲＡＭ１０−１〜１０−８を搭載し、検査に合格した後に出荷される。そのため、ＤＩＭＭ２を出荷するメーカは各ＤＲＡＭ１０−１〜１０−８がＤＩＭＭ２上でどの程度の遅れがあるのかの情報を有している。この情報量を出荷前にＤＲＡＭ１０−１〜１０−８に書き込めばよいことになる。
【００４３】
この情報（Ｄ）の書き込みは、ＤＲＡＭ１０内に設けられたレジスタ６３によって保持すればよい。そして、このレジスタ６３にデータを書き込むには、ＤＩＭＭ上に設けられていたＤＲＡＭとは別の格納素子内にデータを格納し、これをＪＴＡＧ５５などバウンダリスキャンテスト用のインタフェースを介してＤＲＡＭ１０内のレジスタ６３に書き込めば良い。こうすることで書き込みのための別のピンは必要なくなる。
【００４４】
ここで、ＪＴＡＧとは、ＩＣチップの検査方式の一つであるバウンダリスキャンテストの標準方式、および、標準を定めた業界団体の名称である。ＪＴＡＧ標準は、米国電気電子学会（ＩＥＥＥ）が１９９０年にＩＥＥＥ  ｓｔｄ．１１４９．１−１９９０「Ｓｔａｎｄａｒｄ  Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ  ａｎｄ  Ｂｏｕｎｄａｒｙ−ＳＣ／Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ」として標準化されている。
【００４５】
ここで別の実施例として、ＤＩＭＭ２内のＣ／Ａ信号５１Ａをクロック信号５０Ａの様にツリー構造にして同じタイミングで各ＤＲＡＭ１０−１〜１０−８に配線する方法も考えられる。この場合は、図４で示した位相調整遅延回路６２は不要になるが、ＤＩＭＭ２内のＣ／Ａ信号は２０ビット程度有るため、ツリー状配線にした場合、この配線の占める面積が広くなりＤＩＭＭ２の基板面積あるいは基板の層数が多く必要になるのでコストを低く抑えることができない。
【００４６】
これに対し、本実施例は、Ｃ／Ａ信号をレジスタ２０から直線状に各ＤＲＡＭ１０−１〜１０−８に配線することで、配線の占有面積を小さく抑え基板のコストを低く抑えることができる、という効果がある。
【００４７】
また、図１において、図１のＭＣ３から、クロック信号５０と同期して、ＤＱ信号５２、Ｃ／Ａ信号５１を出力すると、各ＤＲＡＭ１０−１〜１０−８へクロック信号５０ＡとＤＱ信号５２を同着させることができる。これは、ＰＬＬ３０の基本的な機能を用いることで、見かけ上クロック信号を遅延無しで分配させることができるためである。
【００４８】
このことは、ＭＣ３から見ると、全ＤＲＡＭ１０−１〜１０−８に対してＣ／Ａ信号５１は、配置場所・配線長が違うにも関わらずレジスタ２０から見て最遠端のＤＲＡＭ１０−４に対して等位相差で書き込むことに等しい。これは先に説明したように、ＤＲＡＭ１０−１〜１０−８内の位相調整遅延回路６２が配線長差を打ち消すように遅延機能が働くことでなされる。この遅れは、バウンダリスキャン信号を用いて書き込まれるので複数の遅延時間量持つＤＲＡＭであっても、一種類のＤＲＡＭだけでＤＩＭＭ２を構成可能である。
【００４９】
次に図５を用いて、第１の実施例のマザーボード実装を示す。この実施例は後に述べる実施例２、３のメモリモジュールに対しても同様な効果を有している。
【００５０】
図５はマザーボード１の上面図で、ＭＣ３から引き出されているＤＱ信号５２と、Ｃ／Ａ信号５１はＤＩＭＭ２−１〜２−４の各端子にバス接続されている。そして、各ＤＩＭＭ２−１〜２−４にはレジスタ２０−１〜２０−４がそれぞれ搭載され、各ＤＩＭＭ２−１〜２−４内に搭載されたＤＲＡＭに図１のように配線されている。このため、ＤＩＭＭ２−１に対しては、レジスタ２０−１に対して同一ＤＩＭＭ２−１内にある最遠端のＤＲＡＭに対して読み込み動作・書き込み動作のタイミングが規定される。
【００５１】
同様に、ＤＩＭＭ２−２〜２−４に対しても、該ＤＩＭＭ内の最遠端のＤＲＡＭに対してタイミングが規定される。そのため、ＭＣ３からみてＤＩＭＭ２−１〜２−４へは、マザーボード１上の配線の遅延時間のみが異なることになり、すなわち、各ＤＩＭＭ２−１〜２−４内への各ＤＲＡＭに対するアクセスタイミングは該ＤＲＡＭの位置の差による配線遅延時間のみ考慮することで設計が容易になるという効果がある。
【００５２】
ＤＱ信号５２、Ｃ／Ａ信号５１の配線はクロストーク技術を用いたものでもよいし、ＳＳＴＬ（Ｓｔｕｂ  Ｓｅｒｉｅｓ  Ｔｅｒｍｉｎａｔｉｏｎ  Ｌｏｇｉｃ）と呼ばれる配線技術を用いたものであってもよい。また、これらの組合せであってもよい。重要なのはＤＱ信号とＣ／Ａ信号の両者がＭＣ３から見て等時間で各ＤＲＡＭに到達することにある。この条件を満たすインタフェースで有れば本質的に本実施例の効果は有する。
【００５３】
同様に、ＤＩＭＭの検査の場合、全てのＤＱ信号５２とＣ／Ａ信号５１はクロック信号５０に対して規定されるので、テスタによる検査が容易になるという効果がある。ＤＲＡＭがＤＩＭＭ２上に搭載されている配置場所によりタイミングが異なる場合、テスタでの検査はＤＲＡＭ毎にタイミングを調整しなければならないのでその分検査用のテストベクタを用意しなければならず、また、検査のための時間もかかるので生産の効率も悪くなる。これらを回避できるという効果もある。
【００５４】
以上の通り本実施例によれば、Ｃ／Ａ信号をレジスタ２０から直線状に各ＤＲＡＭ１０−１〜１０−８に配線することで、配線の占有面積を小さく抑え基板のコストを低く抑えることができる、という効果がある。
【００５５】
また、上記のように直線状に配線する場合、Ｃ／Ａ信号とデータ信号の位相差が数（３）に示すようになるが、この場合であっても、Ｃ／Ａ信号を遅らせることでデータ信号との位相差をなくすことができるのでＣ／Ａ信号を取り込むことができる。このため、ＤＩＭＭ内のすべてのＤＲＡＭに対して同じタイミングでアクセスすることができ、メモリシステムのタイミング設計ばかりでなく、ＤＲＡＭのテスティングも容易になるという効果がある。
【実施例２】
【００５６】
第２の実施例を図６を用いて説明する。
【００５７】
本実施例は、Ｃ／Ａ信号を受信するためのクロックと、各ＤＲＡＭへ配信されるクロックを同一の配線を用いることを特徴としている。
【００５８】
ＤＩＭＭ２には、ＤＲＡＭ１０−１〜１０−８とレジスタ２０、ＰＬＬ３０が搭載されており、レジスタ２０とＰＬＬ３０はＤＩＭＭ２の端に位置している。そして、ＤＩＭＭ２内のＣ／Ａ信号５１Ｂはデイジーチェーン状に配線されている。また、クロック信号５０ＢはＰＬＬ３０から折り返し配線がなされ、折り返す前の配線と折り返した後の配線に対して、ＤＲＡＭ１０−１〜１０−８のクロック入力端子がそれぞれ接続されている。また、クロック信号５０Ｂの配線の遠端は整合終端されているためこの部分での反射はない。
【００５９】
この様に構成するため、ＤＲＡＭ１０−１〜１０−８には配線長差に応じた位相の異なる２つのクロック信号が入力されることになる。各ＤＲＡＭ１０−１〜１０−８でＰＬＬ３０からの信号到達時間が早い順に端子を１Ｃ、２Ｃ、３Ｃ〜８Ｃと便宜的に名付けると、図７のように１つのパルスがそれぞれの端子に到達する。図７の横軸は時間であり、単一パルスの伝搬を示している。
【００６０】
ＤＲＡＭ１０−１に対しては一番早いパルスが端子１Ｃに入力し、一番遅いパルスが端子８Ｃに入力される。同様にＤＲＡＭ１０−２に対しては２番目に早いパルスが端子２Ｃに、２番目に遅いパルスが端子７Ｃに入力される。これらのパルスの位相差はクロック信号５０Ｂの配線長差に因り、その差は折り返し点から見ると同じ遅延時間差であり、クロック信号が先に到着する端子が１Ｃ〜４Ｃであり、遅く到達する端子が５Ｃ〜８Ｃである。そのため、ＤＲＡＭの２つのクロック端子から入力される２つのパルスの時刻差の中間の時刻が、折り返し部のパルスの到達時刻に等しい。この折り返し部分でのクロック信号５０Ｂの位相をφ０であらわす。
【００６１】
図８で示す回路によりＤＲＡＭ１０−１〜１０−４はクロックφ０の位相のクロックを生成する。図８に於いて６１と６２はクロック用の入力端子であり、位相差を持つクロック信号を入力する。８１、８２は可変遅延回路であり、それぞれ同じ遅延時間を持つ。８３は位相比較器で２つの入力に対して位相が早いあるいは遅い、を判定し、これに応じた制御信号を遅延回路８１、８２にフィードバックする。
【００６２】
この様に構成することで遅延回路８１と８２を足した時間が入力端子６１と６２間の位相差である時間差に等しくなる。そして、遅延回路８１と８２による遅延時間は同じであるため、φ０は半分の遅延時間を持つことになる。すなわち、入力端子６１、６２に入力されるクロックの位相差の半分の時刻にあったクロックφ０を生成できることになり、図４のφ０に同じクロックを与える。
【００６３】
ＤＩＭＭ２に入力されるクロック信号５０は各ＤＲＡＭ１０−１〜１０−８に対してレジスタ２０の遅延時間と同じ遅延時間を有して分配される。これは図９のように構成することでなされる。Ｃ／Ａ信号５１は、ＤＩＭＭ２上のレジスタ２０で位相が揃ったＣ／Ａ信号５１Ｂに変換されるが、このレジスタ２０が有する遅延時間ＴｒｅｇをＰＬＬ３０はキャンセルするようにクロック信号５０Ｂへと変換する。すなわち、ＰＬＬ３０は２つの位相が同じになるように動作するが、この２つの入力のうち一方を入力クロック信号５０に接続し、他方の入力をＴｒｅｇと等しい遅延を持ったＰＬＬ３０の出力５０Ｂ信号を入力する。
【００６４】
ここでＴｒｅｇの遅延はクロック信号５０Ｂを、レジスタ２０の内部回路を通過させることで得ることができる。このレジスタ２０の通過時間は、レジスタ２０のＣ／Ａ信号５１からＣ／Ａ信号５１Ｂへの遅延時間と同じ値を持つ。この構成によれば、プロセスバラツキや温度、電圧バラツキにより変動するレジスタ２０の遅延時間（Ｔｒｅｇ）を同じ変動幅で変化させることができるので、これらのバラツキに強くなる。なお、レジスタ２０とＰＬＬ３０は図９では別回路として書いてあるが、同じ一つの回路として構成しても良い。
【００６５】
また、レジスタ２０内のＣ／Ａ信号５１はレジスタ２０内の設けられたラッチ回路によりクロックに同期されているが、バラツキがシステム的に許容できる場合では、ラッチを設ける必要はない。この場合、クロック遅延用のパスとＣ／Ａ信号５１用のパスの機能的な区別はないのでレジスタ２０は単にバスバッファでいい。
【００６６】
図９のようにクロック５０を制御する場合、図６でＤＲＡＭ１０−１〜１０−８のクロック位相は、Ｃ／Ａ信号５１Ｂがレジスタ２０に対して最遠端のＤＲＡＭ１０−８に対する到達する時刻にすべて等しい。このため、すべてのＤＲＡＭ１０−１〜１０−８に対して、ＤＩＭＭ２内では同じ位相で動作するように定義できるのでＤＩＭＭの端子でタイミングを規定できるのは第１の実施例に同じである。このため、設計の容易性・テスティングの容易性の効果がある。
【００６７】
図６のようにクロック信号５０Ｂの配線を行い、図８、図９の回路を有することでＤＲＡＭ１０−１〜１０−４内にツリー配線でなくとも共通クロックφ０を生成することができる。そして、更に、図８で端子６１には位相の早いクロック信号（φ１）が入力するが、この位相はＣ／Ａ信号５１Ｂの信号のレジスタ２０からの遅延時間に同じである。なぜならば、レジスタ２０から各ＤＲＡＭ１０−１〜１０−４までの配線長と、ＰＬＬ３０から該ＤＲＡＭ１０−１〜１０−４までの配線長がほぼ同じであるためである。このため、端子６１に入力されたクロック信号を用いれば同じレジスタ２０とＰＬＬ３０から各ＤＲＡＭ１０−１〜１０−８までの遅延時間であるためＣ／Ａ信号５１Ｂを取り込むことができる。
【００６８】
本実施例によれば、従来の特許文献１、２に開示された技術に比べて、以下の差異と効果がある。従来技術では折り返し配線を用いて２つの位相差から中間の位相を生成させているが、本実施例では更に、図６のようにＤＩＭＭ２のＰＬＬ３０のフィードバックを用いてクロック信号５０Ｂのタイミング位相をＣ／Ａ信号５１Ｂにあわせるように調整している。このため、レジスタ２０の遅れＴｒｅｇのバラツキが図９の回路で吸収できるという効果がある。
【００６９】
この様に構成するため、第１の実施例で示した図３のＤＲＡＭ内の遅延回路による遅延時刻φ１も用いることなく共通クロックφ０を生成することができるので、図４の遅延回路６２、レジスタ６３、およびバウンダリスキャンを用いた書き込みの回路が不要になる。この結果、回路が単純化できチップ面積を小さくできるのでコストを下げることができる。また、クロックのＤＩＭＭ上の配線も面積をとらないのでＤＩＭＭの面積も狭くでき低コスト化が可能となる。
【実施例３】
【００７０】
第３の実施例を図１０を用いて説明する。
【００７１】
本発明は、第２の実施例のクロック信号５０Ｂの配線を方向性結合器で構成した例である。図１０ではクロック信号とＣ／Ａ信号のみ示しており、他の信号は実施例２に同じである。本実施例ではクロック信号を５０Ｃで表す。また、ＤＲＡＭの個数は説明を簡単にするため４個としているが、これより多くても少なくても効果は同じである。（レジスタ＋ＰＬＬ）２１のＰＬＬから１本のクロック信号５０Ｃ用配線が引き出されており、遠端は開放になっている。そのため、ＰＬＬから出力されたクロック信号５０Ｃは、遠端で全反射する。全反射されたパルスはＰＬＬ内に設けられた終端抵抗により吸収され再反射はない。
【００７２】
ＰＬＬから引き出されたクロック信号５０Ｃの配線を主結合線路として、方向性結合器を構成するように副結合線路８１〜８４がＤＲＡＭ１０−１〜１０−４に配線されている。副結合線路８２はＤＲＡＭ１０−１と１０−２に共有され、接続されている。ＤＲＡＭ１０−１〜１０−４のクロック信号５０Ｃの入力インピーダンスは配線の特性インピーダンスに整合しており、それぞれの端子での反射はない。ＤＲＡＭ１０−１は、副結合線路８１に接続されており、この副結合線路８１の他方の端は抵抗器２００により整合終端されている。また、ＤＲＡＭ１０−４の２つの端は副結合線路８４の一方の端に接続されている。
【００７３】
方向性結合器を構成する副結合線路８１〜８４は主結合線路であるクロック信号５０Ｃの配線上を流れるパルスに対して後方にクロストーク信号を生成する。ここで、後方とは主結合線路上のパルスの進行方向に対して反対方向に進行するような方向をいう。そのため、ＰＬＬから出力されたクロック信号５０Ｃは図１０中のクロック信号５０Ｃの周りにある１〜８の順番で各端子に後方のクロストーク信号が入力される。
【００７４】
ＰＬＬから出力された信号パルスは、先ず、副結合線路８１に結合しているクロック信号５０Ｃの配線を通過するがこの方向性結合器部では後方クロストークが生成される。しかし、これは終端抵抗２００に伝搬するのみでＤＲＡＭ１０−１の動作には影響を与えない。
【００７５】
次にＰＬＬから出力されたクロック信号５０Ｃのパルスは、副結合線路８２に結合する配線部分を通過する。この時、副結合線路８２にはＤＲＡＭ１０−１に接続された端子１に生成された後方クロストークが入力される。このＤＲＡＭ１０−１の端子１Ｃの入力インピーダンスはＤＲＡＭ内で整合終端されているため配線のインピーダンスに等しく、この部での反射はない。そのため、配線８２に接続されているＤＲＡＭ１０−２には、パルスはこの時点では伝わらない。
【００７６】
同様にクロック信号５０Ｃの配線を進行するパルスは副結合配線８３に対して、ＤＲＡＭ１０−２の端子２Ｃに生成された後方クロストークを印加させる。同様に、更にクロック信号５０Ｃのパルスは副結合線路８４に対して、先ずＤＲＡＭ１０−３の端子３Ｃに後方クロストークを印加させる。クロック信号５０Ｃの配線を進行するパルスは遠端が開放端であるため全反射し、進行の向きを変える。右に進む反射パルスは副結合線路８４にて後方クロストークを生成させるが、このパルスはＤＲＡＭ１０−４の端子４Ｃ、５Ｃにほぼ同時に入力される。この為ＤＲＡＭ１０−４では２つの端子で同時期に入射する。これは実施例２の図６の折り返し部のクロック信号φ０の位相に等しい。
【００７７】
クロック信号５０Ｃのパルスは遠端で反射して、ＰＬＬに向かって進行するが、この時に副結合線路８３に接続されている端子６Ｃに、また、方向性結合器８２に接続されている端子８Ｃ、そして最後に副結合線路８１に接続されている端子８Ｃに対して、入力パルスを入力させる。また、ＰＬＬに戻ってきた反射波はＰＬＬ内の終端抵抗により吸収されこの部分での再反射はない。
【００７８】
このように構成することで、実施例２と同様の効果を得ることができる。すなわち、各ＤＲＡＭ１０−１〜１０−８に対して図６のように方向性結合器を介してクロック信号５０Ｃが入力されることになる。この２つの端子に入力されるクロック信号の中間の位相を生成することによって、共通時刻の位相φ０を生成することができる。
【００７９】
同様に（レジスタ＋ＰＬＬ）２１のレジスタから出力されたＣ／Ａ信号５１Ｃは、クロック信号５０Ｃと同形に配線されている。すなわち、終端されたドライバから、遠方が開放されている１本の配線が引き出され、その配線が各ＤＲＡＭ１０−１〜１０−４と方向性結合器を構成している。Ｃ／Ａ信号５０Ｃの、副方向性結合配線はクロック信号５０Ｃとは異なり、ＤＲＡＭ１０−１と１０−２、１０−３と１０−４の間の配線だけである。この端子を１Ａ、７Ａ、３Ａ、５Ａと呼ぶ。この番号はクロック信号５０Ｃのそれと同じ順になっている。
【００８０】
すなわち、Ｃ／Ａ信号５１Ｃの信号パルスのタイミングはクロック信号５０Ｃのそれに同じである。そのため各ＤＲＡＭ１０−１〜１０−４に入力されるＣ／Ａ信号５１Ｃはクロック信号５０Ｃと同じく、ＤＲＡＭ１０−１の端子１Ｃと同じタイミングで、端子１Ａに、次にＤＲＡＭ１０−３の端子３Ｃと同じタイミングで、端子３Ａに、さらにＤＲＡＭ１０−４の端子５Ｃと同じタイミングで端子５Ａに、ＤＲＡＭ１０−２の端子７Ｃと同じタイミングで端子７Ａにパルスは入力される。このようにＣ／Ａ信号５１Ｃとクロック信号５０Ｃの配線は同形であるので、Ｃ／Ａ信号５１Ｃを取り込むためのクロックとしてクロック信号５０Ｃを用いることができる。この構成により、第２の実施例と同じ効果を得る。本実施例により、クロック信号５０Ｃ、Ｃ／Ａ信号５１Ｃの配線を単純化できるので低価格化にできる効果がある。
【００８１】
以上のように、クロック信号に方向性結合器と反射波を用いることで、共通位相のクロック信号の再生でき、かつこの反射波をＣ／Ａ信号ラッチ用のソースクロックにできるという２つの効果を得ることができる。これにより単純な構造で安く、高速動作を行わせることができる。
【実施例４】
【００８２】
本発明の第４の実施例を図１１、１２、１３、１４、１５、１６を用いて説明する。以降では、符号の付与は、各端子や各信号、各配線に同じ符号を付したり、さらに各端子や各信号、各配線の略称に同じ符号を付する場合もある（第５、第６の実施例も同様）。
【００８３】
図１１は本発明による第４の実施例のメモリモジュール１１００の構成図である。ここでメモリモジュール１１００はいわゆる「×８ＤＲＡＭ１８個搭載２ランク構成のＤＩＭＭ」でＤＲＡＭ１〜９（１１０１）、ＤＲＡＭ１Ｂ〜９Ｂ（１１０２）、レジスタ１１０３、ＰＬＬ１１０４が搭載されている。
【００８４】
ランク分けはＤＲＡＭ１〜９がランク１、ＤＲＡＭ１Ｂ〜９Ｂがランク２となっている。ここでＤＲＡＭ１Ｂ〜９ＢはそれぞれＤＲＡＭ１〜９の裏に位置しているＤＲＡＭである。この表裏に位置するＤＲＡＭペア、例えばＤＲＡＭ１とＤＲＡＭ１Ｂは同じ機能のデータ信号端、コマンド・アドレス（Ｃ／Ａ）信号端子、クロック信号端子は電気的に接続され配線も共有している。ただしチップ選択信号（チップセレクト）やクロック有効化信号（クロックイネーブル）などのランク毎に必要となるコントロール信号端子は除く。
【００８５】
データ（ＤＱ）信号５２はマザーボード上のメモリコントローラ３からメモリモジュール上の各ＤＲＡＭへデータ信号配線群によって結ばれている。このデータ信号配線群の配線はすべて同じ長さであり、全てのデータ信号はメモリコントローラ３から同じタイミングで出力され同じタイミングで各ＤＲＡＭに到着する。
【００８６】
Ｃ／Ａ信号５１はまずメモリコントローラ３からメモリモジュール１１００上のレジスタ１１０３にＣ／Ａ配線群を介して送られる。そしてレジスタ１１０３からＣ／Ａ信号Ｃ／Ａ＿ＤＣ（Ｃ／Ａ＿ＤＣ信号、Ｃ／Ａ＿ＤＣとも記す）が一筆書き配線１１０５によってメモリモジュール左側のＤＲＡＭ１〜ＤＲＡＭ５、ＤＲＡＭ１Ｂ〜５Ｂに接続されている。また同様にメモリモジュール右側のＤＲＡＭ６〜ＤＲＡＭ９、ＤＲＡＭ６Ｂ〜ＤＲＡＭ９Ｂにも一筆書き配線によって接続されている。
【００８７】
クロック信号５０はまずメモリコントローラ３からメモリモジュール１１００上のＰＬＬ１１０４にクロック配線を介して送られる。そしてＰＬＬ１１０４からＤＲＡＭ１〜ＤＲＡＭ９及びレジスタ１１０３へそれぞれ同じ長さのクロック信号配線群１１０６で１対１配線で別々に配線される。なおＤＲＡＭ１Ｂ〜ＤＲＡＭ９ＢはそれぞれＤＲＡＭ１〜ＤＲＡＭ９のそれぞれと信号を共有している。またクロック信号配線群１１０６とは別のクロック信号ＣＬＫ＿ＤＣ（ＣＬＫ＿ＤＣ信号、ＣＬＫ＿ＤＣとも記す）がＰＬＬ１１０４から一筆書き配線１１０７によってメモリモジュール左側のＤＲＡＭ１〜５、ＤＲＡＭ１Ｂ〜５Ｂに接続されている。また同様にメモリモジュール右側のＤＲＡＭ６〜ＤＲＡＭ９、ＤＲＡＭ６Ｂ〜ＤＲＡＭ９Ｂにも一筆書き配線によって接続されている。なおＣ／Ａ＿ＤＣ信号配線１１０５及びＣＬＫ＿ＤＣ信号配線１１０７の長さは各ＤＲＡＭにおけるＣ／Ａ＿ＤＣ信号とＣＬＫ＿ＤＣ信号の遅延時間が等しくなるように調整されており、ＣＬＫ＿ＤＣ信号の立ち上がりエッヂはＣ／Ａ＿ＤＣ信号を取り込むタイミングに同期している。またこれらの一筆書き配線はレジスタ１１０３、ＰＬＬ１１０４の反対側の端において例えば信号配線の実効的な特性インピーダンス値などの適当な終端抵抗でグランドレベルや電源電圧の半分など適当な電源電圧に終端されている。
【００８８】
データ信号５２の配線群、Ｃ／Ａ信号５１の配線群、クロック信号５０の配線の長さは、ＰＬＬ１１０４に入力されるクロック信号のタイミングと各ＤＲＡＭ及びレジスタ１１０３にクロック信号配線群１１０６で入力されるタイミングと各ＤＲＡＭでデータ信号を取り込むタイミングが等しくなるように設計されている。このタイミングをこのメモリシステムのサイクルタイミングφ０と呼ぶ事にする。
【００８９】
ここでＣ／Ａ信号Ｃ／Ａ＿ＤＣ及びクロック信号ＣＬＫ＿ＤＣは各ＤＲＡＭへ一筆書き配線で接続されているので、信号の各ＤＲＡＭへの到着時間は異なる。特に各ＤＲＡＭにおけるクロック信号ＣＬＫ＿ＤＣは上記サイクルタイミングφ０と異なる。そこで各ＤＲＡＭにはクロック信号ＣＬＫ＿ＤＣで取り込めるＣ／Ａ＿ＤＣ信号をサイクルタイミングφ０で取り込めるようにタイミングを変更するクロック乗り換え回路１３００（図１３）が搭載されている。
【００９０】
図１６は本実施例におけるクロックイネーブル信号の接続を示すための構造図である。クロックイネーブル信号は各ＤＲＡＭにおいてクロックを有効にするための信号である。マザーボード上でクロックイネーブル信号１６０１がＣ／Ａ信号５１同様にメモリコントローラ３からレジスタ１１０３へ接続されている。またメモリモジュール上では第１のクロックイネーブル信号１６０２が一筆書き配線で各ＤＲＡＭに接続されており、この信号１６０２の配線長は信号が各ＤＲＡＭにおいてクロック信号ＣＬＫ＿ＤＣ配線１１０７と同じ遅延時間になるように設計されている。また第２のクロックイネーブル信号１６０３がメモリモジュール上はレジスタ１１０３から同一ランクのＤＲＡＭ群毎にツリー配線で接続されており、接続された各ＤＲＡＭへは同時に到着するように配線長が設計されている。図中１６０１〜１６０３の実線はランク１用、点線はランク２用である。このようにクロックイネーブル信号を２系統持つ理由は後で述べる。なおチップセレクト信号配線は同一ランクのＤＲＡＭ群毎にＣ／Ａ信号と同様の一筆書き配線だけでよい。
【００９１】
図１２はメモリモジュール１１００のレジスタ１１０３とＤＲＡＭ１（１１０１）、ＤＲＡＭ５（１１０２）に関するＣ／Ａ信号伝送の概略タイミングを示すタイミングチャートである。
【００９２】
図１２でＴ０〜Ｔ４はサイクルタイミングφ０の時刻である。まずＴ０でレジスタ１１０３がＣ／Ａ信号を出力する（１２０１）。そしてＤＲＡＭ１（１１０１）においてクロック信号ＣＬＫ＿ＤＣが１２０２のタイミングで、Ｃ／Ａ信号Ｃ／Ａ＿ＤＣが１２０３のタイミングで伝送される。ここでＣ／Ａ信号Ｃ／Ａ＿ＤＣはＴ０から遅延時間ｔｄ１で到着する。そしてレジスタ１１０３から最遠端のＤＲＡＭ５（１１０２）においてはクロック信号ＣＬＫ＿ＤＣが１２０５のタイミングで、Ｃ／Ａ信号Ｃ／Ａ＿ＤＣが１２０６のタイミングで伝送される。ここでＣ／Ａ信号Ｃ／Ａ＿ＤＣはＴ０から遅延時間ｔｄ５で到着する。
【００９３】
Ｃ／Ａ信号の転送周波数（データレート）が高くｔｄ１＜ｔｃｋ＜ｔｄ５（ｔｃｋはサイクルタイム）となるとＤＲＡＭ１（１１０１）においてＣ／Ａ＿ＤＣ信号はＴ１で取り込む事ができるが、ＤＲＡＭ５（１１０２）においてはＴ１でＣ／Ａ＿ＤＣ信号を取り込む事はできず、Ｔ２で取り込まなければならなくなる。そこで各ＤＲＡＭ内部のクロック乗り換え回路１３００（図１３）でＣ／Ａ＿ＤＣ信号の転送周波数を落とし、各ＤＲＡＭで共通の時刻でＣ／Ａ＿ＤＣ信号を取り込む。
【００９４】
まずＤＲＡＭ１（１１０１）においてＣ／Ａ＿ＤＣ信号をクロック信号ＣＬＫ＿ＤＣで取り込み、クロック乗り換え回路１３００（図１３）でＣ／Ａ＿ＤＣ信号の転送周波数を半分つまりデータウィンドウを２倍にしたＣ／Ａ＿ＤＣ＿２Ｔ（１２０４）を作る。同様にＤＲＡＭ５（１１０２）においてもＣ／Ａ＿ＤＣ信号をクロック信号ＣＬＫ＿ＤＣで取り込み、クロック乗り換え回路１３００（図１３）でＣ／Ａ＿ＤＣ信号の転送周波数を半分つまりデータウィンドウを２倍にしたＣ／Ａ＿ＤＣ＿２Ｔ（１２０７）を作る。するとＤＲＡＭ１（１１０１）におけるＣ／Ａ＿ＤＣ＿２Ｔ（１２０４）とＤＲＡＭ５（１１０２）におけるＣ／Ａ＿ＤＣ＿２Ｔ（１２０７）は共に共通の時刻Ｔ２で取り込む事ができる。
【００９５】
図１３はＤＲＡＭに搭載される前記クロック乗り換え回路１３００のブロック図である。
【００９６】
本クロック乗り換え回路はＣ／Ａ＿ＤＣ信号入力端子１３１２、ＣＬＫ＿ＤＣ信号入力端子１３１１、サイクルタイミングクロックＣＬＫ信号入力端子１３１３、ＤＲＡＭ内部Ｃ／Ａ用信号Ｃ／Ａ＿ＩＮ０信号出力端子１３１０を有し、内部は立上りエッヂ基準の２分周器１３０３、立上りエッヂ基準のＤフリップフロップ１３０１、立下りエッヂ基準のＤフリップフロップ１３０２、２入力１出力セレクタ１３０５、立下りエッヂ基準の２分周器１３０４から構成されている。
【００９７】
立上りエッヂ基準の２分周器１３０３の入力にはＣＬＫ＿ＤＣ信号入力端子１３１１が接続されており、出力信号ＣＬＫ＿ＤＣ＿２Ｒ（１３０６）は立上りエッヂ基準のＤフリップフロップ１３０１、立下りエッヂ基準のＤフリップフロップ１３０２のクロック入力端子に与えられている。またＣ／Ａ＿ＤＣ信号端子１３１２からは立上りエッヂ基準のＤフリップフロップ１３０１、立下りエッヂ基準のＤフリップフロップ１３０２のデータ信号入力端子に与えられる。立上りエッヂ基準のＤフリップフロップ１３０１の出力信号Ｃ／Ａ＿ＤＣ＿２Ｔ（１３０７）、立下りエッヂ基準のＤフリップフロップ１３０２の出力信号Ｃ／Ａ＿ＤＣ＿２Ｂ（１３０８）はセレクタ１３０５の入力信号端子に与えられる。一方サイクルタイミングクロックＣＬＫ信号入力端子１３１３からは立下りエッヂ基準の２分周器１３０４の入力端子に与えられ、その出力信号ＣＬＫ＿２Ｆ（１３０９）はセレクタ１３０５の選択信号端子に与えられる。そしてセレクタ１３０５の出力信号が本クロック乗り換え回路１３００のＣ／Ａ＿ＩＮ０信号出力端子１３１０に出力される。
【００９８】
なお本クロック乗り換え回路の出力端子１３１０のＣ／Ａ＿ＩＮ０信号はサイクルタイミングφ０でＣ／Ａ信号を取り込むフリップフロップ１３１６に入力される。
【００９９】
次に本クロック乗り換え回路１３００の動作原理を説明する。図１４はクロック乗り換え回路の原理を示す回路内の概略タイミングチャートである。
【０１００】
メモリモジュール（ＤＩＭＭ）上のＣ／Ａ＿ＤＣ信号１３１２とＣＬＫ＿ＤＣ信号１３１１はメモリモジュールの中央付近から左端もしくは右端へ向かって併走する一筆書き配線により各ＤＲＡＭに伝送されているので、図１４に示すように各ＤＲＡＭにおける両信号の位相関係はほぼ等しい。
【０１０１】
そこでまず各ＤＲＡＭのクロック乗り換え回路１３００はＣ／Ａ＿ＤＣ信号１３１２をＣＬＫ＿ＤＣ信号１３１１のタイミングで取り込む。このときＣ／Ａ＿ＤＣ信号をシリアル−パラレル変換し、１つのＣ／Ａ＿ＤＣ信号を転送周波数を半分にした２つの信号Ｃ／Ａ＿ＤＣ＿２Ｔ（１３０７）とＣ／Ａ＿ＤＣ＿２Ｂ（１３０８）に変換する。
【０１０２】
そしてＣ／Ａ＿ＤＣ＿２Ｔ（１３０７）とＣ／Ａ＿ＤＣ＿２Ｂ（１３０８）をパラレル−シリアル変換を行って、各ＤＲＡＭ共通のサイクルタイミングφ０で取り込み可能なＣ／Ａ信号＝Ｃ／Ａ＿ＩＮ０（１３１０）を再合成し、Ｃ／Ａ信号取り込み用フリップフロップ１３１６でφ０に同期したＣ／Ａ信号Ｃ／Ａ＿ＩＮ（１３１４）を得る。
【０１０３】
以上を踏まえて本クロック乗り換え回路１３００の動作を説明する。図１５はクロック乗り換え回路の詳細タイミングチャートである。
【０１０４】
クロック乗り換え回路１３００ではまずＣＬＫ＿ＤＣ（１３１１：第１のクロック）から２分周クロックＣＬＫ＿ＤＣ＿２Ｒ（１３０６）を作り、立上りエッヂ基準のＤフリップフロップ１３０１においてＣ／Ａ＿ＤＣ（１３１２：第１の信号）を２分周クロックＣＬＫ＿ＤＣ＿２Ｒ（１３０６）の立上りエッヂで取り込みＣ／Ａ＿ＤＣ＿２Ｔ（１３０７）を作っている。また同様にＣ／Ａ＿ＤＣ＿２Ｂ（１３０８）はＣ／Ａ＿ＤＣ信号１３１２を立下りエッヂ基準のＤフリップフロップ１３０２において２分周クロックＣＬＫ＿ＤＣ＿２Ｒ（１３０６）の立下りエッヂで取り込み作っている。
【０１０５】
次にサイクルタイミングφ０のクロック信号ＣＬＫ（１３１３）から２分周器１３０４で立下り基準の２分周クロックＣＬＫ＿２Ｆ（１３０９：第２のクロックの分周クロック）を作り、セレクタ１３０５に与える。これによりφ０の立下りエッヂで選択信号が交互に入れ替わって出力されるので、φ０の立上りエッヂであるＴ２、Ｔ４、Ｔ６…ではＣ／Ａ＿ＤＣ＿２Ｔ（１３０７）が、Ｔ３、Ｔ５…ではＣ／Ａ＿ＤＣ＿２Ｂ（１３０８）がＣ／Ａ＿ＩＮ０（１３１０）にセットアップされているようになる。なお回路中の２分周器は対応するクロックに対応するクロックイネーブル信号のタイミングでリセットされる。クロックイネーブル信号１６０１は各ＤＲＡＭに同時に入力されるので、各ＤＲＡＭで２分周器１３０４の初期化タイミングが揃い、ＣＬＫ＿２Ｆ（１３０９）は各ＤＲＡＭで同じになる。
【０１０６】
そしてＣ／Ａ＿ＩＮ０（１３１０）はサイクルタイミングφ０でＣ／Ａ信号を取り込むフリップフロップ１３１６に入力され、φ０に同期したＣ／Ａ信号Ｃ／Ａ＿ＩＮ（１３１４）を得る事ができる。
【０１０７】
このようにしてＣ／Ａ信号をクロック信号ＣＬＫ＿ＤＣ（１３１１）からサイクルタイミングφ０つまりクロック信号１１０６（第２のクロック）に乗せ換える事ができる。
【０１０８】
また以上ｔｄ１＜ｔｃｋ＜ｔｄ５＜２ｔｃｋを想定して並列度２の例を述べたが、条件に応じて並列度は変更して構わない。（Ｎ−１）×ｔｃｋ＜ｔｄ５＜Ｎ×ｔｃｋの場合は並列度をＮ以上にする必要がある。
【０１０９】
なお、以上本発明についてメモリモジュール上にレジスタ及びＰＬＬを搭載し、Ｃ／Ａ信号をレジスタで、またクロック信号をＰＬＬで経由してそれぞれ各メモリに分配するいわゆるレジスタードＤＩＭＭについて説明したが、レジスタ及びＰＬＬがなく、メモリコントローラからＣ／Ａ信号及びクロック信号をメモリモジュール内で直接分配するいわゆるアンバッファドＤＩＭＭにおいても同様に実施できる事は言うまでもない。
【実施例５】
【０１１０】
第５の実施例を図１７を用いて説明する。
【０１１１】
図１７は第５の実施例のメモリモジュールの構成図である。ＤＩＭＭ（図示せず）上に、バッファ１７００と数個のＤＲＡＭ１７２０〜１７２３が搭載されている。バッファ１７００とＤＲＡＭの間でＤＱ，ＤＱＳ１７０３のやり取りを行い、バッファ１７００からは、ＣＬＫ１７０２とコマンドアドレス（Ｃ／Ａ）信号１７０４が出力される。バッファ１７００が、図１のＲＥＧ．２０とＰＬＬ３０とＭＣ３の一部の機能を含む形となっている。バッファ１７００とＭＣ（図示せず）の間も信号のやり取りを実施する。
【０１１２】
ここで、Ｃ／Ａ１７０４は、図１と同様に一筆書きのトポロジで、終端抵抗１７０５で終端されている。ＣＬＫ１７０２とＤＱ，ＤＱＳ１７０３はＰｏｉｎｔ  ｔｏ  Ｐｏｉｎｔのトポロジである。
【０１１３】
図１８（ａ）は、各信号のバッファ１７００から、各ＤＲＡＭ１７２０〜１７２３への伝播遅延時間を示す。ＣＬＫ，ＤＱ，ＤＱＳは同じＰｏｉｎｔ  ｔｏ  Ｐｏｉｎｔのトポロジであるので、各伝播遅延時間を比較的合わせ易い。しかし、Ｃ／Ａ１７０４だけは、一筆書きのトポロジであるので、一般的に遠くのＤＲＡＭ程、ＣＬＫ，ＤＱ，ＤＱＳより伝播遅延時間が大きくなる。
【０１１４】
まず、比較的伝播遅延時間を合わせ易いＣＬＫ，ＤＱ，ＤＱＳについて述べる。ＣＬＫ，ＤＱＳは、０１０１パターンの繰り返し信号であるが、ＤＱは各種パターンを有する信号である。そのため、信号品質にＩＳＩ（Ｉｎｔｅｒ  Ｓｙｍｂｏｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ）、即ちデータパターン依存性の影響が現れる。このため、ＤＱＳ信号より若干短いＤＱ配線長にしておくと、ＤＱＳに対するＤＱのセットアップマージンとホールドマージンを等しくできる。ＣＬＫとＤＱＳについては、各配線長を調整すればよい。
【０１１５】
次に、図１８（ａ）の状態では、Ｃ／ＡのＣＬＫに対するセットアップマージンが不足し、Ｃ／Ａ１７０４をＣＬＫで捕まえることができない。そこで、図１８（ｂ）のように、ＣＬＫ，ＤＱ，ＤＱＳを遅らせる必要がある。遅らせる方法は、ＣＬＫ，ＤＱ，ＤＱＳの各配線長を調整する、あるいは、各ＤＲＡＭ内で、図８のようにＣ／Ａと、ＣＬＫ，ＤＱＳの位相を調べ、それらの情報をバッファ１７００に戻して、バッファ１７００から出力するＣＬＫ，ＤＱ，ＤＱＳのタイミングを変える、あるいは、先に説明した図４のように、ＤＲＡＭ内部で遅らせる方法がある。
【０１１６】
これらの方法を用いて、ＤＱＳに対するＤＱのセットアップマージンとホールドマージンの問題、Ｃ／ＡのＣＬＫに対するセットアップマージンの問題を解決し、両信号間のタイミングにおいて整合性のあるメモリモジュールを実現することができる。
【実施例６】
【０１１７】
第６の実施例を図１９を用いて説明する。
【０１１８】
図１９は第６の実施例のメモリモジュールの構成図である。ＤＩＭＭ（図示せず）上に、バッファ１９００と数個のＤＲＡＭ１７２０〜１７２３が搭載されている。メモリコントローラ１９０１とＤＲＡＭの間でＤＱ，ＤＱＳ１９０４のやり取りを行い、メモリコントローラ１９０１からバッファ１９００に、Ｃ／Ａ１９０２とＣＬＫ１９０３が出力される。バッファ１９００からは、バッファ１９００に入力されたＣ／Ａ１９０２とＣＬＫ１９０３に基づいて、ＣＬＫ１７０２とコマンドアドレス（Ｃ／Ａ）信号１７０４が出力される。バッファ１９００が、図１のＲＥＧ．２０とＰＬＬ３０の機能を含む形となっている。
【０１１９】
ここで、Ｃ／Ａ１７０４は、図１と同様に一筆書きのトポロジで、終端抵抗１７０５で終端されている。ＣＬＫ１７０２とＤＱ，ＤＱＳ１９０４はＰｏｉｎｔ  ｔｏ  Ｐｏｉｎｔのトポロジである。
【０１２０】
図２０（ａ）は、ＣＬＫ信号のバッファ１９００から、各ＤＲＡＭ１７２０〜１７２３への伝播遅延時間と、ＤＱ，ＤＱＳ信号の各ＤＲＡＭへの到着時間を示す。ＣＬＫ，ＤＱ，ＤＱＳは同じＰｏｉｎｔ  ｔｏ  Ｐｏｉｎｔのトポロジであるので、各伝播遅延時間を比較的合わせ易い。その際、バッファ１９００に入力されるＣＬＫ１９０３と、バッファ１９００から出力されるＣＬＫ１７０２とのバッファ１９００のピン位置での位相関係を可変にすれば容易に合わせることができる。しかし、Ｃ／Ａ１７０４だけは、一筆書きのトポロジであるので、一般的に遠くのＤＲＡＭ程、ＣＬＫより伝播遅延時間が大きくなる。
【０１２１】
まず、比較的伝播遅延時間を合わせ易いＣＬＫ，ＤＱ，ＤＱＳについて述べる。ＣＬＫ，ＤＱＳは、０１０１パターンの繰り返し信号であるが、ＤＱは各種パターンを有する信号である。そのため、信号品質にＩＳＩ（Ｉｎｔｅｒ  Ｓｙｍｂｏｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ）、即ちデータパターン依存性の影響が現れる。このため、ＤＱＳ信号より若干短い配線長にしておくと、ＤＱＳに対するＤＱのセットアップマージンとホールドマージンを等しくできる。ＣＬＫとＤＱＳについては、各配線長を調整すれば良い。
【０１２２】
次に、図２０（ａ）の状態では、Ｃ／ＡのＣＬＫに対するセットアップマージンが不足し、Ｃ／Ａ１７０４をＣＬＫで捕まえることができない。そこで、図２０（ｂ）のように、ＣＬＫ，ＤＱ，ＤＱＳを遅らせる必要がある。遅らせる方法は、ＣＬＫ，ＤＱ，ＤＱＳの各配線長を調整する、あるいは、先程述べた図８のように、各ＤＲＡＭ内で、Ｃ／Ａと、ＣＬＫ，ＤＱＳの位相を調べ、それらの情報をバッファ１９００とメモリコントローラ１９０１に戻して、バッファ１９００とメモリコントローラ１９０１から出力するＣＬＫ，ＤＱ，ＤＱＳのタイミングを変える、あるいは、先に説明した図４のように、ＤＲＡＭ内部で遅らせる方法がある。
【０１２３】
これらの方法を用いて、第５の実施例と同様に、両信号間のタイミングにおいて整合性のあるメモリモジュールを実現することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施例のメモリモジュールを説明する図である。
【図２】従来の技術のメモリモジュールを説明する図である。
【図３】本発明の第１の実施例のタイミングを説明する図である。
【図４】本発明の第１の実施例のＤＲＡＭ内部回路を説明する図である。
【図５】本発明の第１の実施例のマザーボードを説明する図である。
【図６】本発明の第２の実施例のメモリモジュールを説明する図である。
【図７】本発明の第２の実施例のタイミングを説明する図である。
【図８】本発明の第２の実施例のクロック回路を説明する図である。
【図９】本発明の第２の実施例のレジスタの遅延時間をキャンセルするクロック生成回路を説明する図である。
【図１０】本発明の第３の実施例のメモリモジュールを説明する図である。
【図１１】本発明の第４の実施例のメモリモジュールを説明する図である。
【図１２】本発明の第４の実施例のＣ／Ａ信号のタイミングを説明する図である。
【図１３】本発明の第４の実施例のクロック乗り換え回路を説明する図である。
【図１４】本発明の第４の実施例のクロック乗り換え回路内のタイミングを説明する図である。
【図１５】本発明の第４の実施例の詳細タイミングを説明する図である。
【図１６】本発明の第４の実施例のクロックイネーブル配線を説明する図である。
【図１７】本発明の第５の実施例のメモリモジュールを説明する図である。
【図１８】本発明の第５の実施例のメモリの位置と伝播遅延時間の関係を説明する図（（ａ）：遅延前、（ｂ）：遅延後）である。
【図１９】本発明の第６の実施例のメモリモジュールを説明する図である。
【図２０】本発明の第６の実施例のメモリの位置と伝播遅延時間の関係を説明する図（（ａ）：遅延前、（ｂ）：遅延後）である。
【符号の説明】
【０１２５】
１：マザーボード、１Ａ〜８Ａ：Ｃ／Ａ信号入力端子、１Ｃ〜８Ｃ：クロック信号入力端子、２，２−１〜２−４，１１００：メモリモジュール、３，１９０１：メモリコントローラ、１０−１〜１０−８：メモリ、２０，２０−１〜２０−４，１１０３：レジスタ、３０，１１０４：ＰＬＬ、５０，５０Ａ，５０Ｂ，５０Ｃ：クロック信号、５１，５１Ａ，５１Ｂ，５１Ｃ：Ｃ／Ａ信号、５２：ＤＱ信号、５５：バウンダリスキャン信号、６１：ＤＲＡＭ内部に設けられたＰＬＬ、６２：可変遅延回路、６３：レジスタ、８１，８２：可変遅延回路、８３：位相比較器、９０，１７０５：終端抵抗、２００：終端抵抗、１１０１，１１０２，１７２０〜１７２３：ＤＲＡＭ、１１０５：Ｃ／Ａ＿ＤＣ信号配線、１１０６：クロック信号配線群、１１０７：ＣＬＫ＿ＤＣ信号配線、１３００：クロック乗り換え回路、１３０１，１３０２，１３１６：Ｄフリップフロップ、１３０３，１３０４：２分周器、１３０５：セレクタ、１３１０：Ｃ／Ａ＿ＩＮ０信号出力端子、１３１１：ＣＬＫ＿ＤＣ信号入力端子、１３１２：Ｃ／Ａ＿ＤＣ信号入力端子、１３１３：ＣＬＫ信号入力端子、１３１４：Ｃ／Ａ＿ＩＮ信号出力端子、１６０１：クロックイネーブル信号、１６０２：第１のクロックイネーブル信号、１６０３：第２のクロックイネーブル信号、１７００，１９００：バッファ、１７０２，１９０３：ＣＬＫ、１７０３，１９０４：ＤＱ，ＤＱＳ、１７０４，１９０２：Ｃ／Ａ。
【図１】
0004741226.tif 000002
【図２】
0004741226.tif 000003
【図３】
0004741226.tif 000004
【図４】
0004741226.tif 000005
【図５】
0004741226.tif 000006
【図６】
0004741226.tif 000007
【図７】
0004741226.tif 000008
【図８】
0004741226.tif 000009
【図９】
0004741226.tif 000010
【図１０】
0004741226.tif 000011
【図１１】
0004741226.tif 000012
【図１２】
0004741226.tif 000013
【図１３】
0004741226.tif 000014
【図１４】
0004741226.tif 000015
【図１５】
0004741226.tif 000016
【図１６】
0004741226.tif 000017
【図１７】
0004741226.tif 000018
【図１８】
0004741226.tif 000019
【図１９】
0004741226.tif 000020
【図２０】
0004741226.tif 000021