(57)【特許請求の範囲】
【請求項１】
それぞれ横長のモジュール基板上に複数のメモリチップを長手方向に配列して搭載する複数のメモリモジュールと、該メモリモジュールを制御するメモリコントローラとをマザー基板に搭載して構成されるメモリシステムであって、
前記メモリコントローラは前記マザー基板上で前記メモリモジュールの長手方向の延長方向に位置し、
前記メモリコントローラから各メモリモジュールには、該メモリモジュール内のメモリチップにアドレス・コマンド信号を供給する第１配線と、クロック信号を供給する第２配線が設けられ、更に前記メモリチップの各々と前記メモリコントローラの間で個別にデータ信号をそれぞれ授受するデータ信号配線が設けられ、
前記第１配線および第２配線はそれぞれ、前記メモリコントローラから遠端部で前記マザー基板上の配線から前記モジュール基板上の配線に接続され、かつ該モジュール基板上の配線は、それぞれ前記マザー基板上の配線からの接続部分から該モジュール基板上の各メモリチップに、前記メモリコントローラから遠いメモリチップの順に一筆書き状に接続する配線であり、
前記データ信号配線の各々は、各メモリチップから前記マザー基板上への接続部に至るモジュール基板上配線部分と、前記接続部から前記メモリコントローラに至るマザー基板上配線部分とを有し、各メモリチップからのデータ信号配線間で前記モジュール基板上配線部分は互いに等しい配線長であるのに対し、前記マザー基板上配線部分は各メモリチップから前記メモリコントローラへの距離差に相当する配線長の差を有し、
もって単一のメモリモジュール上に配列するメモリチップ同士で、前記メモリコントローラからの前記アドレス・コマンド信号の配線長と前記メモリコントローラへのデータ信号配線の配線長との和を均等化したことを特徴とするメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、
前記メモリコントローラは、前記メモリチップへのライトデータを前記データ信号配線にそれぞれ出力するライトデータ出力部に、前記メモリモジュールの各メモリチップで生じるライトデータとクロック信号との到着時間差を各メモリチップへのデータ信号配線ごとに補償する遅延時間調整回路を有することを特徴とするメモリシステム。
【請求項３】
請求項１記載のメモリシステムにおいて、
前記モジュール基板上の前記第１配線および第２配線は、それぞれ前記接続部から引き出されて遠端で終端抵抗により終端される一本の主結合線路と、前記主結合線路に順次近接して配置されてそれぞれ方向性結合器を構成し、各メモリチップにそれぞれ接続される副結合線路を含むことを特徴とするメモリシステム。
【請求項４】
請求項３記載のメモリシステムにおいて、
前記副結合線路は、その両端にそれぞれ別のメモリチップの入力ピンが接続され、かつ前記主結合線路の信号伝搬方向に対して後方側はメモリチップに内蔵する抵抗で終端されることを特徴とするメモリシステム。
【請求項５】
請求項３記載のメモリシステムにおいて、
前記第１配線および第２配線の終端抵抗はそれぞれ終端に位置するメモリチップに内蔵することを特徴とするメモリシステム。
【請求項６】
メモリチップがｘ方向又はｙ方向に少なくとも複数個配置されたメモリシステムであり、ｘ方向又はｙ方向の一方にメモリチップを複数個内蔵し、ｘ方向又はｙ方向の他方に複数個配置された前記複数のメモリモジュールと、前記複数のメモリモジュールとアドレス／コマンド線、クロック線、データ線を介して接続されたメモリコントローラとを具備してなり、前記メモリコントローラと前記複数のメモリモジュールのそれぞれとは対応するアドレス／コマンド線と対応するクロック線とを介して接続され、前記複数のメモリモジュールのある列の複数のメモリチップは対応するデータ線を介して前記メモリコントローラと接続され、前記複数のメモリモジュールの他の列の複数のメモリチップは他の対応するデータ線を介して前記メモリコントローラと接続されたメモリシステムに用いられる前記複数のメモリモジュールであって、
前記複数のメモリモジュールのそれぞれが内蔵する複数のメモリチップには、該複数のメモリチップに共通の前記アドレス／コマンド線の主結合線路と、該複数のメモリチップ各々に接続する前記アドレス／コマンド線の副結合線路を介して前記メモリコントローラからアドレス信号が供給され、前記アドレス／コマンド線の主結合線路は前記メモリコントローラから最遠の点で終端抵抗に接続されてなり、
前記複数のメモリチップには、該複数のメモリチップに共通の前記クロック線の主結合線路と、該複数のメモリチップ各々に接続する前記クロック線の副結合線路を介して、前記メモリコントローラからクロック信号が供給され、前記クロック線の主結合線路は前記メモリコントローラから最遠の点で終端抵抗に接続されてなることを特徴とする複数のメモリモジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置においてマルチプロセッサやメモリ等の素子間（例えばＣＭＯＳ等により構成されたデジタル回路間又はその機能ブロック間）での信号伝送のための技術に関し、特に、複数の素子が同一の伝送線に接続されデータ転送を行うバス伝送の高速化技術に関するものである。
【０００２】
特に複数のメモリモジュールとメモリコントローラを接続するバスとこれを用いるシステムに関する。
【０００３】
【従来の技術】
多数のノードが接続され高速にデータを転送するためには配線の伝搬遅延時間が無視できなくなっている。特にＤＤＲ−ＳＤＲＡＭ（Double Data Rate Synchronouse DRAM)ではデータの動作周波数がアドレスのそれに対して２倍となっており、バス配線上のノイズの影響で高速化が難しくなってきている。これを解決する方法として特願平５−２３８０７「非接触バス」、特願平１０−３０６６４５「方向性結合式バスシステム」、特願平１１−１３０９５７「方向性結合式バスシステム」、特願平２０００−１２６２３４「方向性結合式バスシステム」、特願平２０００−１２６２３４「方向性結合式バスシステム」があった。
【０００４】
そして、バス配線長が長い場合、データ信号の伝搬にはメモリコントローラから近いモジュールと遠いモジュールでは伝搬遅延時間に差ができてしまう。このため、クロック信号を共通な位相で分配する方式では充分なタイミングマージンが取れなくなってきており、更に情報処理装置においてメモリに対するアクセスはライトアクセスよりもリードアクセスが一般的には多いので、リードアクセスのレイテンシーを向上した方が情報処理性能が上がる。これを解決するメモリバス方式として特願２０００−１５２６６７号「リード優先メモリシステム」があった。これの基本方式の１形態を図１４に示す。
【０００５】
メモリコントローラ１とメモリモジュール２０−１、２０−２内のＤＲＡＭ１０との信号伝送において、リードアクセスを優先するようにクロック信号の伝搬方向をメモリコントローラ１からでなく、最遠端のモジュール２０−４内のＤＲＡＭ１０からのデータ信号と同じ伝搬遅延時間になるようにクロック信号３０を配線する。これによりメモリコントローラ１においてクロック信号３０とリードデータ信号の信号配線３１の伝搬遅延時間が同じとなるため、メモリコントローラ１でのリードデータの処理が待ち時間無しで出来る。そのためリードアクセス性能がシステムとして向上することが出来ていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、ＤＲＡＭの速度が向上するに従いアドレス・コマンド信号の速度もデータ信号の半分とはいえ向上するので、アドレスの信号配線のノイズが顕著になってきている。例えば、ＤＤＲ−ＳＤＲＡＭにおいて１００Ｍｂｐｓ（Ｍｅｇａ  ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）の場合、アドレスの転送速度は５０Ｍｂｐｓであるが、データ転送レートが１Ｇｂｐｓに向上する場合は５００Ｍｂｐｓとなる。
【０００７】
図１５に従来技術であるＤＤＲ−ＳＤＲＡＭメモリシステムの配線を示している。１はメモリコントローラ（以下ＭＣ）、２０−１〜２０−４はメモリ１０を複数搭載するメモリモジュールである。この図では１つのメモリモジュールに４つのＤＲＡＭ１０が搭載されているが、システムの要求によりメモリ１０の個数はこれよりも多いことも少ないこともある。ＭＣ１からメモリ１０に対して送受信する信号にはデータ信号３１とアドレス・コマンド信号３２、チップセレクト３３（以下ＣＳ信号３３）およびクロック信号３０がある。これらの配線は、データ信号３１は、図１５中の同一のＹ座標上にあるモジュール２０−１〜２０−４内のメモリ１０に対してそれぞれ配線されており、クロック信号３０も同じである。しかしながらアドレス・コマンド信号３２は全チップに分岐配線されている。他方チップセレクト信号３３はモジュール単位に配線されている。
【０００８】
図１５ではＭＣ１からのメモリアクセスは次のように行っている。ＭＣ１はクロック信号３０に同期してアドレス・コマンド信号３２とＣＳ信号３３を送信する。ＣＳ信号３３により選択されたメモリモジュールのみ活性化し、このメモリモジュール内のＤＲＡＭ１０に入力されているアドレス・コマンド信号３２に応じたＤＲＡＭ１０内のメモリセルに対してライト動作、リード動作を行う。このため、すべてのメモリ１０に対して同じアドレス・コマンド信号３２が入力されても、ＣＳ信号３３でメモリモジュールが選択されているためデータ信号３１配線上では、２つのメモリ１０から同時に出力されるといういわゆるバスの衝突は起こらない。
【０００９】
しかしながら、図１５のような従来技術で用いられたアドレス・コマンド信号３２ではアドレス・コマンド信号３２が各モジュール２０−１〜２０−４への配線が共有されかつ分岐されていた。このような分岐による配線方式では２００Ｍｂｐｓを越えるような高速な動作をする場合、波形歪みが大きく、高速な信号転送が困難になるという課題があった。
【００１０】
またある設計では、アドレス・コマンド信号３２の高速動作のため各モジュール２０−１〜２０−４内にバッファを設けている場合があった。これにより、アドレス・コマンド信号３２の配線はＭＣ１から各モジュール２０−１〜２０−４内のバッファ入力までとなり、バッファがない場合と比べて配線上の負荷の分散が図られた。
【００１１】
しかしながら、データ信号３１とは異なりモジュール２０−１〜２０−４内のバッファを介するためにアドレス・コマンド信号３２の伝搬遅延時間がバッファを通過する分余分に長く掛かりアドレス・コマンド信号３２のアクセスが遅くなり、システムがアドレス・コマンド信号のレイテンシで律速されるので、システム性能が出ないという課題があった。
【００１２】
また、他の課題として、アドレス・コマンド信号３２を各メモリモジュール２０−１、２０−２へ分配する場合、アドレス・コマンド信号３２はデータ信号３１、クロック信号３０の配線方式、配線長が異なるためＭＣ１から各モジュール２０−１〜２０−４に対して伝搬遅延時間がさまざまに異なっていた。このため、ＭＣ１のアドレス出力ピンから離れれば離れるほどクロック信号３０及びデータ信号３１との位相差が大きくなっており、このことにより、メモリの位置によりＭＣ１からの配線遅延時間が異なりＭＣ１内のタイミング制御が複雑になっていた。そのためタイミング設計を複雑にしていた。
【００１３】
尚、本発明は、前記課題のうちの少なくとも１つを解決するものである。
【００１４】
【課題を解決するための手段】
複数のメモリモジュールが接続されるメモリシステムにおいて、アドレスの高速化を図るため、メモリコントローラから各モジュール毎にアドレス信号が配線され、モジュール内にて方向性結合器を用いた。
【００１５】
つまり、アドレス・コマンド信号をモジュール毎に個別に分配する。これにより、アドレス・コマンド信号の分岐が無くなり、波形の歪みが極端に小さくなる。これにより、アドレス信号は高速動作に動作する。
【００１６】
また、モジュール内にバッファを用いなくても分岐が無く配線のみで信号伝搬することが可能となる。
【００１７】
更に、アドレス・コマンド信号をメモリモジュール内に方向性結合器を設けることでアドレスの伝搬遅延速度をさらに高めることができる。これはバス接続されるＬＳＩの入力容量が結合により小さく見えるためである。このため、データ信号とアドレス・コマンド信号の伝搬遅延速度がほぼ等しくなり、基板配線込みのタイミング設計が容易になる。
【００１８】
【発明の実施の形態】
第１の実施例を図１を用いて説明する。９９はメモリバスであり、以下述べるメモリアクセスに掛かる部品を有する。１００はメモリシステムを構成する部品を搭載する基板（マザーボード）であり、図１はその鳥瞰図である。図１ではメモリバス９９を構成する部品・配線のみ記してある。１はメモリコントローラ制御機構を有するＬＳＩチップ(以下MC: Memory Controllor)であり、マザーボード１００上に実装されている。２０−１〜２０−４はメモリチップ１０−１〜１０−８を複数個搭載したメモリモジュールである。メモリチップは、例えば、ＤＲＡＭ等である。モジュール２０−１〜２０−４は電源・グランドピンとデータ信号用、アドレス・コマンド信号用、クロック信号用など信号ピンを持つ。図１では、４個のメモリモジュールがマザーボード１００に実装されている。モジュール２０−１〜２０−４内にはメモリ１０−１〜１０−８が８個搭載されている。このモジュールは４個以上でもこれ以下でも、またメモリの個数は８個以上でもこれ以下でも目的・効果は同じである。
【００１９】
３１はＭＣ１とメモリ１０−１〜１０−８間のデータを伝達するデータ信号であり、マザーボード１００上に形成された方向性結合器（Ｃ１）を用いて電気信号が伝搬することにより伝達される。以下、信号と信号用の配線は、特に示さない限り、信号と呼ぶことにする。
【００２０】
図１中に点線で示されたＣ１は、マザーボード１００に形成された方向性結合器の一つであり、この方向性結合線路は平行な有限の長さを持つ２線、すなわち主結合線路と副結合線路からなる。図１の方向性結合器Ｃ１はＭＣ１とメモリモジュール２０−１内のメモリ１０−８のデータ信号を接続する働きをするが、他のメモリモジュール、メモリのデータ信号に対しても同様な働きをする方向性結合器をマザーボード１００は有する。これらは簡単のため図には示されていない。
【００２１】
ここで方向性結合器Ｃ１の構成は、主結合線路がＭＣ１からのデータ信号３１であり、マザーボード１００内に配線され配線の遠端を終端抵抗により整合終端されている。副結合線路は各モジュール２０−１〜２０−４のデータ信号ピンにコネクタ９０を介して接続され、他方の端は抵抗により終端されている。
【００２２】
この方向性結合線路は先に述べた従来技術の特願平５−２３８０７「非接触バス」、特願平１０−３０６６４５「方向性結合式バスシステム」、特願平１１−１３０９５７「方向性結合式バスシステム」、特願平２０００−１２６２３４「方向性結合式バスシステム」、特願平２０００−１２６２３４「方向性結合式バスシステム」に同じである。
【００２３】
３２はアドレス・コマンド信号である。アドレス・コマンド信号３２はマザーボード１００内をＭＣ１から各モジュール２０−１〜２０−４にそれぞれ配線される。この各モジュール２０−１〜２０−４に配線されるそれぞれのアドレス・コマンド信号３２の本数は、メモリモジュール２０−１〜２０−４のアドレス・コマンド信号ピン数と同じである。各モジュール２０−１〜２０−４に配線されるアドレス・コマンド信号３２の本数は、モジュール２０−１〜２０−４内のメモリ１０が持つ記憶容量により異なり通常の場合２０〜２５ｂｉｔ程度ある。図１ではこの約２０ｂｉｔのアドレス・コマンド信号３２がそれぞれ分岐無しで各モジュール２０−１〜２０−４に配線されている。このアドレス・コマンド信号３２はデータ信号３１とは異なりマザーボード１００内では方向性結合線路は構成しておらず、１つの信号に対して１つの配線がＭＣ１から各モジュール２０−１〜２０−４用のコネクタ９０まで配線されている。
【００２４】
図１では図示されていないが、クロック信号３０もＭＣ１から各モジュール２０−１〜２０−４へ配線されている。この配線は各モジュール２０−１〜２０−４に対するアドレス・コマンド信号３２と同じ配線長を有している。このため、アドレス・コマンド信号３２とクロック信号３０はＭＣ１から見て同じ伝搬遅延時間で各メモリモジュール２０−１〜２０−４に到達する。モジュール２０−１〜２０−４内のデータ信号は、モジュールのピンからメモリ１０−１〜１０−８まで等長に配線されている。モジュール２０−１〜２０−４内のアドレス・コマンド信号３２、クロック信号３０はモジュール内にて方向性結合器を形成している。アドレス・コマンド信号３２は図１の向かって右下から一旦上に上がり、向かって左側に配線されている。アドレス・コマンド信号３２は図にはないが遠端を反射を無くすため抵抗により終端されている。このモジュール２０−１〜２０−４内のアドレス・コマンド信号３２の配線は方向性結合線路の主結合器を構成し、これに近接して平行に配線されている副結合器にメモリ１０が接続されている。このような構成により、モジュール２０−１〜２０−４内のアドレス・コマンド信号３２は方向性結合器を用いてＭＣ１から各メモリ１０−１〜１０−８へデータが転送される。
【００２５】
このようにモジュール２０−１〜２０−４内のアドレス・コマンド信号３２は方向性結合器を用いているので、分岐による信号歪みがきわめて小さい。このことはアドレス・コマンド信号３２の高速化が容易であることを示している。
【００２６】
次にＭＣ１と各モジュール２０−１〜２０−４内のメモリ１０−１〜１０−８の配線長差によるスキュー（伝送時間のばらつき）がリードアクセスでは小さいことを説明する。
【００２７】
図１において、ＭＣ１はモジュール２０−１〜２０−４のおおよそ長辺方向（ｘ方向）に位置している。マザーボード１００上のデータ信号３１はＭＣ１からｘ方向に引き出され、ｙ方向に折り曲がってモジュール２０−１〜２０−４へ配線されている。モジュール２０−１〜２０−４内のアドレス・コマンド信号３２もｘ方向に配線されている。このため、ＭＣ１に対してモジュール２０−１〜２０−４内のメモリ１０ー１〜１０−８には近遠が生じる。同じモジュール内に搭載されるメモリであってもデータ信号３１は、ＭＣ１に近いメモリ１０−８に対して短い伝搬遅延時間で、遠いメモリ１０−１に対しては長い伝搬遅延時間となっている。このデータ信号３１のＭＣ１からのメモリ１０−１、１０−８までの伝搬遅延時間の差はマザーボード１００内のデータ信号３１の配線長差に比例し、この配線長差にマザーボード１００の伝搬速度（Ｖｐ）を掛けた伝搬遅延時間差に等しい。
【００２８】
同様にアドレス・コマンド信号３２はモジュール２０−１〜２０−４の右端から順にメモリ１０−１、１０−２・・・、１０−８と接続されているので、ＭＣ１に対して近いメモリ１０−８は最も長い伝搬遅延時間を持ち、ＭＣ１に対して最も遠い（右側）にあるメモリ１０−１に対しては最も短い伝搬遅延時間を持つ。このメモリ１０−１と１０−８間の伝搬遅延時間差はモジュール２０−１〜２０−４内のアドレス・コマンド信号３２の配線長差に伝搬速度を掛けた伝搬遅延時間差に等しい。
【００２９】
通常、マザーボード１００とモジュール２０−１〜２０−４の材料は同じガラスエポキシ樹脂系であり、同じ比誘電率すなわち同じ伝搬速度を持つ。しかし１つの配線に複数のＬＳＩがバス接続されている場合、ＬＳＩの入力容量により伝搬速度が遅くなるが、本実施例の方向性結合器を用いたバス接続ではＬＳＩの入力容量が主結合線路に直接接続されていないので伝搬速度の遅れはほとんどない。このため、ＭＣ１に対する伝搬遅延時間差は、各メモリ１０−１〜１０−８のモジュール内配線長差に比例することになる。すなわち、データ信号３１、アドレス・コマンド信号３２、クロック信号３０ともに伝搬速度が同じであるので、メモリ１０−１〜１０−８間の伝搬遅延時間差は配線長差に比例することになる。
【００３０】
図１の構成において、ＭＣ１から同一モジュール内の各メモリ１０−１〜１０−８までの配線で、アドレス・コマンド信号３２の配線長とデータ信号３１の配線長の和はほぼ等しくなる。差は図１のｙ方向のデータ信号３１の配線長差だけである。このことにより、ＭＣ１からのリードアクセスでは、ＭＣ１からのリードアクセス要求時刻から各メモリ１０からのデータ信号をＭＣ１が受け取る時刻までの時間はほぼ等しい。このため、本実施例の構成ではリードアクセスに対してメモリ１０間のスキュー調整の必要が無くタイミング設計が容易である。このため情報処理装置がライトアクセスよりもリードアクセスの方が大幅に多いシステムではそのシステム性能を大きく向上することができる。
【００３１】
図１に対応する回路図を図２に示す。図１に対して同じ機能の要素に対しては同じ記号を用い説明を省略する。以下の説明でも同じである。
【００３２】
図２においてメモリモジュール２０−１〜２０−４は視認性を良くするため点線で示した。配線接続は図１に同じであるが、図１で明示していないところを中心に説明する。
【００３３】
データ信号３１はＭＣ１から引き出され最遠端で抵抗により終端されている。この終端部は白抜きの四角で示した。終端部は終端抵抗（Ｒｔｔ）の一方の端が終端電源（ＶＴＴ）に接続され他方の端を配線に接続されている。マザーボード１００内に構成された方向性結合器のうち副結合器は、ＭＣ１に対して前方側がすべて信号３１で終端されている。ここで前方とは主結合配線を信号が流れる向きに対していう。なお、図２ではデータ信号３１の方向性結合器と終端抵抗はマザーボード１００内に構成・実装されている。
【００３４】
また、アドレス・コマンド信号３２と、クロック信号３０はＭＣ１から図２の向かって右端まで引き出され、モジュール２０−１〜２０−４に折り返し配線されている。アドレス・コマンド信号３２とクロック信号３０はモジュール２０−１〜２０−４内にて方向性結合器を構成し、その主方向結合線路は遠端を抵抗により終端されている。また、各メモリ１０−１〜１０−８に接続される副結合線路の他方の端も終端される。
【００３５】
図２においてＭＣ１のメモリアクセスにかかる信号は以下のように動作する。ＭＣ１にはＡ１、Ａ２、Ａ３、Ａ４と書かれたアドレス・コマンド信号３２の出力信号がある。それぞれのアドレス・コマンド信号３２Ａ１〜Ａ４がモジュール２０−１〜２０−４へ配線されている。また、アドレス・コマンド信号３２はそれぞれメモリモジュールに応じて２０〜２５ビットの信号からなる。データ信号３１に関してもＭＣ１にはＤ１〜Ｄ４の入出力信号があり、クロック信号３０もＭＣ１にはＣ１〜Ｃ４の出力信号がある。
【００３６】
ＭＣ１はプロセッサバスや周辺回路を接続するI/Oバスなどシステムバス９８とメモリバス９９を接続し、システムバス９８のメモリアクセス要求に従いメモリバス９９を読み書き制御する。メモリバス９９はアドレス・コマンド信号３２、データ信号３１、クロック信号３０からなり、メモリに対して読み書きを行う。クロック信号３０は電源投入後ＭＣ１から送信され続ける。勿論、スリープモードなどの省電力モードでは一時休止されうる。
【００３７】
ＭＣ１は要求アドレスに対応するＭＣ１内のアドレス・コマンド信号３２のＡ１〜Ａ４のうち一つを選択し、このアドレス・コマンド信号に接続されているモジュール２０−１〜２０−４の一つが選択されることになる。すなわち、ＭＣ１に４つあるアドレス・コマンド信号３２のＡ１〜Ａ４はモジュール毎のＣＳ信号を兼ねていることになる。つまり、ＣＳ信号はこのメモリシステムでは不要であり、この信号のための回路、配線、ピンが不要となるので低価格化に寄与する。
【００３８】
アドレス・コマンド信号３２は、アドレスモードとコマンドモードの２つの機能を有するが、コマンドモードではメモリ１０−１〜１０−８にメモリ１０を初期化したり、オートリフレシュさせたりする命令信号である。メモリアクセスではアドレスモードとして振る舞う。リードアクセス時のアドレス・コマンド信号３２はクロック信号３０に同期してＭＣ１からその他のコントロール信号と共に出力され、アクセス要求のある番地に対応するアドレスをＣＡＳ信号、ＲＡＳ信号に分け各メモリ１０に伝達される。データ信号３１はメモリ１０−１〜１０−８のメモリセルから要求のあったアドレスに対応するデータを出力する。このデータはデータ信号３１の配線を通じてＭＣ１に伝達される。
【００３９】
ライトアクセスではアドレス・コマンド信号３２はクロック信号３０に同期してＭＣ１からその他のコントロール信号と共に出力され、アクセス要求のある番地に対応するアドレスをＣＡＳ信号、ＲＡＳ信号に分け各メモリ１０−１〜１０−４に伝達される。ここで、ライトデータは各メモリ１０−１〜１０−８のクロック信号３０が到達する時刻に各メモリ１０−１〜１０−８に到達するように時間調整されてＭＣ１から出力される。ＭＣ１はここでは示されていないプロセッサなど他のデバイスからシステムバス９８を介してメモリアクセス要求があった場合に各メモリ１０−１〜１０−８に対してアクセスを行うがその単位はモジュール毎に行う。
【００４０】
次にライトアクセス時のデータ信号３１のタイミング制御を、ＭＣ１の内部構造を図３を用いて説明する。ＭＣ１にはシステムクロック３５が入力されている。これはＰＬＬ(Phase Lock Loop)やＤＬＬ(Delay Lock Loop)などの位相調整回路１Ａを介してＭＣ１内の複数のブロックに分配される。メモリアクセスのための入出力回路（Ｉ／Ｏ回路）はＭＣ１内の右側に示してあり、クロック信号３０用の出力回路、アドレス・コマンド信号３２用の出力回路、データ信号３１用の入出力回路がある。データ信号３１は図３ではＤ１〜Ｄ４にグループ分けされており、これは図２のような接続がなされている。
【００４１】
すべてのメモリバス９９の信号はコアロジック１Ｌと通信するためフリップフロップ(Flip Flop)回路１Ｃでクロックφに同期がとられている。このクロック信号φは、位相調整回路１Ａの出力信号である。クロック信号３０はクロックφに同期して出力される。アドレス・コマンド信号３２も同様にクロックφに同期して出力される。
【００４２】
データ信号３１は入力と出力で回路構成が異なる。先に説明したような配線が基板になされている場合、データ用の入力回路１Ｄにはすべてのデータ信号３１がほぼ同じタイミングで外部から信号が入力する。このためデータ用入力回路１Ｄは同じタイミングでラッチできる。このため、ＭＣ１内部クロックφに再同期化のためのよけいなレイテンシーが必要ない。このため、データ入力用の回路構成が単純となり面積も小さく安く高精度に構成することができる。
【００４３】
他方ライトデータに対してはデータ信号３１毎に遅延時間差を持たせる必要がある。ＭＣ１内のデータ出力フリップフロップの１Ｃはクロックφに同期して出力される。１Ｂは調整可能な遅延回路（遅延時間調整回路）でアクセス要求アドレスによりディレー量をライトアクセス毎に調整しており、遅延時間調整回路１Ｂは、図２のモジュール２０−１〜２０−４内のメモリ１０−１〜１０−８に対して分配されるクロック信号３０と同時刻でライトデータが到達するように遅延時間が調整される。遅延量はモジュールに依っても異なるし、モジュール内のメモリ１０の位置に対しても異なる。遅延時間を制御するのは制御回路１Ｆである。制御回路１Ｆには、データ３１のビット毎にレジスタ１Ｇを持ち、このレジスタ値は遅延回路１Ｂの遅延時間に対応する。すなわち、制御回路１Ｆはレジスタ１Ｇのレジスタ値を変えることでビット毎の遅延時間を制御できる。このレジスタ１Ｇのレジスタ値はライトデータを出力する前に設定される。なお、遅延回路１Ｂは２つのインバータを１組として、これを多段用意し、所望の遅延時間に等しいないしは近い段数を選択することで遅延時間を可変とできる。この遅延回路の段数選択を制御回路１Ｆ内のレジスタ１Ｇに設定することでなされる。
【００４４】
例として、図２のモジュール２０−１に対してライトする場合であってＭＣ１から見て最遠端のメモリ１０−１に対してのライトデータを書き込む場合は、クロック信号３０（Ｃ１）とデータ信号３１（Ｄ１）の遅延時間差の小さい遅延量を遅延回路１Ｂで生成してクロック信号３０とほぼ同じタイミングでデータ信号３１（Ｄ１）を出力すればよい。ここで遅延回路１Ｂで生成された遅延量は、ＭＣ１からメモリ１０−１までのクロック信号３０（Ｃ１）配線とデータ信号３１配線を伝搬するときの伝搬遅延時間差に等しい。こうすることでメモリ１０−１ではデータ信号３１（Ｄ）がクロック信号３０と同着し２つの信号の位相が等しくなる。
【００４５】
しかしながら、ＭＣ１に対して最近端のメモリ１０−８対しては、メモリ１０−１からメモリ１０−８のモジュール２０−１内のクロック信号３０の無視できない伝搬遅延時間がある。メモリ１０−８においてクロック信号３０とデータ信号３１（Ｄ８）との位相をそろえるためにはこの差分の時間だけ遅くデータ信号３１（Ｄ８）を出力すればよい。この遅延量をデータ信号３１（Ｄ８）用のレジスタ１Ｇに出力に先立ち設定することで、遅延回路１Ｂが信号を遅延させる。
【００４６】
同様にＤ２、Ｄ３に対してもモジュール２０−１上のクロック信号３０の配線遅延時間遅延を持たせる。このようにすることで、すべてのメモリ１０−１〜１０−８においてクロック信号３０とデータ信号３１の位相が同程度となり書き込み動作のためのタイミングを正確に調整できることになる。
【００４７】
またモジュール２０−４に対するデータ信号３１の伝搬遅延時間は、モジュール２０−１のそれに対してデータ信号３１用の４つの方向性結合器を通過する時間分、データ信号３１全体として遅れて到達する。このため、モジュール２０−４に対してデータ信号３１は該遅延時間分早くデータ信号３１を出力することになる。この遅延時間はデータ信号３１に対してＤ１〜Ｄ４すべてに一定であるので、ある一定値をオフセットとして加えればよい。
【００４８】
ＭＣ１内のライトデータに掛かる遅延時間はモジュール２０−１〜２０−４毎、メモリ１０−１〜１０−８毎に異なるが、ＭＣ１は対象とするメモリ１０毎にレジスタ値をテーブルの形で有しておれば良く、このレジスタ値をライトアクセスに先んじて設定すればよい。しかも、ＭＣ１はアドレスをライトデータ出力前に分かっているからこのレジスタ値の変換とそれに掛かる遅延時間調整回路１Ｂの遅延量を変えることは簡単である。
【００４９】
レジスタ１Ｇのレジスタ値と遅延時間の関係であるが、マザー基板１００の誘電率は明らかなので設計の段階で固定値として持っておいても良いし、ＭＣ１に専用の配線と回路を持たせることで計測しても良い。当然後者の方が製造バラツキに対して精度が高い。また、本実施例では、遅延調整回路１Ｂはフリップフロップ１Ｃとドライバの間としたが、上記と同様の効果を奏する任意の位置に配置可能である。フリップフロップ例えば、フリップフロップ１ＣよりもＭＣ１側に配置しても同じ効果を与える。この場合データ信号３２のいくつかは遅延調整回路１Ｂを共有できるので回路規模が小さくなるという効果がある。
【００５０】
このようにして、リードデータに対しては再同期化が必要でなくレイテンシが最短となる効果がある。又、ライトデータに対しても各メモリ１０に対してクロック信号３０にタイミングがあった位相でデータ信号３１を出力することができる。
【００５１】
このようにして、図１、図２、図３を用いて説明したようにアドレス・コマンド信号３２と、クロック信号３０をＭＣ１から併走して配線し、この信号の配線長とデータ信号３１との配線長の和がどのメモリ１０−１〜１０−８に対しても等しくなるようにすることで、リードアクセスにおけるデータをＭＣ１において位相をそろえて入力することができるが、更にアドレス・コマンド信号３２をモジュール２０−１〜２０−４毎に配線することで、アドレス・コマンド信号３２の伝搬遅延時間のモジュールバラツキが無くなる。また、アドレス・コマンド信号３２をモジュール２０−１〜２０−４内に方向結合器を設けて伝送させることでモジュール２０−１〜２０−４内のアドレス・コマンド信号３２の伝搬遅延時間とマザーボード１００の伝搬遅延時間が等しくなり、モジュールが異なるリードアクセスにおけるデータ信号３１を極めて小さいスキューでＭＣ１は取り込むことが可能になった。
【００５２】
第２の実施例として、モジュールを１枚のみ持つシステム構成を図４を用いて説明する。本実施例では、ノート型パソコンのように搭載枚数が１枚あるいは２枚のような小型情報処理装置に向いている。図４ではモジュールが１枚で充分な機器用のメモリバス構成である。
【００５３】
クロック信号３０、アドレス・コマンド信号３２はＭＣ１から出力されモジュールの最遠端で折り返されモジュール２０内で方向性結合器を用いて各メモリ１０−１〜１０−４のアドレス信号ピンに入力される。データ信号３１はＭＣ１とメモリ１０−１〜１０−４間を１対１接続されている。データ信号３１は３つ以上のＬＳＩを接続するバスではなく、１対１接続なので方向性結合器は必要ない。
【００５４】
図４において、ＭＣ１は、メモリモジュール２０のおおよそ長辺方向（ｘ方向）に位置している。マザーボード１００上のデータ信号３１はＭＣ１からｘ方向に引き出され、ｙ方向に折り曲がってモジュール２０へ配線されている。モジュール２０内のアドレス・コマンド信号３２もｘ方向に配線されている。このため、ＭＣ１に対してモジュール２０内のメモリ１０の位置には近遠が生じる。同じモジュール内に搭載されるメモリであってもデータ信号３１は、ＭＣ１に近いメモリ１０−４に対して短い伝搬遅延時間で、遠いメモリ１０−１に対しては長い伝搬遅延時間となっている。この２つのメモリへの伝搬遅延時間の差はマザーボード１００内のデータ信号３１の配線長差に比例し、この配線長差にマザーボード１００の伝搬速度（Ｖｐ）を掛けた伝搬遅延時間差に等しい。
【００５５】
同様にアドレス・コマンド信号３２はモジュール２０の右端から順にメモリ１０−１〜１０−４と接続されているので、ＭＣ１に対して近いメモリ１０−４は最も長い伝搬遅延時間を持ち、ＭＣ１に対して最も遠い（右側）にあるメモリ１０−１に対しては最も短い伝搬遅延時間を持つ。この２つの伝搬遅延時間差はモジュール２０内のアドレス・コマンド信号３２の配線長差に伝搬速度を掛けた伝搬遅延時間差に等しい。
【００５６】
通常、マザーボード１００とモジュール２０の材料は同じガラスエポキシ樹脂系であり、同じ比誘電率すなわち同じ伝搬速度を持つ。しかし１つの配線に複数のＬＳＩがバス接続されている場合、ＬＳＩの入力容量により伝搬速度が遅くなるが、本実施例の方向性結合器を用いたバス接続ではＬＳＩの入力容量が主結合線路に直接接続されていないので伝搬速度の遅れはほとんどない。このため、ＭＣ１に対する伝搬遅延時間差は、各メモリ１０−１〜１０−４のモジュール内配線長差に比例することになる。すなわち、データ信号３１、アドレス・コマンド信号３２、クロック信号３０ともに伝搬速度が同じであるので、メモリ１０−１〜１０−４間の伝搬遅延時間差は配線長差に比例することになる。
【００５７】
図４の構成において、ＭＣ１から同一モジュール内の各メモリ１０−１〜１０−４までの配線で、アドレス・コマンド信号３２の配線長とデータ信号３１の配線長の和はほぼ等しくなる。差は図４のｙ方向のデータ信号３１の配線長差だけである。このことにより、ＭＣ１からのリードアクセスでは、ＭＣ１からのリードアクセス要求時刻から各メモリ１０からのデータ信号をＭＣ１が受け取る時刻までの時間はほぼ等しい。このため、本実施例の構成ではリードアクセスに対してメモリ１０間のスキュー調整の必要が無くタイミング設計が容易である。このため情報処理装置がライトアクセスよりもリードアクセスの方が大幅に多いシステムではそのシステム性能を大きく向上することができる。
【００５８】
モジュール２０内のアドレス・コマンド信号３２の伝搬遅延時間がシステム動作周波数によりタイミングマージンを持つ場合は勿論図５のようにアドレス・コマンド信号３２を直接メモリ１０−１〜１０−４に順に接続しても良い。図５のように直接接続する場合にはメモリ１０−１〜１０−４の持つ入力静電容量により伝搬遅延時間の遅れが生じるが、その場合でもシステムのタイミングマージンがある場合はマージンの範囲内でアドレス・コマンド信号３２の伝搬速度遅れを許容できる。このような場合でも、リードアクセスに対してはデータ信号３１のＭＣ１への到達時間がほぼそろうのでＭＣ１内での再同期化ロスが少ない。
【００５９】
このような構成をとることで、第一の実施例と同じ効果が生まれる。すなわち、アドレス・コマンド信号３２と、クロック信号３０をＭＣ１から併走して配線し、この信号の配線長とデータ信号３１との配線長の和がどのメモリ１０−１〜１０−８に対しても等しくなるようにすることで、リードアクセスのデータ信号３１がＭＣ１において位相をそろえることができる。また、アドレス・コマンド信号３２をモジュール２０−１〜２０−４内に方向結合器を設けて伝送させることでリードアクセスにおけるデータ信号３１を極めて小さいスキューでＭＣ１は取り込むことが可能になった。なぜならばモジュール２０−１〜２０−４内のアドレス・コマンド信号３２の伝搬遅延時間は方向性結合器を用いているものの、主結合線路はいかなるデバイスも直接接続されていないのでその伝搬速度はマザーボード１００の伝搬速度と同じであり両者の遅延時間は等しいからである。
【００６０】
第３の実施例を図６を用いて説明する。本実施例は、モジュール内のアドレス・コマンド信号３２の各メモリへの到達時刻をメモリの位置順にすることを目的としている。
【００６１】
図６（Ａ）はモジュール２０ａ内の図５に対応するアドレス・コマンド信号３２、クロック信号３０、及びデータ信号３１の配線を持つ。すなわち、アドレス・コマンド信号３２とクロック信号３０はモジュール２０ａのコネクタに接続されるエッジ電極（ピン）から引き出され、各メモリ１０−１〜１０−８を順に直接配線されて遠端で終端されている。データ信号３１はエッジ電極から各メモリ１０−１〜１０−８まで等長に配線されている。このような配線の場合アドレス・コマンド信号３２の配線本数は信号の数に等しく高密度化を簡単になすことができる。しかし、伝搬遅延時間が延びてしまうという副作用もある。これを用いられるかはシステムのタイミングマージンによる。
【００６２】
図６（Ｂ）は、図２或いは図４に対応したモジュールである。図６（Ｂ）は図６（Ａ）と同様に、モジュール２０ａ内の図５に対応するアドレス・コマンド信号３２、クロック信号３０、及びデータ信号３１の配線をもつ。データ信号３１はエッジ電極（ピン）２５から各メモリ１０−１〜１０−８まで等長に配線されている。アドレス・コマンド信号３２とクロック信号３０はモジュール２０ａのコネクタに接続されるエッジ電極２５から引き出され、各メモリ１０−１〜１０−８を順に方向性結合器を介して配線されて遠端で終端される。方向性結合器のうち主結合配線はメモリ１０−１〜１０−８で副結合配線が重ならないように共用されている。副結合配線は一方の端を各メモリ１０−１〜１０−８の入力ピンに直接接続され、他方の端を終端抵抗により整合終端されている。この場合、メモリ１０−１〜１０−８には後方クロストークが生じメモリ１０−１〜１０−８の入力パッドで反射するので副結合配線に誘起されたおおよそ２倍の信号が生成されるという特徴を持つ。また、構成から明らかなようにアドレス・コマンド信号３２はメモリ１０−１、１０−２、１０−３、．．．１０−８の順に伝達するので、第一の実施例と組み合わせてリードデータのスキューを最小にできる。
【００６３】
図６（Ｃ）は図６（Ｂ）に対して終端抵抗を無くし高密度化を達成した実施例である。本実施例では副結合線路を２つのメモリで共有している。構成としては、アドレス・コマンド信号３２が方向性結合器の主結合線路となっており遠端で終端されている。メモリ１０−１に対してはこの主結合線路に対して片方の側に隣接して平行して有る距離（３０ｍｍ程度）配線されている。この副結合線路の一方の端はメモリ１０−１の入力ピンに接続されているが他方の端はメモリ１０−３の入力ピンに接続されている。この２つのメモリ１０−１、１０−３の入力ピンはパッケージ上それぞれ同じ位置にある。
【００６４】
更に、接続されたピンから見た入力インピーダンスはメモリ１０−１とメモリ１０−３で異なり、メモリ１０−１は開放（Ｈｉ−Ｚ）、メモリ１０−３は終端されている。同様にメモリ１０−２とメモリ１０−４は副結合線路を共有し、主結合線路上を流れる信号の信号源側に近い方（メモリ１０−２）がその入力インピーダンスが高く、他方側が（メモリ１０−４）が終端されている。そして、このメモリ１０−２と１０−４で共有される副結合線路は、メモリ１０−１と１０−３で共有される副結合線路に対して主結合線路とは反対側に配線されている。このため、主結合線路は両側に同じ距離を保って平行配線である副結合配線が有ることになる。すなわち３線が並んでいることになる。同様にメモリ１０−５〜１０−８に対しても同じ構成の配線構造を持つ。このため、方向性結合器はメモリがある間隔で並んでいる場合、その２つ分の間隔を結合長として持つことができる。信号振幅は結合長に依存するので長い方が信号をより確実でキャプチャすることができる。
【００６５】
次に図７を用いて図６（Ｃ）のモジュール２０Ｃを伝搬する信号の時間関係を説明する。横軸は時間であり、縦軸は電圧である。ＭＣ１からアドレス信号が出力され（時刻Ｔ０）、モジュール２０Ｃ内の方向性結合器に到達すると（時刻Ｔ１）、まず、メモリ１０−１に誘導電圧が到達する（時刻Ｔ１）。このメモリ１０−１の入力インピーダンスは開放であるのでここで全反射が生じる。主結合線路上を図６（Ｃ）では向かって左側に伝搬していくが、この反射波が伝搬するスピードは主結合線路のそれと同じである。なぜならば、誘電率が同じ材料（エポキシ樹脂）で囲まれているためである。さらに、副結合線路上を伝搬する反射波の波頭(wave-front)と主結合線路を伝搬するアドレス信号の波頭はほぼ同じ位相で進行する。なぜならばメモリ１０−１には副結合線路が直接入力ピンに接続されているため、結合器で誘導された後方クロストークがこの入力ピン部ですぐさま反射するためである。正確には、メモリ１０−１のパッケージの往復遅延時間が反射波に遅延を起こさせるが、最近のＤＲＡＭではＣＳＰ（Chip Scale Package）など非常に小さいパッケージが用いられているのでほとんどこの往復時間は無視できる。
【００６６】
なお、図６（Ｃ）で白角で示された終端はメモリ１０−３、１０−４、１０−７、１０−８に内蔵されている終端抵抗によりなされる。このため、外付けの終端抵抗が必要なくなるので、この抵抗の搭載のためのエリアが不要になる。図６（Ｂ）の方式と比べてみると実装面積を小さくすることができる。
【００６７】
次に、主結合線路を進行する信号はメモリ１０−２に到達し（時刻Ｔ２）、先と同様にこの副結合線路でも後方クロストークが生成され反射する。さらに、主結合線路を進行する信号はメモリ１０−３に到達し（時刻Ｔ３）、この時刻に先のメモリ１０−１に接続された副結合線路で生成された後方クロストークのうちメモリ１０−１で反射された信号がメモリ１０−３に到達する（時刻Ｔ３）。そしてこの反射波はメモリ１０−３に内蔵された終端抵抗で完全に吸収され再反射はない。同様に主結合線路を進行する信号はメモリ１０−４に到達し（時刻Ｔ４）、この時刻に先のメモリ１０−２に接続された副結合線路で生成された後方クロストークのうちメモリ１０−２で反射された信号がメモリ１０−４に到達する（時刻Ｔ４）。そしてこの反射波はメモリ１０−４に内蔵された終端抵抗で完全に吸収され再反射はない。
【００６８】
このようにして、メモリ１０−１、１０−２、１０−５、１０−６では結合器で誘起された信号が到達・反射し、メモリ１０−３、１０−４、１０−７、１０−８では先の反射波が信号として到達・吸収される。これにより、アドレス・コマンド信号３２はメモリ１０−１〜１０−８の配置順に信号を生成することができ、図１の実施例と組み合わせてもリードアクセスに対してデータ信号３１が低スキューでＭＣ１に到達させることができる。
【００６９】
また、メモリ１０−１〜１０−８でパッケージ上の同じ場所にアドレス・コマンド信号３２が入力されるので、主結合線路を含むアドレス・コマンド信号３２のエッジ電極２５からの配線をメモリ１０−１〜１０−８部で直線状に配線すると、この主結合配線に対して上方に副結合線路を持つメモリ１０−１、１０−３、１０−５、１０−７はこの主結合配線に対して入力ピンが上方に位置し、他方この主結合配線に対して下方に副結合線路を持つメモリ１０−２、１０−４、１０−６、１０−８はこの主結合配線に対して入力ピンが下方に位置する。逆に言えば、メモリ１０−１〜１０−８のうち奇数番目と偶数番目のメモリの位置を少し上下にずらすことで主結合線路を直線用に配線できこの配線上を伝送する信号の伝搬遅延時間を最短にかつ正確に設計することができる。メモリの位置をずらしたことによりモジュール２０ｃのエッジからメモリ１０−１〜１０−８までの距離が変わるが、この影響を受けるのはデータ信号３１であり、このデータ信号３１に対して等長配線することは配線を若干うねらす等容易である。
【００７０】
図６（Ｄ）に図６（Ｃ）に対して、パリティビット用のメモリ１０−９を追加した例を示す。図６（Ｄ）と図６（Ｃ）との差はメモリをパリティビット用に９つ設けたモジュールでのアドレス・コマンド信号３２の配線にある。図６（Ｃ）ではアドレス・コマンド信号３２は共有された副結合線路を使用しているため偶数のメモリが搭載されている場合に効果があった。図６（Ｄ）では９番目のメモリ１０−９に対しては主結合線路を含むアドレス・コマンド信号３２を直接メモリ１０−９内蔵の終端抵抗で終端する。このため、アドレス・コマンド信号３２のすべてで終端抵抗がいらなくなり、パリティ用のメモリ１０−９を追加しても、終端抵抗の部品代が削減され低コスト化できる。
【００７１】
図６（Ｅ）について説明する。この実施例は、図６（Ｂ）に対して副結合線路に終端抵抗を無くし、その代わりにメモリ１０−１−１０−８に内蔵抵抗を持たせた。すなわち、図６（Ｅ）ではメモリ１０−１〜１０−８内にその入力インピーダンスが該メモリに接続される副結合配線の持つ特性インピーダンスと同じ終端抵抗を内蔵している。そして、副結合線路には終端抵抗がなく開放になっている。また、図６（Ｃ）、図６（Ｄ）と同様に偶数番目のメモリと奇数番目のメモリが互いに主結合線路に対して上下に有るオフセットを持って方向性結合配線を有している。結合器の配線長はメモリの間隔のほぼ２倍になっているが、これは図６（Ｃ）と同じである。
【００７２】
例えば、メモリ１０−１ではこのメモリ１０−１から副結合配線が接続されており、この副結合線路の他方の端にはいかなる素子も接続されていない開放状態である。そのため、この端で全反射する。また、副結合線路の配線方向は主結合線路を信号が伝搬するときの信号から見て前方側にメモリ１０−１があるのが特徴で、主結合線路を信号が伝搬するときに後方側に信号が生成されるが、この生成信号が全反射してメモリ１０−１側に伝送し、メモリ１０−１内の終端抵抗により終端される。
【００７３】
同じようにしてメモリ１０−２〜１０−８に対しても同じ配線様式になっている。すなわち、各メモリ１０−１〜１０−８は主結合線路であるアドレス・コマンド信号３２、クロック信号３０に対して両側に一定の間隔を保って平行に配置する副結合器を接続しメモリ１０−１〜１０−８は線路の特性インピーダンスに等しい終端抵抗を内蔵している。
【００７４】
次に、図１６を用いてこの結線方式図６（Ｅ）での波形生成の時間順について述べる。方向性結合器Ｃ１は主結合線路３０−１と副結合線路３０−２からなり、それぞれ整合終端されている。図では主結合線路３０−１を信号パルス２０１が右から左に伝搬している。信号パルス２０１は伝搬速度Ｖｐで左に進む。
【００７５】
方向性結合器Ｃ１が構成された、すなわち、副結合線路３０−１が隣接する位置に信号パルス２０１が到達した時刻をＴ１とする。時刻Ｔ１直後から副結合線路３０−２には後方クロストークが生成３０１され、その進行方向は右方向である。しかし副結合線路３０−２の右端は開放なので全反射し、左方向へと向きを変える。このパルス３０１の伝搬速度はパルス２０１のそれと同じである。そして更にパルス３０１の波頭はパルス２０１の波頭と同じである。なぜならば、時刻Ｔ１でパルス２０１が結合器Ｃ１に入射した瞬間にパルス３０１が生成されるが、これが副結合線路３０−２ですぐさま全反射するためである。
【００７６】
このようにしてクロストーク信号パルス３０１はパルス２０１と同位相で伝搬することになり、パルス２０１がメモリ１０のピンに対応する位置に到達した時刻に後方クロストークパルス３０１もメモリ１０のピンに到達する。そしてメモリ１０内の終端抵抗により吸収され、再反射はなくノイズが多重反射することはない。
【００７７】
このようにして主結合線路３０−１を信号パルス２０１が伝搬するに従い後方クロストーク信号パルス３０１も同位相で副結合線路３０−２を左方向（前方側）に伝搬する。
【００７８】
図６（Ｅ）に戻って、主結合線路上をパルスは前方側（図６（Ｅ）では左側）に進行し、方向性結合器により接続されているメモリ１０−１〜１０−８へ次々クロストーク信号パルスを生成していく。先に述べたようにこのクロストーク信号パルスの波頭は主結合線路を伝搬する信号パルスの波頭と同じであり、２つの信号の位相がそろっている。
【００７９】
このように、このメモリ１０−１〜１０−８での到達時間は主結合線路を進行する信号の各メモリ１０−１〜１０−８位置での到達時間に等しいので、リードアクセス時のアドレス・コマンド信号３２、クロック信号３０がメモリ１０−１〜１０−８のロケーション順に信号が到着することになる。このため、図６（Ｅ）のモジュール２０Ｅを用いても、第一の実施例で説明した図１或いは図２のメモリバスを構成することができる。ここで、副結合線間にギャップがあってもメモリ１０−１〜１０−８に到達する時間関係は変わらない。なぜならば、ギャップでは副結合線路がないので何も後方クロストーク信号を生成せず、信号伝達には寄与しない。
【００８０】
第４の実施例として図８を用いて説明する。本実施例はライトアクセス時にデータ信号３１が低スキューでメモリ１０−１〜１０−８に書き込める実施例である。この実施例では図２と異なる点は、アドレス・コマンド信号３２、クロック信号３０の配線方式にある。第一の実施例の図２ではＭＣ１から引き出されたこれら配線が図面右側で折り返されてモジュール２０−１〜２０−４に入力されていた。図８ではアドレス・コマンド信号３２、クロック信号３０はＭＣ１から引き出されて直ぐにモジュール２０−１〜２０−４に入力される。ここで、図２と図８で、データ信号３１は同じ配線様式で、ＭＣ１とモジュール２０−１〜２０−４の位置関係も同じである。ただし、モジュール２０−１〜２０−４の向きは図２と図８で反対である。このことから図２の配線方式でも図８の配線方式でも同じモジュールを使用することができるという効果がある。これはシステム構成の自由度を増す事ができる事を意味する。
【００８１】
動作であるが、ＭＣ１がライトアクセスする場合、ＭＣ１はライトアクセスに関するアドレス・コマンド信号３２を出力する。これは、ＭＣ１に対して物理的に近いメモリ１０−１に一番最初に到達し、最後は一番遠いメモリ１０−８に到達する。この到達順はデータ信号３１のＤ１〜Ｄ４のそれに等しい。このため、ライトアクセス時に送出されるライトデータはアドレス・コマンド信号３２、クロック信号３０と同じ伝搬遅延時間を持って各メモリ１０−１〜１０−８に到達することになり、各メモリ１０−１〜１０−８にとっては同期してアドレス・コマンド信号３２、クロック信号３０、データ信号３１が入力されることになる。このため、ライトアクセスに関してはタイミング設計が非常に容易となる。
【００８２】
図８の構成で、ＭＣ１がリードアクセスする場合は図２の実施例とは異なって、リードデータはメモリ１０−１〜１０−８の位置によりＭＣ１までの到達時間が大きく異なる。正確にはＭＣ１から見て各メモリ１０−１〜１０−８までの往復の遅延時間分ずれることになる。このため、ＭＣ１内ではリードデータを確実に取り込めるようにこの往復遅延時間と等価な遅延調整回路を設けてタイミングを調整する。この方式は図３の遅延回路１Ｂをデータ入力側に用いれば容易に達成できる。
【００８３】
このように構成することで、ライトアクセスに対して低いレイテンシで高速に書き込むことができる。システムではグラフィックメモリなど書き込みが多い処理に向く。
【００８４】
次に第一の実施例の図１、図２或いは、第３の実施例の図６、第４の実施例の図８の実装イメージを図９に示す。２０はメモリ１０−１〜１０−８を搭載するモジュールであって、モジュール２０内のアドレス・コマンド信号３２、クロック信号３０はモジュール上の一方の側から上方に配線され、折り曲げられ方向性結合器を構成するため直線状に配線され更に他方の端が終端されている。そしてコネクタ９０に搭載する場合、その向きを間違えないように位置合わせの切り欠きがモジュール２０に設けられ、切り欠き位置に対応する誤挿入防止ピンがコネクタ９０に設けられている。このため、モジュール２０をコネクタ９０に差し込む向きを間違えることはない。尚、本実施例では結合する方向を間違えないための方法として切り欠きを用いたが、モジュール側のピンとコネクタ側のピンを正確に結合させるための手段であれば他の手段も含むものとする。
【００８５】
次に第一の実施例の図１と図２の基板断面図を図１０に示す。マザーボード１００はＭＣ１、コネクタ９０とモジュール２０を搭載し、図１０はＭＣ１付近のｘ軸方向断面である。多層の信号、電源層を有している。図１０ではＭＣ１は表面実装部品であり、パッケージがＢＧＡ（Ball Grid Aray）ならハンダボールで基板１００に接続されている。コネクタ９０も表面実装部品である。表面実装部品を用いることで部品下の配線密度を高めることができる。
【００８６】
ＭＣ１からはアドレス・コマンド信号３２、クロック信号３０、データ信号３１が配線されモジュール２０にコネクタ９０を介して信号を伝送できるようになっている。データ信号３１配線はＭＣ１から信号層１層ないし２層用いて配線されている。図１０では２層を用いた配線となっている。また、アドレス・コマンド信号３２、クロック信号３０はデータ信号とは層を変えて配線されている。これらの配線は電源層に挟まれたいわゆるストリップライン構造になっている。このため、伝搬遅延時間が配線を取り囲んでいる材料の誘電率で決まる。このため、モジュール２０とマザーボード１００の材質をそろえることで両方の速度がそろう。
【００８７】
また、図１０ではアドレス・コマンド信号３２、クロック信号３０とデータ信号３１は同じｘ軸方向に配線されているが層を変えることで互いのクロストークノイズをさけることができる。このため、マザーボード１００のアドレス・コマンド信号３２、クロック信号３０をデータ配線と重ねて配線でき配線長のチューニング、高密度化できる。
【００８８】
次に第５の実施例としてアドレス・コマンド信号３２用レシーバの構成を図１１を用いて説明する。図６（Ｃ）、（Ｄ）で用いられるメモリではアドレス・コマンド信号、クロック信号を終端する構成と、開放（Ｈｉ−Ｚ）する構成がある。２種類のメモリを用いて構成しても良いが、コストの観点からは同一チップで両方の機能を実現できる方がよい。その為、本実施例では図１１（Ａ）のように終端抵抗をトランジスタ５０で構成させ、その終端用トランジスタ５０をオン、オフすることで入力インピーダンスの制御を達成できる。勿論、終端抵抗値を可変にするように制御することもできる。例えばトランジスタ５０をゲート幅の異なる複数のトランジスタを並列接続するように構成し、これらのトランジスタのそれぞれを抵抗値に応じてオン、オフすることで入力インピーダンスを調整することができる。このインピーダンスの調整を行うのが制御回路５３である。
【００８９】
また、図１１（Ａ）では入力端子からレシーバ５２までの間には抵抗器５１が接続されている。これはチップ上のメタル配線で構成できるが、この抵抗５０（Ｒ１）と先のトランジスタ５０の和によって所望の入力インピーダンスを生成することができる。この抵抗５１（Ｒ１）はトランジスタ５０の抵抗値を小さく抑えるために設けられ、結果としてトランジスタ５０のサイズを小さくすることができる。図１１（Ａ）ではトランジスタは終端電圧Ｖｔｔに接続されている。この終端電圧Ｖｔｔは参照電圧Ｖｒｅｆと同じである。すなわち、結合器を介してた信号は終端電圧Ｖｔｔを中心に正極と負極のパルスが生成され、これがメモリのレシーバ５２に入力される。入力された信号は参照電圧Ｖｒｅｆと比較されデータとして識別される。
【００９０】
図１１（Ｂ）はレシーバの内蔵終端用トランジスタ５０のうち一方を信号入力ピンに他方をレシーバ５２の参照電圧Ｖｒｅｆに接続したものである。方向性結合器により生成される信号振幅は小さくＤＣ成分を持たないため図１１（Ｂ）の参照電圧Ｖｒｅｆに終端トランジスタ５０を通じて流れる電流は小さい。また、参照電圧Ｖｒｅｆはメモリが実装されるモジュールではグランド電位に対してデカップリングコンデンサにより低インピーダンスに接続されているため、参照電圧Ｖｒｅｆに終端電流を帰還させてもノイズとはなりにくい。このような構成とするためメモリのパッケージは終端電源用のＶｔｔピンを持つ必要が無くなりパッケージのコストを下げることができる。
【００９１】
次に第６の実施例としてアドレス・コマンド信号３２、クロック信号３０のＭＣ１及びメモリ１の電圧と回路例を図１２を用いて説明する。
【００９２】
アドレス・コマンド信号３２、クロック信号３０はＭＣ１からメモリ１０への一方通行の信号である。そして、第１、第２の実施例で示したように図６（Ａ）を除いて、これらの信号はモジュール２０内にて方向性結合器を用いて伝送される。このため、ＭＣ１とメモリ１０はＤＣ接続されていない。信号はメモリ１０側の終端電位に対して結合器により生成された信号が重畳される。図１２ではＭＣ１内に設けられたアドレス・コマンド信号３２、クロック信号３０用のドライバ回路を２で示す。ドライバ回路２はオープンドレインである。ドライバ２内のトランジスタ５５は配線７０と終端抵抗６１を通じて終端電圧６０（Ｖｄｄ）に接続されている。メモリ１０内のレシーバ３は差動レシーバ５２と終端トランジスタ５０、インピーダンス調整回路５３を持ち、これらは副結合線路７１に接続されている。この副結合線路７１と終端内蔵メモリ１０の組合せは図６（Ｅ）を想定している。この図ではパッケージは書かれていないがこれによる寄生容量、寄生インダクタンスは当然ある。
【００９３】
ＭＣ１内のドライバ５５から信号が出力される場合、主結合線路７０の電位はＶｄｄか、Ｖｏｌの２つである。ここで、ＶｏｌとはＬ出力時の電圧であり終端抵抗６１とトランジスタ５５の抵抗分圧比で決まる電圧である。
【００９４】
メモリ１０においてレシーバ５２に入力される信号は副結合配線７１の終端電位であるＶｔｔを中心に正極、負極のパルスである。これは方向性結合器がＤＣ成分を通過させないためである。このため、主結合線路側７０の終端電圧Ｖｄｄと副結合線路７１側の終端電位Ｖｔｔは独立にとることができる。これはアドレス・コマンド信号３２、クロック信号３０はＭＣ１からメモリ１０への一方通行の信号であるためで双方向の信号伝送が行われる場合は両方の電位Ｖｄｄ、Ｖｔｔは同じでなければならない。さもないとドライブ電圧が送信、受信で異なることになり非対象になり設計が複雑となる。
【００９５】
このため、副結合線路７１側の終端電圧Ｖｔｔを入力レシーバ５２の最大感度となる電位に設定することができる。これはメモリはＣ−ＭＯＳトランジスタで構成されるが、電圧によっては不感帯となってしまうためである。一般のＣ−ＭＯＳトランジスタでは電源電圧を超える入力信号は取れない。
【００９６】
例として、高速なＤＲＡＭは１．８Ｖで動作しているが、ドライバ５５の終端電圧Ｖｄｄを１．８Ｖに設定できる。終端抵抗６１を５０Ω、トランジスタ５５のインピーダンスを１５ΩとするとＶｏｌは０．４１Ｖとなり、信号振幅は約１．４Ｖとなる。方向性結合器の電圧結合度を２０％で設計したとすると副結合器には２８０ｍＶの電圧が誘起される。これがメモリ１０のレシーバ５２に伝送されるのであるが副結合線路７１側の終端電位Ｖｔｔを０．９Ｖとするとレシーバ５２に入力される電圧は０．９Ｖ±０．２８Ｖとなる。この０．９ＶはＣ−ＭＯＳで回路を構成する場合Ｎ−ＭＯＳトランジスタもＰ−ＭＯＳトランジスタも感度を高く取れる電位である。
【００９７】
このようにアドレス・コマンド信号３２、クロック信号３０に対してはドライブ信号にオープンドレインの２値の信号をとることができ、また、メモリ１０側のレシーバ５２にはレシーバ５２が最大感度となる電圧を中心電圧にすることができるので、高速な回路を構成することができる。
【００９８】
更に、ドライバ信号を２値にすることでアドレス信号から、Ｉ／Ｏデータを出力する前に必要なプリアンブル期間を削除できる効果がある。これはアドレス・コマンド信号にとっては重要なことである。なぜならばアドレスにプリアンブル期間があるとそれだけアクセスレイテンシーが増加しシステムパフォーマンスが落ちてしまうためである。
【００９９】
ここで、プリアンブルとは以下述べるようなものである。データは送受信するＩ／Ｏ系であり、方向性結合器を用いた場合はＣＴＴ（Center Tapped Transceiver）のような３値の波形となる（図１７）。すなわち、ＣＴＴでは信号振幅の半分の電位で終端させドライバこの終端電位に対して、Ｈ状態か、Ｌ状態を出力し、出力していない状態では開放（Ｈｉ−Ｚ）状態となる。このため開放（Ｈｉ−Ｚ）状態である中心電位から転送の第１のデータを出力する場合、その振幅が半分となり、方向性結合器により生成される信号も半分になってしまう。このため、この転送の第１部分での動作が不安定となるのでＩ／Ｏ系では転送の第１データを送信する前にプリアンブルと呼ばれる無効な期間を設けてＬ状態ないしはＨ状態を出力させ、フル振幅のデータ出力に先立つある期間、配線の電位を確定していた。
【０１００】
次に図１３を用いてレシーバの入力インピーダンスを調整するシーケンスを説明する。このシーケンスは、例えば図６（Ｃ）のように同じメモリチップを用いて搭載場所により内蔵終端をONにするのか開放（Ｈｉ−Ｚ）にするのかを選択し、また終端抵抗の値を調整するシーケンスで、給電後の実際のデータの読み書きを行う前に行われる。この意味でメモリ初期化のシーケンスである。
【０１０１】
シーケンスは、先ずメモリに給電される（４０−１）。次にクロックが入力され、リセットシーケンスが実行される（４０−２、４０−３）。リセットシーケンス４０−３ではメモリの各バンクの内部セルをクリアしたり、メモリ内のフリップフロップ（Flip Flop）を初期値に設定する。ここまでは通常のＳＤＲＡＭのシーケンスに等しい。４０−４ではデータ系の出力インピーダンスを調整する。データ信号用のドライバはＣＴＴのようなプッシュプル回路であり、ドライバの最終段にはゲート幅の異なったインバータが並列に接続されている。
【０１０２】
このドライバのインピーダンスの調整は次のような方法で行うことができる。ドライバの最終段のインバータのうち複数並列接続されているＰ−ＭＯＳトランジスタ、Ｎ−ＭＯＳトランジスタを独立に任意の組合せで選択することでドライバのインピーダンスを可変にできる。そして、このインピーダンスがメモリに接続された外付けの抵抗値により構成される。例えば、外付けの抵抗とドライバのＰ−ＭＯＳトランジスタのインピーダンスをブリッジ回路などで比較し、Ｐ−ＭＯＳトランジスタのゲート幅を段階的に可変する。このことでＰ−ＭＯＳトランジスタの出力インピーダンスを制御できる。同じようにＮ−ＭＯＳトランジスタについても外付けの抵抗との比較で出力インピーダンスを調整できる。
【０１０３】
次のシーケンスはアドレス・コマンド信号３２の設定である（４０−５）。このシーケンスでは先ずアドレスインピーダンス設定ピンの状態をモニタする。この実施例のメモリにはアドレスインピーダンス設定ピンが設けられこの状態をモニタすることで、アドレス・コマンド信号３２を終端するかどうかを判断する。
【０１０４】
このアドレスインピーダンス設定ピンの設定はこのメモリが搭載されるモジュール上で行われ、図６（Ｃ）ではモジュール２０（Ｄ）の配線によりＨ状態もしくはＬ状態にメモリ毎に設定される。４０−６でこのアドレスインピーダンス設定ピンの入力がＨ状態かＬ状態かを判断する。もしメモリの設定でこのピンがＨならば、すべてのアドレス・コマンド信号３２、クロック信号３０の入力インピーダンスを配線のインピーダンスに合うように調整する。この方式として、シーケンス４０−４で用いられた外付けの抵抗を用いて調整するのが簡単である。モジュールのアドレス・コマンド信号３２の特性インピーダンスがＺｏとし、抵抗の抵抗値がＲとするとき、Ｚｏ／Ｒの比σが決められた値を持つようにで外付け抵抗を選んでおけば、ドライバのインピーダンスを調整する方法と同じくアドレス・コマンド信号３２の入力インピーダンスをσとＲの積になるように調整すればよい。
【０１０５】
また、シーケンス４０−６でアドレスインピーダンス設定ピンの値がＬの場合、アドレス・コマンド・クロック信号の内蔵終端抵抗は開放（Ｈｉ−Ｚ）とする（４０−８）。このようなシーケンスを取ることでドライバのみならずアドレス・コマンド・クロックの入力インピーダンスを高精度に設定ができる。また、メモリが搭載されるモジュールの配線によりアドレス・コマンド・クロックの入力インピーダンスを終端状態にしたり開放（Ｈｉ−Ｚ）に選択的にできるので図６（Ｄ）のようにメモリの実装位置による終端・非終端を選択できる。これによりシステムとして方向性結合器を用いたアドレス・コマンド信号３２をモジュールに構成し、リードアクセス、或いはライトアクセスのデータ信号が配線長に依らず低スキューで実現できる。
【０１０６】
アドレス・コマンド信号３２の入力インピーダンスを開放（ハイインピーダンス）、または該アドレス・コマンド信号３２に接続される配線の特性インピーダンスにほぼ等しい値に調整するため別な手段として以下に述べるような方法もある。
【０１０７】
モジュール２０に不揮発メモリ（ＥＥＰＲＯＭなど）を搭載し、これに各メモリのインピーダンス調整値を格納しておく。この格納された調整値を回路検証用のシリアル信号（バウンダリー・スキャン）を介して電源投入後に各メモリに設定すればよい。この調整値すなわち図１１でアドレス・コマンド信号３２用の入力回路である３ａないし３ｂはインピーダンス調整回路５３を有している値であるが、その値に設計時に想定した値を用いたり、メモリ製造時に検査するプロセス検査或いは回路検査で実測された値を用いても良い。
【０１０８】
このように、モジュール製造時にモジュールに搭載する各メモリのプロファイル（情報）に応じてモジュール上のＥＥＰＲＯＭに設定値を格納しておくことで、図６（Ｂ）、図６（Ｃ）、図６（Ｄ）図６（Ｅ）に単一のメモリで対応できる。この場合、インピーダンス調整用の外部ピンもメモリには必要ない。
尚、本願発明によれば、アドレス・コマンド信号をクロックと併走させ、これらを各モジュール毎に配線することで、アドレス・コマンド信号の分岐配線による波形歪みを無くすことができ、このため、アドレス・コマンド信号の高速化が可能となる。これにより、アドレスバッファを不要とし、アクセルレイテンシを低く抑えることができる。
【０１０９】
また、アドレス・コマンド信号、クロック信号をモジュールに形成された方向性結合器で伝送させ、図１のようにデータ信号配線とアドレス配線の配線長がどのメモリに対しても同じになるように構成することによりリードアクセスのデータスキューが小さく抑えることができる。これにより、リードアクセスの方がライトアクセスより大幅に多い情報処理装置に置いてリードアクセスのアクセスレイテンシィが短くできシステム性能が向上する。
【０１１０】
また、主結合線路のメモリコントローラの遠い方が終端されていることで、メモリモジュール内の複数メモリチップのタイミングか順番を管理することができる。
【０１１１】
また、アドレス端子とデータ端子とが別端子であることから、低速でもアクセスデータレートを向上することが可能である。
【０１１２】
また、ひとつのメモリチップへのアドレスとクロックの供給タイミングが歩調することで、タイミングマージンが良好となり、また、耐ノイズ性能が向上する。
【０１１３】
本発明は、上述の実施の形態に限定されるものではなく、適用分野に関わらず、要旨を逸脱しない範囲で変更し実施し得ることは述べるまでもない。
【０１１４】
【発明の効果】
アドレス・コマンド信号をクロックと併走させ、これらを各モジュール毎に配線することで、アドレス・コマンド信号の分岐配線による波形歪みを無くすことができ、このため、アドレス・コマンド信号の高速化が可能となるという効果を有する。
【図面の簡単な説明】
【図１】第１の実施例を説明する図
【図２】第１の実施例の回路図
【図３】第１の実施例のメモリコントローラの内部ブロック
【図４】第２の実施例のモジュールを１枚有する場合の配線方式
【図５】第２の実施例の別な配線方式
【図６】第３の実施例のモジュール配線方式
【図７】図６（Ｂ）のアドレス信号のタイミング図
【図８】ライトデータを優先する配線方式
【図９】コネクタに誤挿入防止機構を設けた
【図１０】第１の実施例の基板構成
【図１１】インピーダンス調整可能なアドレス・コマンド入力回路
【図１２】方向性結合器を用いた一方向データ転送バス配線方式
【図１３】アドレス・コマンド信号のインピーダンス調整シーケンス
【図１４】従来例のリードアクセス優先方式配線
【図１５】従来例の回路接続図
【図１６】  図６（Ｅ）の結合器で主結合線路を伝搬する信号パルスと副結合線路に誘起される後方クロストーク信号パルスの信号伝搬時間関係
【図１７】  ＣＴＴを説明する図
【符号の説明】
１・・・メモリコントローラ
１Ａ・・・位相調整回路
１Ｂ・・・遅延調整回路
１Ｃ、１Ｄ・・・フリップフロップ
１Ｆ・・・遅延量制御回路
１Ｇ・・・レジスタ
１Ｌ・・・メモリコントローラコア論理
２・・・ドライバ
３、３ａ、３ｂ・・・レシーバ
５・・・方向性結合器
１０、１０−１〜１０−８・・・DRAMチップ
２０、２０−１〜２０−４、２０ａ〜２０ｅ・・・DRAMモジュール
２５・・・モジュール接続端子
３０・・・クロック信号配線
３１・・・データ信号配線
３２・・・アドレス・コマンド信号
３３・・・チップセレクト信号
３５・・・システムクロック
４０−１〜４０−８・・・インピーダンス調整シーケンス
５０・・・トランジスタ
５１・・・抵抗
５２・・・差動レシーバ
５３・・・インピーダンス調整
５５・・・ドライバ内トランジスタ
６１・・・抵抗
７０・・・主結合線路
７１・・・副結合線路
９０・・・コネクタ
９９・・・メモリバス信号
９８・・・システムバス信号
１００・・・マザーボード
【図１】
0004173970.tif 000002
【図２】
0004173970.tif 000003
【図３】
0004173970.tif 000004
【図４】
0004173970.tif 000005
【図５】
0004173970.tif 000006
【図６】
0004173970.tif 000007
【図７】
0004173970.tif 000008
【図８】
0004173970.tif 000009
【図９】
0004173970.tif 000010
【図１０】
0004173970.tif 000011
【図１１】
0004173970.tif 000012
【図１２】
0004173970.tif 000013
【図１３】
0004173970.tif 000014
【図１４】
0004173970.tif 000015
【図１５】
0004173970.tif 000016
【図１６】
0004173970.tif 000017
【図１７】
0004173970.tif 000018