(57)【特許請求の範囲】
【請求項１】
メモリシステムであって、
メモリ・コントローラと、
複数のメモリ・モジュール・ソケットであって、各メモリ・モジュール・ソケットは、クロック入力ピンと、クロック出力ピンとを含む、複数のメモリ・モジュール・ソケットと、
少なくとも１つのメモリ・モジュールであって、各メモリ・モジュールは、前記複数のメモリ・モジュール・ソケットのうちの１つのメモリ・モジュール・ソケット内に配置される、少なくとも１つのメモリ・モジュールと、
前記メモリ・モジュール・ソケットの前記クロック入力ピンの各々に接続された第１のクロック・ライン・ネットワークと、
前記複数のメモリ・モジュール・ソケットに対応する、複数の第２のクロック・ライン
とを備え、
各メモリ・モジュールは、
該メモリ・モジュールが中に挿入される前記メモリ・モジュール・ソケットの前記クロック入力ピンと電気的に接触するクロック入力ピンと、
該メモリ・モジュールが中に挿入される前記メモリ・モジュール・ソケットの前記クロック出力ピンと電気的に接触するクロック出力ピン
とを含み、
前記メモリ・モジュールの前記クロック出力ピンにおいて提供される信号は、前記メモリ・モジュールの前記クロック入力ピンにおいて提供される信号から得られ、
各メモリ・モジュールは、ダミー負荷に接続された、Ｎ個のダミー負荷ピンを含み、
前記Ｎは、前記メモリ・コントローラによってサービスを受けるメモリ・モジュール・ソケットの数から１を減じた数を表し、
各第２のクロック・ラインは、複数のメモリー・モジュール・ソケットのうちの１つのメモリー・モジュール・ソケットの前記クロック出力ピンと、前記メモリ・コントローラとの間に接続され、前記ソケット内に挿入されたメモリー・モジュールから前記メモリ・コントローラへと伝送されるデータを前記メモリ・コントローラにおいて検証する第２のクロック信号を搬送することからなる、メモリシステム。
【請求項２】
前記複数のメモリ・モジュール・ソケットのうちの１つのメモリ・モジュール・ソケットは、別のメモリ・モジュール・ソケットのクロック出力ピンにおいて提供される第２のクロック・ラインのうちの１つに接続されたダミー負荷ピンを含む、請求項１に記載のメモリシステム。
【請求項３】
各メモリ・モジュールは、
複数のランダム・アクセス・メモリ集積回路と、
前記メモリ・モジュールの前記クロック入力ピンにおいて見出される信号を受信するクロック・バッファであって、複数のクロック・バッファ出力を生成する、クロック・バッファ
とを更に含み、
前記複数のクロック・バッファ出力のうちの第１のクロック・バッファ出力は、前記メモリ・モジュールの前記クロック出力ピンに接続され、
前記複数のランダム・アクセス・メモリ集積回路の各ランダム・アクセス・メモリ集積回路は、前記複数のクロック・バッファ出力のうちの残りのクロック・バッファ出力に接続されることからなる、請求項１に記載のメモリシステム。
【請求項４】
前記第１のクロック・ライン・ネットワークは、前記メモリ・モジュールによって要求されるセット・アップ遅延を補償する遅延線を含む、請求項１に記載のメモリシステム。
【請求項５】
各第２のクロック・ラインは、メモリ・モジュール伝搬遅延と、前記メモリ・コントローラによって要求されるセット・アップ遅延とを、前記メモリー・モジュールから前記メモリ・コントローラへの読み出し時に補償する遅延線を含む、請求項１に記載のメモリシステム。
【請求項６】
前記第１のクロック・ライン・ネットワークは、前記メモリ・コントローラによって提供される、請求項１に記載のメモリシステム。
【請求項７】
メモリシステムであって、
メモリ・コントローラと、
複数のメモリ・モジュール・ソケットであって、各メモリ・モジュール・ソケットは、メモリ・モジュールを受け入れるように構成され、クロック入力ピンと、クロック出力ピンとを含む、複数のメモリ・モジュール・ソケットと、
前記メモリ・モジュール・ソケットの前記クロック入力ピンの各々に接続された第１のクロック・ライン・ネットワークと、
前記複数のメモリ・モジュール・ソケットに対応する、複数の第２のクロック・ライン
とを備え、
各第２のクロック・ラインは、複数のメモリー・モジュール・ソケットのうちの１つのメモリー・モジュール・ソケットの前記クロック出力ピンと、前記メモリ・コントローラとの間に接続され、前記ソケット内に挿入されたメモリー・モジュールから前記メモリ・コントローラへと伝送されるデータを前記メモリ・コントローラにおいて検証する第２のクロック信号を搬送し、
前記複数のメモリ・モジュール・ソケットのうちの少なくとも１つは、別のメモリー・モジュール・ソケットのクロック出力ピンにおいて提供される第２のクロック・ラインのうちの１つに接続されたダミー負荷ピンを含むことからなる、メモリシステム。
【請求項８】
前記第１のクロック・ライン・ネットワークは、メモリー・モジュール・ソケット内に挿入されたメモリ・モジュールによって要求されるセット・アップ遅延を補償する遅延線を含む、請求項７に記載のメモリシステム。
【請求項９】
各第２のクロック・ラインは、メモリ・モジュール伝搬遅延と、前記メモリ・コントローラによって要求されるセット・アップ遅延とを、メモリー・モジュールからの読み出しが前記メモリ・コントローラに対して行われた時に補償する遅延線を含む、請求項７に記載のメモリシステム。
【請求項１０】
前記第１のクロック・ライン・ネットワークは、前記メモリ・コントローラによって提供される、請求項７に記載のメモリシステム。
【請求項１１】
メモリ・モジュールであって、
クロック入力ピンと、
クロック出力ピンと、
Ｎ個のダミー負荷ピンであって、各ダミー負荷ピンは、ダミー負荷に結合される、Ｎ個のダミー負荷ピンと、
前記クロック入力ピンから得られる信号を受け取るように構成される複数のランダム・アクセス・メモリ集積回路と、
前記クロック入力ピンにおいて見出される信号を受信するクロック・バッファであって、複数のクロック・バッファ出力を生成する、クロック・バッファ
とを備え、
前記クロック出力ピンに提供される信号は、前記クロック入力ピンにおいて提供される信号から配信され、
前記複数のクロック・バッファ出力のうちの第１のクロック・バッファ出力は、前記クロック出力ピンに接続され、
前記複数のランダム・アクセス・メモリ集積回路の各ランダム・アクセス・メモリ集積回路は、前記複数のクロック・バッファ出力のうちの残りのクロック・バッファ出力に接続されることからなる、メモリ・モジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル・システムにおけるクロック信号の発生及び分配に関するものである。とりわけ、本発明は、こうしたクロック信号のスキューを最小限に抑えることに関するものである。
【０００２】
【従来の技術】
デジタル・システムでは、クロック信号のエッジによって指定される時間に、バスにおけるデータが妥当になるように、クロック信号と調和させて、バスにデータを送り出すことによって、データの送受信を行うのが普通である。もちろん、データの伝送はできるだけ高速であることも望ましいので、可能性のある最高周波数でクロックを動作させることが望ましい。
【０００３】
バスからデータを読み取るコンポーネントを備えたデジタル・システムにおいて、クロック信号の動作可能な最高周波数は、主として、３つの要素、すなわち、クロック信号に対するデータのセット・アップ時間、クロック信号に対するデータのホールド時間、及び、クロック・スキューによって制限される。クロック・スキューには、クロック信号のエッジが、回路の異なる部分において前記クロック信号の同じエッジに対してスキューを生じるクロック間スキューと、クロックのエッジがバスのデータに対してスキューを生じるクロック・データ間スキューが含まれる可能性がある。
【０００４】
デジタル・システムでは、多くのコンポーネントが単一クロック信号に結合されるのが普通であり、単一の駆動回路で、全コンポーネントのクロック入力を駆動するのは非現実的である。従って、クロック信号のコピーを作成して、クロック信号を必要とする全コンポーネントに分配されるようにするために、クロック・バッファが用いられる。しかし、クロック・バッファによって、クロック・スキューがもたらされることになる。クロック・スキューを最小限に抑えようとして、先行技術の構成では、クロック・バッファが木状クロック分配ネットワークをなすように構成されるので、各コンポーネントに供給されるクロック信号は、同じ数のクロック・バッファを移動することになる。こうした構成は役に立つが、クロック・バッファ間に大幅なスキューの偏差が生じる可能性がある。
【０００５】
計算分野においては、コンピュータ・システムに主メモリ記憶装置を設けるために、同期ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）を利用する場合が多い。一般に、コンピュータ・システムに用いられるＳＤＲＡＭは、シングル・イン−ライン・メモリ・モジュール（ＳＩＭＭ）またはデュアル・イン−ライン・モジュール（ＤＩＭＭ）に取り付けられ、さらに、コンピュータ・システムのボードのＤＩＭＭまたはＳＩＭＭソケットに挿入される。発明の実施の形態と題するセクションにおいて後述するように、先行技術によるＳＩＭＭ及びＤＩＭＭ構成に見受けられるクロック・スキューによって、ＳＤＲＡＭにアクセスするクロック周波数が約１００ＭＨｚに制限されるという影響が生じる。こうした構成の場合、各クロック・パルスに関連した論理状態は、論理状態がスイッチされる前に、クロック分配ネットワーク全体に完全に伝搬する。
【０００６】
ＳＤＲＡＭにアクセスするクロック周波数が１００ＭＨｚに制限されるので、コンピュータの設計者は、メモリ・システムのデータ経路幅の拡大に焦点を絞って、メモリ帯域幅を拡大させてきた。しかし、このアプローチは、コストが高くつく。データ経路幅が、６４ビットから、１２８ビット、２５６ビット、及び、それを超えて拡大するにつれて、必要な回路基板スペースに加えて、回路基板のトレース数も法外なものになる。
【０００７】
Ｇａｓｂａｒｒｏ他に対する米国特許第５，４３２，８２３号のタイトルは「Method and Circuitry for Minimizing Clock-Data Skew in a Bus System」であり、Ｒａｍｂｕｓ，Ｉｎｃ(Ｒａｍｂｕｓという呼称は、Ｒａｍｂｕｓ，Ｉｎｃの登録商標)に譲渡されている。Ｇａｓｂａｒｒｏ他による教示のスキュー最小化技法に加えて、他のいくつかの技法も利用することによって、Ｒａｍｂｕｓは、ＳＤＲＡＭに用いられているのと同じタイプのダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）・コアを利用して、５００ＭＨｚまでの速度で動作するメモリ・サブシステムを市販用に生産することが可能になった。こうした周波数の場合、クロック分配ネットワークにおいて、該ネットワークに結合されたコンポーネントに対し同時に２つ以上のクロック・パルスが「伝送される」ようにすることも可能になる。Ｒａｍｂｕｓの設計によれば、データ・バスの幅を極度に増すことなく、メモリ帯域幅が大幅に拡大される。
【０００８】
図１は、Ｇａｓｂａｒｒｏ他の明細書の図３に手を加えたブロック図であり、Ｒａｍｂｕｓメモリ・システムにおいてクロック・スキューを最小限に抑える方法が示されている。図１において、デジタル・システム１０は、マスタ受信器／送信器１２とスレーブ受信器／送信器１４、１６、１８、及び、２０から構成される。マスタ受信器／送信器１２及びスレーブ受信器／送信器１４、１６、１８、及び、２０は、データ・バス２２及びクロック分配システム２４に結合されている。クロック分配システム２４は、クロック発生源２５及びクロック・ライン２７から構成される。
【０００９】
クロック分配システム２４の動作周波数が高いため、クロック・ライン２７には、所定の時間に２つ以上のクロック・パルスが含まれている可能性がある。従って、ある受信器／送信器に生じるクロック・パルスが、別の受信器／送信器に生じるパルスと一致しない場合がある。この問題に対処するため、Ｇａｓｂａｒｒｏ他の特許では、クロック・ライン２７の２つの独立したセグメントを使用することが開示されている。第１のセグメントは、ＣｌｏｃｋＴｏＭａｓｔｅｒ２８であり、第２のセグメントは、ＣｌｏｃｋＦｒｏｍＭａｓｔｅｒ２６である。２つのセグメントは、端部２９で結合されている。各セグメントは、データ・バス２２のほぼ同じ長さ及び電気特性を備えた導体である。
【００１０】
セグメント２６は、データがマスタ受信器／送信器１２からスレーブ受信器／送信器の１つに伝送される場合に用いられる。例えば、マスタ受信器／送信器１２からスレーブ受信器／送信器２０への書き込み操作について考察する。クロック・パルスは、クロック発生源２５において発生し、第１のセグメント２８及び端部２９を通る。パルスが第２のセグメント２６を通り始めると、すぐに、マスタ受信器／送信器１２のＴＣＬＫ0に入り、この結果、マスタ受信器／送信器１２によってデータ・バス２２にデータが送り込まれることになる。データは、ＴＣＬＫ0入力に入ったクロック・パルスがスレーブ受信器／送信器２０のＲＣＬＫ3入力に達するまで、クロックパルスとほぼ並行してデータ・バス２２を伝搬し、その時点において、スレーブ受信器／送信器２０にはそのデータで刻時する。クロック・パルスが通るセグメント２６の部分とデータが通るデータ・バス２２の部分が一致するので、もたらされるクロック・スキューが最小限で済む。セグメント２８は、スレーブ受信器／送信器の１つからマスタ受信器／送信器１２に読み取り操作を実施する場合に、同様に用いられる。
【００１１】
従って、各受信器／送信器１２、１４、１６、１８、及び、２０は、そのアクティブ・クロックが通過する瞬間に、データ・バス２２にデータを結合することが可能でなければならない。Ｇａｓｂａｒｒｏ他は、これについて、サーファが、波頭を注視して、待ちかまえ、波頭を捕らえて、それに乗って進む、サーフィンに似ていると説明している。
【００１２】
２つの独立したクロックを各受信器／送信器に結合することによって、各受信器／送信器内に同期問題が生じることになる。端部２９に近接して結合される装置の場合、送信クロックと受信クロックの位相差は最小になる。しかし、スレーブ受信器／送信器２０のような、もう一方の端部にある装置には、送信クロックと受信クロックの間にかなりの位相差が生じる可能性がある。従って、受信器／送信器が、交換可能であって、端部２９に対して任意の位置につくことが可能であれば、各受信器／送信器毎に、送信クロックと受信クロックの間の異なる位相関係に対処することが可能な同期回路要素を含んでいなければならない。
【００１３】
図２は、Ｒａｍｂｕｓ６４メガビットＤＲＡＭ３０のブロック図であり、１９９５年１１月２９日に発行されたRambus 64-Megabit Rambus DRAM Product Summaryからの図に手を加えたものである。ＤＲＡＭ３０は、スレーブ受信器／送信器として構成され、Ｒａｍｂｕｓコントローラは、マスタ受信器／送信器として構成されている。ＤＲＡＭ３０は、ＣｌｏｃｋＦｒｏｍＭａｓｔｅｒセグメント２６及びＣｌｏｃｋＴｏＭａｓｔｅｒセグメント２８、並びに、各種制御信号及びデータ信号に結合される。図２の目的は、ＤＲＡＭ３０の相対的複雑さを明示することにある。Ｇａｓｂａｒｒｏ他による開示のように、各受信器／送信器は、送信クロックのシフトした位相のバージョンを発生する位相ロック・ループを備えなければならない。さらに、各受信器／送信器内において、各データ・ラインは、遅延素子、位相コンパレータ、マルチプレクサ、ラッチ、及び、いくつかの追加ステージを備えていなければならない。
【００１４】
Ｒａｍｂｕｓメモリ・システムは、うまく高転送周波数を実現したが、この設計は、極めて複雑であり、先行技術によるメモリ・サブシステムとは全く異なっている。位相ロック・ループは、高密度ＣＭＯＳ実施例における実施が困難になる可能性があり、ＣＭＯＳメモリ・サブシステムにしばしば生じるスイッチング・ノイズの影響を受けやすい。さらに重要なのは、位相ロック・ループが、信号にロックするための起動期間を必要とするため、電力の減少及び待ち時間の短縮に用いられるクロック停止技法に適合しないという点である。計算分野において必要とされるのは、先行技術によるＳＩＭＭ及びＤＩＭＭ構成に似ているが、Ｒａｍｂｕｓメモリ・システムによって実現されるのと同様の転送周波数を実現するメモリ設計である。
【００１５】
【発明が解決しようとする課題】
本発明の目的は、上記の問題点を解決し、スキューを最小限に抑えて、クロック信号を発生し、分配するための方法及び装置を提供することである。
【００１６】
【課題を解決するための手段】
本発明の実施態様の１つにおいて、本発明には、クロック・スキューを最小限に抑えて、高転送速度でデータの交換を行う、メモリ・コントローラと、少なくとも１つのメモリ・モジュールが含まれている。メモリ・モジュールに書き込みを行う場合、メモリ・コントローラは、第１のクロック・ライン・セグメントに沿って伝搬するクロック信号を発生する。データ・バスは、書き込みデータを伝送し、データ・バスと第１のクロック・ライン・セグメントの電気特性は、データ・バス及びクロック信号の入射波面が、互いに一定の関係をなしてメモリ・モジュールに到達するように整合がとられる。データの読み取り時には、第２のクロック・ライン・セグメントにおいてクロック信号のコピーが供給されると、ループを辿って、メモリ・モジュールから第１のクロック・ライン・セグメントを逆に進み、第２のクロック・ライン・セグメントに沿ってメモリ・コントローラに達することになる。データ・バスは、読み取りデータを伝送し、データ・バスと第２のクロック・ライン・セグメントの電気特性は、データ・バス及びクロック信号の入射波面が、互いに一定の関係をなしてメモリ・コントローラに到達するように整合がとられる。
【００１７】
ある構成の場合、メモリ・モジュールには、第２のクロック・セグメントに結合されたダミー負荷が設けられる。このダミー負荷によって、メモリ・モジュールの挿入及び除去時に、第２のクロック・セグメントの電気特性が、データ・バスの電気特性に追随するという保証が得られる。
【００１８】
本発明によれば、先行技術のモジュールに最小限の設計変更を施すだけで、メモリの帯域幅が大幅に拡大される。ある実施態様の場合、メモリ・モジュールのクロック・バッファからメモリ・モジュールの未使用ピンに出力を結合することによって、先行技術によるメモリ・モジュールが本発明に従って動作するように構成することが可能になる。
【００１９】
【発明の実施の形態】
図３は、先行技術によるメモリ・システム３２のブロック図である。メモリ・システム３２には、メモリ・コントローラ専用集積回路（ＡＳＩＣ）３４、デュアル・イン−ライン・メモリ・モジュール（ＤＩＭＭ）３６、３８、及び、４０、グローバル・システム・クロック・バッファ４２、及び、メモリ・サブシステム・クロック・バッファ４４が含まれている。各ＤＩＭＭモジュールには、１つ以上の同期ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）回路、及び、低スキュー・クロック・バッファが含まれている。例えば、ＤＩＭＭ４０には、ＳＤＲＡＭ４６Ａ、４６Ｂ、４６Ｃ、４６Ｄ、及び、４６Ｅと、低スキュー・クロック・バッファ４８が含まれている。
【００２０】
メモリ・コントローラＡＳＩＣ３４には、内部クロック・バッファ５０、データ・バス・ドライバ５２、データ受信器５４、及び、データ・レジスタ５６が含まれている。データ・バス５８は、メモリ・コントローラＡＳＩＣ３４と、ＤＩＭＭモジュール３６、３８、及び、４０のそれぞれに結合されている。クロック信号は、クロック・バッファ４２及び４４から構成されるクロック分配ネットワークによってＡＳＩＣに分配される。バッファ４２は、マスタ・クロック信号をライン６０で受信し、該信号を、それぞれ、ライン６２を介してＡＳＩＣ３４に、ライン６４を介してバッファ４４に送る。バッファ４４は、クロック信号を、それぞれ、ライン６６、６８、及び、７０を介してＤＩＭＭ３６、３８、及び、４０に対して送り出す。
【００２１】
従来の技術と題するセクションにおいて上述したように、クロック信号の動作可能周波数は、主として３つの要素、すなわち、クロック信号に対するデータのセット・アップ時間、クロック信号に対するデータのホールド時間、及び、スキューによって制限される。スキューは、計算技術において周知の用語である。要するに、スキューとは、ある事象が生じるのに要する最短時間と最長時間の差である。スキューは、加法性であり、従って、信号が２つのゲートを通り、各ゲートのスキューが１．０ｎｓの場合、全スキューは、２．０ｎｓになる。回路の全スキューを計算するため、例えば、クロック及びデータが、共通装置によってゲートされるか、あるいは、出力ドライブ及びクロック・バッファの両方を駆動するクロック・ネットまたはクロック・バッファのようなネットの共通ポイントに存在する、あるポイントから開始する。そのポイントから、信号がレジスタまたは出力ピンのような刻時装置に再収束するまで、通過する全ての装置のスキューを加算する。最短の許容可能サイクル時間を計算する場合には、セット・アップ及びホールド時間も含まなければならない。こうした計算例について、以下で述べることにする。
【００２２】
あるタイプのスキューは、信号が装置の入力から装置の出力に伝搬する際における、装置の総伝搬遅延（ＴＰＤ）時間から生じる。本明細書では、このタイプのスキューをＴＰＤスキューと呼ぶことにする。別のタイプのスキューは、装置の独立した出力において観測される潜在的な時間差間において生じる。本書では、このタイプのスキューを出力間スキューと呼ぶことにする。
【００２３】
出力間スキューは、そのトランジスタが基本的に整合している単一の半導体装置の作用であるため、制御が容易である。単一の装置は、温度及び電圧が共通しており、製作の異常によって変動が生じると、全ての出力に影響し、従って、相殺される。一方、ＴＰＤスキューは、個別の半導体装置の潜在的な時間差を反映したものであるため、はるかに大きくなる。例えば、メモリ・サブシステムのクロック・バッファ４４の典型的なＴＰＤスキューは、１．０００ｎｓであるが、典型的な出力間スキューは、０．１７５ｎｓである。一般に、装置のＴＰＤスキューには、装置の出力間スキューが含まれるので、ＴＰＤスキューが関連していなければ、装置の出力間スキューが唯一の要素になる。
【００２４】
先行技術によるＳＤＲＡＭ  ＩＣは、セット・アップ時間が約２．５ｎｓ、ホールド時間が約１．０ｎｓ、クロック・データ間のＴＰＤスキューが約３．０ｎｓである。しかし、本発明の発明者の信ずるところによれば、これらの時間は、ＳＤＲＡＭ出力バッファの遅延を補償して、スキューを短縮するといった、さまざまな技法を利用することによって大幅に改善される可能性があるし、改善されることになるであろう。発明者の予測では、ＳＤＲＡＭの将来のバージョンは、セット・アップ時間が約０．５ｎｓ、ホールド時間が約０．２５ｎｓ、ＴＰＤスキューが約０．７５ｎｓになる。
【００２５】
後述するように、本発明では、先行技術によるＳＤＲＡＭ  ＩＣを利用して、ＳＤＲＡＭから構成されたメモリ・システムの最高動作周波数をほぼ２倍に高める。しかし、発明者が予測するものと同様のタイミング特性を備えたＳＤＲＡＭを利用すれば、本発明によって、最高動作周波数は約３〜４倍に高められる。
【００２６】
以下のタイミング・バジェット（タイミングの内訳）は、先行技術のＳＤＲＡＭによる時間を利用して計算されたものである。このバジェットは、読み取り及び書き込み操作の実施時におけるメモリ３２のセット・アップ時間及びホールド時間とスキュー時間を示し、システム３２の最短許容可能サイクル時間を規定している。全てのバジェットは、クロック・パルスの最初の波面が出力バッファに到達すると、即座に、データ・バスにデータが送り出される、データ・バス５８における最初の入射波面のスイッチングを想定している。最初の入射波面のスイッチングは、ＳＤＲＡＭ及びＡＳＩＣ装置に利用される高性能のＣＭＯＳ  ＦＥＴトランジスタを利用して簡単に実施される。下記の時間は、こうした装置の時間を表している。
【００２７】
【表１】
0004001670.tif 000002
【００２８】
【表２】
0004001670.tif 000003
【００２９】
回路３２の読み取りバジェットの計算は、バッファ４２から開始される。バッファ４２の出力は、ライン６０から導き出されるので、遅延（番号）１には、バッファ４２の出力間スキューだけしか含まれていない。遅延２及び３は、それぞれ、クロック・バッファ４４とＤＩＭＭバッファ（例えば、バッファ４８）のＴＰＤスキューによって生じる。遅延４は、各ＳＤＡＲＡＭにおいて見受けられるクロック及びバス・ドライバによってもたらされるスキューである。
【００３０】
多くのコンピュータ・システムにおいては、メモリは、Ｎのメモリ・サブシステムに編成され、各メモリ・サブシステム毎に、ＭのＤＩＭＭが駆動されるので、全体ではＮ×ＭのＤＩＭＭが駆動されることになる。従って、図の場合、Ｍは３に等しい。信号がＤＩＭＭ間のデータ・バスを渡るのに約０．２５０ｎｓかかるので、３つのＤＩＭＭサブシステムの場合、メモリ・コントローラＡＳＩＣに最も近いＤＩＭＭが、最も遠いＤＩＭＭより約０．７５００ｎｓ先にデータを受信する。さらに、図３に示すようなバスは、約０．２５０ｎｓの伝搬変動を生じることになる。データは、両方向に流れなければならないので、クロック・ラインの長さを利用して、この遅延を補償することはできない。従って、設計者は、読み取り操作と書き込み操作の両方にクロックを利用することができるように、ＤＩＭＭに流れるクロック長を等化させようとしなければならない。遅延５は、０．２５０ｎｓの伝搬変動と、異なるＤＩＭＭに伝搬するデータは、異なる長さのデータ・バス５８を通るが、クロック信号はほぼ同じ長さを伝搬するという事実によってもたらされるスキューを考慮したものである。もちろん、遅延５は、メモリ・サブシステムにおけるＤＩＭＭ数に従って変動することになる。
【００３１】
遅延６は、ＡＳＩＣ３４におけるクロック・バッファ５０のＴＰＤスキューである。遅延６には、ＡＳＩＣ３４のクロック・データ間スキューも含まれている。遅延７は、ＡＳＩＣ３４のセット・アップ時間であり、遅延８は、ＡＳＩＣ３４のホールド時間である。上述のように、回路３２の読み取りバジェットによって、１１５．３ＭＨｚの最高読み取りサイクル周波数が得られる。
【００３２】
回路３２の書き込みバジェットの計算も、バッファ４２から開始される。遅延９は、クロック・バッファ４２の出力間スキューであり、読み取りバジェットにおける遅延１に対応する。遅延１０は、ＡＳＩＣ３４のクロック・バッファ５０のＴＰＤスキューを表しており、読み取りバジェットの遅延６に対応する。遅延１１は、ＡＳＩＣ３４のバス・ドライバ５２のＴＰＤスキューである。遅延１２は、ＤＩＭＭのバック・プレーンに関連した遅延であり、書き込みバジェットの遅延５に対応する。遅延１４及び１５は、それぞれ、ＳＤＲＡＭ４６ＡのようなＳＤＲＡＭ  ＩＣのセット・アップ時間及びホールド時間である。遅延１６は、クロック・バッファ４４のＴＰＤスキューであり、遅延１７は、バッファ４８のようなＤＩＭＭクロック・バッファのＴＰＤスキューである。以上から明らかなように、回路３２の書き込みバジェットによって、回路３２の動作可能な最高周波数である１０６．１ＭＨｚの最高書き込みサイクル周波数が得られる。
【００３３】
図４は、本発明によるメモリ・システム７２のブロック図である。メモリ・システム７２には、メモリ・コントローラＡＳＩＣ７４、ＤＩＭＭ７６、７８、及び、８０、グローバル・システム・クロック・バッファ８２、データ・バス８４、クロック・ライン８６、及び、遅延線９８、１０４、１０６、及び、１０８が含まれている。各クロック・ラインには、遅延線の１つが設けられている。各ＤＩＭＭには、クロック・バッファと、少なくとも１つのＳＤＲＡＭが含まれている。例えば、ＤＩＭＭ８０は、ＳＤＲＡＭ１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄ、及び、１１０Ｅと、バッファ１２０を備えている。各ＤＩＭＭクロック・バッファは、ＳＤＲＡＭのクロック入力に結合された出力を備えている。さらに、各クロック・バッファの１つのラインが、クロック・ラインを介してＡＳＩＣ７４に送り返される。各ＤＩＭＭは、さらに詳細に後述するダミー負荷のための接続も備えている。
【００３４】
メモリ・コントローラＡＳＩＣ７４には、クロック・ドライバ１２２、データ・バス・ドライバ１３０、データ・バス受信器１３２、及び、レジスタ１３４、１３６、及び、１３８が含まれている。レジスタ１３４、１３６、及び、１３８は、ＤＩＭＭのクロック・バッファによって供給されるクロック信号によって刻時される。
【００３５】
図３の先行技術によるメモリ・システム３２と本発明のメモリ・システムの基本的な相違は、ＤＩＭＭからの読み取りデータを記録するためにＡＳＩＣ７４によって用いられる用いられるクロックが、ＤＩＭＭのクロック・バッファによって供給されるという点である。従って、クロック・パルスは、必ず、データと同じ方向に進行する。本発明は、データ・バス８４に対応する電気特性を備えたクロック・ラインを設計することによって、メモリ・サブシステムの最高許容可能サイクル周波数に大幅な改良を加えることが可能である。これらの技法については、回路７２のＳＤＲＡＭ読み取り及び書き込みバジェットを考慮して、詳述する。下記のタイミング・バジェットは、読み取り及び書き込み操作の実施時におけるメモリ回路７２のセット・アップ及びホールド時間とスキュー時間を示している。全てのバジェットは、データ・バス８４における最初の入射波面のスイッチングを想定している。本発明の利点を示すため、タイミング・バジェットは、図３に示すものと同一のタイミング特性を備えた先行技術によるクロック・バッファ、ＳＤＲＡＭ、及び、ＡＳＩＣを用いて計算されている。しかし、クロック・バッファ、ＳＤＲＡＭ、及び、ＡＳＩＣを接続する、回路基板のクロック経路とデータ経路は、後述するようにきっちりと一致しなければならない。本発明と図１の先行技術によるメモリ・サブシステム３２の比較を助けるため、下記に用いられる遅延参照番号は、上記で用いられたものと統一されている。
【００３６】
【表３】
0004001670.tif 000004
【００３７】
【表４】
0004001670.tif 000005
【００３８】
図３のメモリ・サブシステムの場合、読み取りバジェットの計算は、グローバル・システム・クロック・バッファ４２から開始された。図４の本発明の場合、読み取りデータの妥当性を検査するためＡＳＩＣ７４によって利用されるクロックは、ＤＩＭＭクロック・バッファによって供給される。これによって得られる利点の１つは、読み取りバジェットの計算が、ＤＩＭＭクロック・バッファにおいて開始されるということである。これによって、グローバル・システム・クロック・バッファ及びメモリ・サブシステム・クロック・バッファからスキューが除去され、ＤＩＭＭクロック・バッファのスキューがＴＰＤスキューから出力間スキューに変換される。上述のように、出力間スキューは、ＴＰＤスキューよりはるかに小さい。従って、遅延１８は、バッファ１２０のようなＤＩＭＭクロック・バッファの出力間スキューである。
【００３９】
遅延１９は、ＳＤＲＡＭ  ＴＰＤスキューである。この遅延は、システム３２の遅延４に対応する。
【００４０】
図３に関連して上述のように、先行技術によるメモリ・システム３２は、かなりのバック・プレーン・スキューを有している。しかし、図４の場合、各ＤＩＭＭからＡＳＩＣ７４に延びるクロック・ラインは、バス８４の対応するデータ・ラインとぴったりと一致する。さらに、各ＤＩＭＭからのデータは、ＡＳＩＣ７４の対応する独立したレジスタに記録される。例えば、ＤＩＭＭ７８からのデータは、レジスタ１３６に記録される。その結果、ＤＩＭＭ間のバック・プレーン接続による伝搬遅延は最小限に抑えられ、ＤＩＭＭ数によって変化することはない。従って、遅延２０は、バス８４に関連した０．２５０ｎｓの伝搬変動を表しているが、データ・バス５８の異なる長さを通るデータによってもたらされるスキューは含まれていない。
【００４１】
遅延２１は、ＡＳＩＣ７４のデータ−クロック間スキューである。回路３２の場合、この時間はＡＳＩＣ３４の内部クロック・バッファ５０のＴＰＤスキューに含まれていた（遅延６）。本発明では、一致したラインに沿ってＤＩＭＭからクロック及びデータを供給することによって、ＴＰＤスキューがはるかに小さいデータ・クロック間スキューに置き換えられる。
【００４２】
遅延２２及び２３は、それぞれ、ＡＳＩＣ７４のデータ・セット・アップ時間及びデータ・ホールド時間である。これらの時間は、システム３２の遅延７及び８に対応する。以上から明らかなように、回路７２の読み取りバジェットによって、２３９．５ＭＨｚの最高読み取りサイクル周波数が得られる。これは、回路３２によって得られる１１５．３ＭＨｚの最高読み取りサイクル周波数に対して極めて大幅な改善である。しかし、両回路とも、同様のタイミング特性を備えたコンポーネントを利用している。
【００４３】
本発明の場合、ＤＩＭＭからデータを読み取る場合、クロック及びデータが、ＤＩＭＭから生じ、一致したラインに沿って伝搬する。同様に、ＤＩＭＭにデータを書き込む場合、クロック及びデータがＡＳＩＣ７４から生じ、一致したラインに沿って伝搬する。
【００４４】
図３のメモリ・システム３２の場合、書き込みバジェットの計算は、グローバル・システム・クロック・バッファ４２から開始された。図４の本発明のメモリ・システム７２の場合、書き込みバジェットの計算は、ＡＳＩＣ７４のクロック及びデータ出力から開始される。クロックをＡＳＩＣ７４に送り込む経路選択とＡＳＩＣ７４から送り出す経路選択を行うことによって、グローバル・システム・クロック・バッファによって発生するスキューは、除去され、ＡＳＩＣの内部クロック・バッファのスキューは、ＡＳＩＣ７４が単一装置であるため、はるかに小さいクロック・ドライバ−データ・ドライバ間スキューに置き換えられる。遅延２４は、ＡＳＩＣ７４のクロック・ドライバ−データ・ドライバ間スキューである。
【００４５】
上述のように、本発明は、バック・プレーン・スキューを最小限に抑える。遅延２５は、バック・プレーン・スキューである。
【００４６】
遅延２７及び２８は、ＳＤＲＡＭ１１０ＡのようなＳＤＲＡＭのセット・アップ時間及びホールド時間である。遅延２７及び２８は、それぞれ、メモリ・システム３２の遅延１４及び１５に対応する。
【００４７】
遅延２９は、ＤＩＭＭクロック・バッファ（バッファ１２０のような）のＴＰＤスキューであり、システム３２の遅延１７に対応する。上記から明らかなように、回路７２の書き込みバジェットによって、１９０．５ＭＨＺの最高読み取りサイクル周波数が得られるが、これは、システム３２によって得られる１０６．１ＭＨｚの最高読み取りサイクル周波数に比べて大幅な改善である。従って、本発明のメモリ・システムは、１９０．５ＭＨｚで動作するが、先行技術のメモリ・システムは、１０６．１ＭＨｚで動作する。従って、本発明によれば、先行技術のコンポーネントを利用して、最高動作周波数が８０％向上する。
【００４８】
システム７２の読み取り及び書き込みバジェットの計算に用いられたコンポーネントは、図３の先行技術によるシステム３２のものと同じタイミング特性を備えている。しかし、こうしたコンポーネントの場合、メモリ・システム７２の読み取りサイクルのタイミング（２３９．５ＭＨｚ）と書き込みサイクルのタイミング（１９０．５ＭＨｚ）の間にかなりの相違がある。わずかなコンポーネントの取り替えにとどめて、この相違を大幅に減少させることが可能である。
【００４９】
システム３２及び７２におけるＤＩＭＭに用いられるクロック・バッファのＴＰＤスキュー値は１．０００ｎｓである。これは、ＤＩＭＭにおいて一般に用いられている低電圧ＴＴＬクロック・バッファに相当する。しかし、各ＤＩＭＭに、よりコストの高いＥＣＬクロック・バッファを用いると、バッファのＴＰＤスキューは、０．２００ｎｓに短縮される。これによって、全最短許容可能書き込みサイクル時間は４．４５ｎｓに短縮され、従って、最高許容可能書き込み周波数は２２４．７ＭＨｚにまで上昇し、この結果、書き込み周波数は読み取り周波数に近づくことになる。この取り替えの場合、より小幅ではあるが、ＤＩＭＭクロック・バッファの出力間スキューも短縮されるので、最高許容可能読み取り周波数も多少上昇する。
【００５０】
次に、先行技術によるメモリ・システム３２と本発明のメモリ・システム７２は、本発明の予測に従い、セット・アップ時間が約０．５ｎｓ、ホールド時間が約０．２５ｎｓ、ＴＰＤスキューが約０．７５ｎｓのＳＤＲＡＭの将来のバージョンを利用して構成されるものと仮定する。読み取りバジェット及び書き込みバジェットは、下記の通りである：
【００５１】
【表５】
0004001670.tif 000006
【００５２】
【表６】
0004001670.tif 000007
【００５３】
従って、当業者には予想が付くように、先行技術によるメモリ・システム３２は将来のＳＤＲＡＭを用いる時は１４９．８ＭＨｚで動作する。
【００５４】
【表７】
0004001670.tif 000008
【００５５】
【表８】
0004001670.tif 000009
【００５６】
従って、メモリ・システム７２は、発明者の予測によれば、将来のＳＤＲＡＭを利用する場合、４００．０ＭＨｚで動作することになる。これは、先行技術による回路３２に比べて１６７％の向上である。ＥＣＬ  ＤＩＭＭクロック・バッファが回路３２及び７２の両方に用いられる場合、周波数は、１７０ＭＨｚ及び５８８ＭＨｚに急上昇する。ＥＣＬバッファと将来のＳＤＲＡＭによって、メモリ・システム７２は、先行技術によるメモリ・システム３２よりも２４６％速くなる。
【００５７】
先行技術によるＳＩＭＭ及びＤＩＭＭの利点の１つは、メモリの取り付け及び取り外しが容易に行えるということである。各ＤＩＭＭのダミー負荷接続によって、本発明は、性能を犠牲にすることなく、この利点を継承することが可能である。基本的に、ダミー負荷は、追加ＤＩＭＭを加えることによってデータ・バスに生じる効果をクロック・ラインにおいて再現しようとする。例えば、ＡＳＩＣ７４からＤＩＭＭ８０にデータが書き込まれており、ＤＩＭＭ７６及び７８が取り付けられているものと仮定する。データ・バス・ドライバ１３０は、ＤＩＭＭ７６及び７８内に延びるデータ・バス８４の一部のキャパシタンスを駆動し、ダミー負荷１４０及び１４２は、これらの部分の電気的効果を再現することによって、ＤＩＭＭ８０とＡＳＩＣ７４の間におけるクロック・ライン９２とデータ・バス８４の電気特性を一致した状態に保つ。次に、ＤＩＭＭ７８が取り除かれるものと仮定する。ＤＩＭＭ７８が取り除かれると、データ・バス８４の一部を取り除かれる。しかし、それによって、ダミー負荷１４２も取り除かれるので、クロック・ライン９２の電気的特性は、データ・バスの電気的特性と一致したままである。各ＤＩＭＭ毎に設けなければならないダミー負荷数は、メモリ・サブシステムに配置することが可能なＤＩＭＭ数から１つ引いた数に等しい。
【００５８】
ＳＤＲＡＭへの書き込み時に、ＳＤＲＡＭよって必要とされるセット・アップ時間をつくり出すために、遅延線９８が必要になる可能性がある。遅延線は、当該技術において既知のように、単純に経路長を延長したタイプ、または、他の何らかのタイプの遅延線とすることが可能である。代替案として、遅延線９８をＡＳＩＣ７４に送り込むことが可能であり、その場合、遅延線９８の遅延を簡単に変更することができる。
【００５９】
同様に、ＳＤＲＡＭ伝搬遅延を補償し、ＡＳＩＣ７４が必要とするセット・アップ時間をつくり出すために、遅延線１０４、１０６、及び、１０８が必要になる可能性がある。やはり、遅延線１０４、１０６、及び、１０８をＡＳＩＣ７４に送り込むことが可能であり、その場合、遅延線の遅延を簡単に変更することができる。
【００６０】
遅延線９８が必要とする遅延は、ＤＩＭＭクロック・バッファの伝搬遅延とＳＤＲＡＭが必要とするセット・アップ時間によって決まる。遅延線９８、１０４、１０６、及び、１０８は、有効データ・ウインドウの中央にクロックの中心がくるように調整することが可能であり、この結果、クロックとデータは、適正な位相関係をなして、ＤＩＭＭ及びＡＳＩＣ７４に到着する。
【００６１】
本発明によれば、先行技術のＤＩＭＭ及びＳＩＭＭ設計に最小限の変更を加えることによって、ＤＩＭＭ及びＳＩＭＭをベースにした先行技術のメモリ・サブシステムに対して大幅に性能が向上する。先行技術のＤＩＭＭ設計は、上述のように、ただ単にＤＩＭＭのクロック・バッファの出力をＤＩＭＭの未使用のピンに対して経路指定し、他の未使用ピンにダミー負荷を設けるだけで、修正することが可能である。性能のかなりの追加利得は、ただ単にＤＩＭＭの低電圧ＴＴＬクロック・バッファをＥＣＬクロック・バッファに置き換えるだけで実現することが可能である。
【００６２】
現行メモリ構成に適用すると、本発明によって、かなりの利点が得られるが、本明細書に開示の概念は、ＳＤＲＡＭが本発明によって機能するように設計される場合、いっそう多くの利点をもたらすことが可能になる。例えば、ＳＤＲＡＭパッケージ数を減らして、ＤＩＭＭクロック・バッファが除去され、クロックが直接ＳＤＲＡＭに供給されるようになっている、また、ＳＤＲＡＭに、データと共にメモリ・コントローラＡＳＩＣに送ることが可能なクロックの出力ピンが設けられている小システムの場合、メモリ・システムの周波数は、さらに上昇させることが可能である。こうした構成の場合、読み取りバジェットから、ＳＤＲＡＭ  ＴＰＤスキュー（０．７５０ｎｓ）が除去され、ＤＩＭＭクロック・バッファ出力間スキューが、ＳＤＲＡＭの出力における出力間スキューに置き換えられる。これによって、読み取りサイクル時間が１．１７５ｎｓに短縮され、最高読み取りサイクル周波数が８５１．０ＭＨｚに上昇する。同様に、こうした構成によって、ＤＩＭＭクロック・バッファＴＰＤスキュー（１．０００ｎｓ）が書き込みバジェットから除去され、この結果、書き込みサイクル時間が１．５ｎｓに短縮され、最高読み取りサイクル周波数が６６６．７ＭＨｚに上昇する。
【００６３】
本発明の説明は、メモリ・コントローラ及びメモリ・モジュールに関連して行われてきた。しかし、当該技術の技術者には明らかなように、本発明は、データが第１と第２のデータ・ブロック間において送られ、クロック信号によって妥当性が検査される多くの他のタイプのデジタル・システムにおける利用に適応させることも可能である。さらに、本発明の利点のいくつかは、ただ単にシャドー・クロック・バッファをＤＩＭＭソケットに近接して配置するだけで実現することが可能であり、シャドー・クロック・バッファは戻りクロックを発生する。この構成の場合、本発明の利点の多くは、先行技術のＤＩＭＭを用いることによって実現することが可能である。
【００６４】
本発明によれば、先行技術によるＤＩＭＭ及びＳＩＭＭメモリ構成に比べて性能が大幅に向上するが、本発明には、Ｒａｍｂｕｓ，Ｉｎｃ．製のような先行技術による高速メモリ・システムに対してもいくつかの利点がある。こうした先行技術による高速メモリ・システムは、５００ＭＨｚを超える周波数で動作するが、クロック・スキューを取り扱うためには、複雑な位相検出器、位相ロック・ループ、遅延線等を必要とする。本発明では、こうした技法を用いなくても、少なくとも同じ速度が得られる。必要とされるのは、いくつかの追加相互接続を行い、クロック・ライン及びデータ・ラインに入念な注意を払って、それらの電気特性が適正に一致するという保証が得られるようにすることと、（オプションにより）各ＤＩＭＭ毎に高速クロック・バッファを利用することだけである。最後に、本発明は、位相ロック・ループに左右されないので、電力に減少及び待ち時間の短縮に利用されるクロック停止技法を用いるのが容易である。位相ロック・ループは、信号にロックするのに起動期間を必要とする。
【００６５】
本発明の説明は、望ましい実施態様に関連して行われてきたが、当該技術の技術者には明らかなように、本発明の精神及び範囲を逸脱することなく、形態及び細部に変更を施すことが可能である。
【００６６】
以上、本発明の実施例について詳述したが、以下、本発明の各実施態様の例を示す。
【００６７】
（実施態様１）
メモリ・モジュールからデータを読み取る際、クロックとデータ信号のスキューを最小限に抑える方法であって、
メモリ・コントローラからメモリ・モジュールにクロック信号を転送することと、
メモリ・モジュールにおいて、データ・バスにデータを送り出すことと、
メモリ・モジュールからメモリ・コントローラにクロック信号のコピーを送ることと、
クロック信号のコピーを利用して、メモリ・コントローラにおいて、データ・バスのデータの妥当性を検査すること
とを含む方法。
【００６８】
（実施態様２）
メモリ・モジュールにデータを書き込む際、クロックとデータ信号のスキューを最小限に抑える方法であって、
メモリ・コントローラからメモリ・モジュールにクロック信号を転送することと、
メモリ・コントローラにおいて、データ・バスにデータを送り出すことと、
メモリ・コントローラからメモリ・モジュールにクロック信号のコピーを送ることと、
クロック信号のコピーを利用して、メモリ・モジュールにおいて、データ・バスのデータの妥当性を検査すること
とを含む方法。
【００６９】
【発明の効果】
以上のように、本発明によれば、数百メガヘルツの速度で動作するプロセッサが将来発生することによって生じる問題に対処する、低コストで高性能のメモリ・システムによる解決策が得られる。
【図面の簡単な説明】
【図１】Ｇａｓｂａｒｒｏ他に対する米国特許第５，４３２，８２３号の図３に手を加えたものであり、Ｒａｍｂｕｓメモリ・システムにおいてクロック・スキューを最小限に抑える方法を明らかにするブロック図である。
【図２】Ｒａｍｂｕｓ６４メガ・ビットＤＲＡＭのブロック図であり、１９９５年１１月２９日に発行されたＲａｍｂｕｓ  ６４−Ｍｅｇａｂｉｔ  Ｒａｍｂｕｓ  ＤＲＡＭ  Ｐｒｏｄｕｃｔ  Ｓｕｍｍａｒｙの図に手を加えた図である。
【図３】デュアル・イン−ライン・メモリ・モジュール（ＤＩＭＭ）を用いた先行技術によるメモリ・システムのブロック図である。
【図４】本発明によるメモリ・システムのブロック図である。
【符号の説明】
３２：メモリ・システム
３４：メモリ・コントローラＡＳＩＣ
３６、３８、４０：ＤＩＭＭ
４２：グローバル・システム・クロック・バッファ
４４：メモリ・サブシステム・クロック・バッファ
４６：ＳＤＲＡＭ
４８：クロック・バッファ
５０：内部クロック・バッファ
５２：データ・バス・ドライバ
５４：データ受信器
５６：データ・レジスタ
５８：データ・バス
６０、６２、６４、６６、７０：ライン
７２：メモリ・システム
７４：メモリ・コントローラＡＳＩＣ
７６、７８、８０：ＤＩＭＭ
８２：グローバル・システム・クロック・バッファ
８４：データ・バス
８６、９２：クロック・ライン
９８、１０４、１０６、１０８：遅延線
１１０：ＳＤＲＡＭ
１２０：ＤＩＭＭクロック・バッファ
１２２：クロック・ドライバ
１３０：データ・バス・ドライバ
１３２：データ・バス受信器
１３４、１３６、１３８：レジスタ
１４０、１４２：ダミー負荷
【図１】
0004001670.tif 000010
【図２】
0004001670.tif 000011
【図３】
0004001670.tif 000012
【図４】
0004001670.tif 000013