説明

多様に配置されたメモリ・コンポーネントからメモリ・オペレーションを調整する方法と装置

【課題】 さまざまな位置に配置されたメモリ・コンポーネントの間でメモリ動作を調整する方法および装置を提供すること。
【解決手段】 本発明の実施形態によれば、複数のメモリ・コンポーネントに結合されたアドレス・バスについて、ウェーブパイプライン化が実施される。複数のメモリ・コンポーネントが、アドレス・バス伝搬遅延およびデータ・バス伝搬遅延に関係する調整に従って構成される。アドレス信号および/または制御信号に関連する、これらの信号の伝搬遅延を複製するタイミング信号が、メモリ動作の調整に使用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全般的には情報の蓄積および検索に関し、具体的には、メモリ・コンポーネントの調整に関する。
【背景技術】
【0002】
コンピュータおよびデータ処理機器の能力が高まるにつれて、ユーザは、それらの機器に対するますます高まる要求を課す応用例を開発してきた。したがって、所与の時間の間により多くの情報を処理することに対する、継続的に高まる要求がある。所与の時間の間により多くの情報を処理する方法の1つが、情報の各要素をより短い時間で処理することである。時間が短縮されるにつれて、電子信号の通信を支配する物理的な速度の限界に近づく。遅延なしで情報の電子表現を移動できることが理想的であるが、そのような遅延は回避不能である。実際、遅延が回避不能であるばかりではなく、遅延の量が距離の関数なので、遅延は、通信する装置の相対的な位置に従って変動する。
【0003】
単一の電子デバイスの能力に限界があるので、メモリ・コンポーネントなどのデバイスを多数組み合わせて、システムの総合性能を高めるために一緒に機能させることが望ましいことがしばしばである。しかし、デバイスは、空間内の同一の位置にすべてが同時に存在することができないので、ある面積にわたって異なる位置に配置されたデバイスを有するシステムの動作に対する考慮が必要である。
【0004】
従来は、デバイスの動作のタイミングが、デバイスの位置の変動がその動作にとって問題になる点まで加速されていなかった。しかし、性能の要求が高まったので、従来のタイミング・パラダイムが、進歩に対する障害になった。
【0005】
既存のメモリ・システムの一例では、DDR(double data rate)メモリ・コンポーネントが使用される。このメモリ・システムには、メモリ・コントローラとメモリ・モジュールが含まれる。伝搬遅延が、メモリ・コントローラとメモリ・モジュールの間のアドレス・バスに沿って発生する。もう1つの伝搬遅延が、メモリ・コントローラとメモリ・モジュールの間のデータ・バスに沿って発生する。
【0006】
メモリ・モジュール内の制御信号および制御クロック信号の分配が、厳密な制約を受ける。通常、制御線は、各メモリ・コンポーネントへの長さが等しくなるようにルーティングされる。「スター」トポロジまたは「2進木」トポロジが、通常は使用され、この場合に、スターの各スポークまたは2進木の各枝が、同一の長さを有する。その意図は、メモリ・モジュールの異なるメモリ・コンポーネントの間の制御信号および制御クロック信号のタイミングの変動を除去することであるが、各メモリ・コンポーネントへのワイヤの長さの平衡化は、システム性能を損なう(一部のパスが、必要以上に長くなる)。さらに、等しい長さをもたらすようにワイヤをルーティングする必要によって、メモリ・コンポーネントの数が制限され、メモリ・コンポーネントの接続が複雑になる。
【0007】
そのようなDDRシステムでは、データ・ストローブ信号が、データ読取動作とデータ書込動作の両方のタイミングを制御するのに使用される。データ・ストローブ信号は、周期的なタイミング信号ではなく、データが転送される時に限ってアサートされる。制御信号のタイミング信号は、周期的なクロックである。書込データのデータ・ストローブ信号は、制御信号のクロックに整列される。読取データのストローブは、アドレス・バスに沿った伝搬遅延とデータ・バスに沿った伝搬遅延の合計に等しい、制御クロックに対する相対的な遅延だけ遅延される。読取転送の後に書込転送が続く時には、シグナリングの一時停止を設けて、使用されるさまざまな信号線に沿った干渉を防がなければならない。そのような一時停止は、システム性能を低下させる。
【0008】
そのようなシステムは、複数の形で制約を受ける。第1に、制御ワイヤが、スター・トポロジまたは2進木ルーティングを有するので、スタブ(スポークまたは枝の終点)で反射が発生する。反射は、信号の整定時間を増やし、制御ワイヤの転送帯域幅を制限する。その結果、制御ワイヤ上で1つの情報が駆動されるタイム・インターバルが、信号波面が制御ワイヤの一端から他端まで伝搬するのに要する時間より長くなる。さらに、より多くのモジュールがシステムに追加される時に、より多くのワイヤ・スタブが、データ・バスの各導体に追加され、これによって、スタブからの反射が増える。これによって、信号の整定時間が増加し、データ・バスの転送帯域幅がさらに制限される。
【0009】
また、このシステム内のアドレス・バスに沿った伝搬遅延とデータ・バスに沿った伝搬遅延の間の関係に対する制約があるので、メモリ・コンポーネントのタイミング・パラメータに違反せずに動作周波数を高めることは困難である。クロック信号が、別のクロック信号と独立である場合に、これらのクロック信号およびそれに関係するコンポーネントは、異なるクロック・ドメインであるとみなされる。メモリ・コンポーネント内で、書込データ・レシーバは、メモリ・コンポーネントのロジックの残りと異なるクロック・ドメインで動作しており、ドメイン・クロッシング回路は、これらの2つのドメインの間の限られた量のスキューだけに対処する。データのシグナリング・レートを高めると、このスキュー・パラメータ(時間単位で測定された時の)が減り、基板上のデータ・ワイヤと制御ワイヤの間のルーティング不一致がタイミング違反を引き起こす機会が増える。
【0010】
また、ほとんどのDDRシステムは、アドレス・バスおよびデータ・バスの伝搬遅延の長さ(時間単位)に対する厳密な制限を有する。これは、通常、コントローラの読取データ・レシーバ・クロック・ドメインからコントローラの残りの部分が使用するクロック・ドメインへのクロッシングのために含まれるロジックと、メモリ・コントローラとによって課せられる制限である。通常は、これらの伝搬遅延の合計の長さに対する制限(クロック・サイクル単位で表される)もある。マザーボード・レイアウトのためにこの合計が大きくなりすぎる(時間単位で測定された時に)場合に、システムの信号レートを下げなければならない場合があるが、これによって性能が低下する。
【0011】
既存のメモリ・システムのもう1つの例では、制御ワイヤおよびデータ・バスが、メモリ・コントローラに接続され、各メモリ・モジュール上のメモリ・コンポーネントを通って一緒にルーティングされる。1つのクロックが、書込データ信号と制御信号のタイミングを制御するのに使用され、もう1つのクロックが、読取データのタイミングを制御するのに使用される。これらの2つのクロックは、メモリ・コントローラで整列される。前の従来技術の例と異なって、これらの2つのタイミング信号は、別々のワイヤで搬送される。
【0012】
そのような代替システムでは、複数の組の制御ワイヤと1つのデータ・バスを使用して、メモリ・コントローラを1つまたは複数のメモリ・コンポーネントに相互結合することができる。別の組の制御ワイヤが必要なので、追加のコストと複雑さが導入されるが、これは、望ましくない。また、大容量メモリ・システムが必要な場合に、各データ・バス上のメモリ・コンポーネントの数が、相対的に多くなる。これは、データ・バス上の最大信号レートを制限する傾向を有し、これによって性能が制限される。
【0013】
既存のメモリ・システムのもう1つの例が、ハンセン(Hansen)他に1998年7月7日に発行された米国特許第5778419号に見られる。ハンセン他の特許は、パケットおよびアービトレーションを使用する高帯域幅インターフェースを有するダイナミック・ランダム・アクセス・メモリ(DRAM)に関するが、そのようなDRAMは、その有用性を制限するいくつかの不利益をこうむる。
【発明の概要】
【発明が解決しようとする課題】
【0014】
したがって、さまざまな位置に配置されたメモリ・コンポーネントの間でメモリ動作を調整する技法が必要である。
【課題を解決するための手段】
【0015】
本発明は、メモリ・コントローラ・コンポーネントと、スライスを含むメモリ・コンポーネントのランクと、該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクに結合し、該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合する導体であって、導体のうちで、アドレス信号、書込データ信号、および読取データ信号からなる群から選択された信号を搬送する1つの伝搬遅延が、該信号によって表される情報の要素が該導体に印加される時間の量より長く、該導体が、該メモリ・コントローラ・コンポーネントを該ランクの該スライスのそれぞれに連続して接続する共通アドレス・バスと、該メモリ・コントローラ・コンポーネントを該ランクの該スライスのそれぞれに接続する別のデータ・バスとを含むことを特徴とするメモリ・システムである。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態を実施することができる、メモリ・コンポーネントの単一のランクを有するメモリ・システムを示すブロック図である。
【図2】本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コンポーネントのランクの1スライスのクロッキングの詳細を示すブロック図である。
【図3】他の図のタイミング図で使用されるアドレス・タイミングおよび制御タイミングの表記を示すタイミング図である。
【図4】他の図のタイミング図で使用されるデータ・タイミングの表記を示すタイミング図である。
【図5】本発明の実施形態による、アドレスおよび制御バス(Addr/CtrlまたはACS,M)上で通信される信号のタイミングを示すタイミング図である。
【図6】本発明の実施形態による、データ・バス(DQS,M)上で通信される信号のタイミングを示すタイミング図である。
【図7】本発明の実施形態による、メモリ・コントローラ・コンポーネントでのシステム・タイミングを示すタイミング図である。
【図8】本発明の実施形態による、ランク1のスライス1のメモリ・コンポーネントでのクロックAClkS1,M1、WClkS1,M1、およびRClkS1,M1の整列を示すタイミング図である。
【図9】本発明の実施形態による、ランク1のスライスNSのメモリ・コンポーネントでのクロックAClkSNsM1、WClkSNsM1、およびRClkSNsM1の整列を示すタイミング図である。
【図10】本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コンポーネントのランクの1スライスのさらなる詳細を示すブロック図である。
【図11】本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コンポーネントのランクの1スライスのクロッキング要素を示すブロック図である。
【図12】本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コントローラ・コンポーネントの詳細を示すブロック図である。
【図13】本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コントローラ・コンポーネントのクロッキング要素を示すブロック図である。
【図14】本発明の実施形態による、図12に示されたものなどのメモリ・コントローラ・コンポーネントのClkC8ブロックの詳細を示すブロック図である。
【図15】本発明の実施形態による、図12に示されたものなどのメモリ・コントローラ・コンポーネントの送出ブロックおよび受取ブロックでClkC8[N:1]信号がどのように使用されるかを示すブロック図である。
【図16】本発明の実施形態による、ClkC8Aクロックに基づいてClkC8BクロックおよびClkC1Bクロックを作る回路を示すブロック図である。
【図17】本発明の実施形態による、PhShCブロックの詳細を示すブロック図である。
【図18】本発明の実施形態による、メモリ・コントローラ・コンポーネントの受取ブロックのコントローラ・スライス内のスキップ・ロジックのロジックの詳細を示すブロック図である。
【図19】本発明の実施形態による、メモリ・コントローラ・コンポーネントの受取ブロックのコントローラ・スライス内のスキップ・ロジックのタイミングの詳細を示すタイミング図である。
【図20】本発明の実施形態による、メモリ・コントローラ・コンポーネントの送出ブロックのコントローラ・スライス内のスキップ・ロジックのロジックの詳細を示すブロック図である。
【図21】本発明の実施形態による、メモリ・コントローラ・コンポーネントの送出ブロックのコントローラ・スライス内のスキップ・ロジックのタイミングの詳細を示すタイミング図である。
【図22】本発明の実施形態による、データ・クロッキング配置の例を示すタイミング図である。
【図23】本発明の実施形態による、データ・クロッキング配置の例を示すタイミング図である。
【図24】本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コントローラ・コンポーネントでのタイミングを示すタイミング図である。
【図25】本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コンポーネントの1ランクの第1スライスでのタイミングを示すタイミング図である。
【図26】本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コンポーネントの1ランクの最終スライスでのタイミングを示すタイミング図である。
【図27】本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含めることができるメモリ・システムを示すブロック図である。
【図28】本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含めることができるメモリ・システムを示すブロック図である。
【図29】本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図30】本発明の実施形態による、メモリ・モジュールごとの専用の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図31】本発明の実施形態による、メモリ・モジュールの間で共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図32】本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図33】本発明の実施形態による、メモリ・モジュールごとの専用のスライスされた制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図34】本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【図35】本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。
【発明を実施するための形態】
【0017】
さまざまな位置に配置されたメモリ・コンポーネントの間でメモリ動作を調整する方法および装置を説明する。本発明の実施形態によれば、ウェーブ・パイプライン化が、複数のメモリ・コンポーネントに結合されたアドレス・バスに対して実施される。複数のメモリ・コンポーネントは、アドレス・バス伝搬遅延およびデータ・バス伝搬遅延に関する調整に従って構成される。アドレス信号および/または制御信号に関連する、これらの信号の伝搬遅延を複製するタイミング信号を使用して、メモリ動作を調整する。アドレス・バス伝搬遅延または共通アドレス・バス伝搬遅延は、メモリ・コントローラ・コンポーネントとメモリ・コンポーネントの間でアドレス・バスに沿って進む信号の遅延を指す。データ・バス伝搬遅延は、メモリ・コントローラ・コンポーネントとメモリ・コンポーネントの間でデータ・バスに沿って進む信号の遅延を指す。
【0018】
本発明の一実施形態によれば、メモリ・システムに、メモリ・コンポーネントの複数のランクおよび複数のスライスを提供する複数のメモリ・モジュールが含まれる。そのようなシステムは、図27に関して理解することができる。図27のメモリ・システムには、メモリ・モジュール2703およびメモリ・モジュール2730が含まれる。メモリ・モジュール2703には、メモリ・コンポーネント2716から2618を含むランクと、メモリ・コンポーネント2744から2746を含むもう1つのランクが含まれる。
【0019】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。図27のメモリ・システムには、メモリ・コントローラ2702の一部と、メモリ・コンポーネント2716および2744を含むメモリ・モジュール2703の一部と、メモリ・コンポーネント2731および2734を含むメモリ・モジュール2730の一部とを含むスライス2713が含まれる。図27のメモリ・システムには、メモリ・コントローラ2702のもう1つの部分と、メモリ・コンポーネント2717およびメモリ・コンポーネント2745を含むメモリ・モジュール2703のもう1つの部分と、メモリ・コンポーネント2732および2735を含むメモリ・モジュール2730のもう1つの部分とを含むもう1つのスライス2714が含まれる。図27のメモリ・システムには、さらに、メモリ・コントローラ2702のもう1つの部分と、メモリ・コンポーネント2718および2746を含むメモリ・モジュール2703のもう1つの部分と、メモリ・コンポーネント2733および2736を含むメモリ・モジュール2730のもう1つの部分とを含むもう1つのスライス2715が含まれる。
【0020】
複数のモジュールを使用して実施することができる複数のスライスおよびランクを使用することによって、データ・バスまたはアドレス・バスがそれへの多数の接続を有する時に発生する可能性がある性能低下を回避すると同時に、メモリ・コントローラおよび複数のメモリ・コンポーネントの効率的な相互接続が可能になる。スライスごとに別々のデータ・バスを設けると、各データ・バスへの接続の数を、適度な数にすることができる。別々のデータ・バスは、互いに独立に異なる信号を搬送することができる。スライスに、1モジュールごとに1つまたは複数のメモリ・コンポーネントを含めることができる。たとえば、1つのスライスに、各ランクの1つのメモリ・コンポーネントを含めることができる。用語スライスが、スライスのうちでメモリ・コントローラを除く部分を指すのに使用される場合があることに留意されたい。この形で、メモリ・コントローラを、スライスに結合されているものとみなすことができる。複数のモジュールを使用することによって、メモリ・コンポーネントを、メモリ・コントローラへのパス長に従って編成できる。そのようなパス長のわずかな相違であっても、メモリ・コンポーネントのランクへの編成に従って管理することができる。ランクおよびモジュールに従ってメモリ・コンポーネントを編成することによって、アドレス信号および制御信号を、たとえばランクまたはモジュール内のアドレス・バスの共有を介して、効率的に分配できる。
【0021】
一実施形態では、スライスに、データ・バスに結合された複数の要素が含まれると理解することができる。一例として、これらの要素には、メモリ・コントローラ・コンポーネントの一部、1モジュール上の1つまたは複数のメモリ・コンポーネント、および、任意選択として、別のモジュール上の1つまたは複数のメモリ・コンポーネントを含めることができる。一実施形態では、ランクに、共通アドレス・バスによって結合された複数のメモリ・コンポーネントが含まれると理解することができる。共通アドレス・バスを、任意選択として、1つまたは複数のモジュール上の複数のランクに結合することができる。共通アドレス・バスは、メモリ・コントローラ・コンポーネントを、1ランク内のスライスのそれぞれに連続して接続することができ、これによって、共通アドレス・バスを、ランクの第1スライスからランクの第2スライスへ、およびランクの第2スライスからランクの第3スライスへとルーティングすることが可能になる。そのような構成によって、共通アドレス・バスのルーティングを単純にすることができる。
【0022】
説明のために、ある概念を例示するために、単純化された形のメモリ・システムをまず説明し、その後で、複数のモジュールおよびランクを含むより複雑なメモリ・システムを、本明細書で説明する。
【0023】
図1は、本発明の実施形態を実施することができる、メモリ・コンポーネントの単一のランクを有するメモリ・システムを示すブロック図である。メモリ・システム101には、メモリ・コントローラ・コンポーネント102およびメモリ・モジュール103が含まれる。アドレス・バス107に沿って伝搬するアドレス信号および制御信号に関連するタイミング信号として働くアドレス・クロック信号がアドレス・クロック104によって供給される。アドレス・クロック104は、アドレス・クロック導体109に沿ってそのアドレス・クロック信号を供給する。アドレス・クロック導体109は、メモリ・コントローラ・コンポーネント102およびメモリ・モジュール103に結合される。アドレス信号および制御信号を、時々、単にアドレス信号またはアドレス・バスと称する。しかし、制御信号は、アドレス信号と共通のトポロジに従ってルーティングすることができるので、これらの単語は、使用される時に、アドレス信号または制御信号もしくはその両方を含むものとして理解されなければならない。
【0024】
書込クロック105は、書込動作中にデータ・バス108に沿って伝搬するデータ信号に関連するタイミング信号として働く書込クロック信号を供給する。書込クロック105は、書込クロック導体110に沿ってその書込クロック信号を供給し、書込クロック導体110は、メモリ・コントローラ・コンポーネント102およびメモリ・モジュール103に結合される。読取クロック106は、読取動作中にデータ・バス108に沿って伝搬するデータ信号に関連するタイミング信号として働く読取クロック信号を供給する。読取クロック106は、読取クロック導体111に沿ってその読取クロック信号を供給し、読取クロック導体111は、メモリ・コントローラ・コンポーネント102およびメモリ・モジュール103に結合される。
【0025】
終端コンポーネント120が、メモリ・コントローラ・コンポーネント102の近くでデータ・バス108に結合される。一例として、終端コンポーネント120を、メモリ・コントローラ・コンポーネント102に組み込むことができる。終端コンポーネント121が、メモリ・モジュール103の近くでデータ・バス108に結合される。終端コンポーネント121は、メモリ・モジュール103に組み込まれることが好ましい。終端コンポーネント123が、メモリ・モジュール103のメモリ・コンポーネント116の近くで書込クロック導体110に結合される。終端コンポーネント123は、メモリ・モジュール103に組み込まれることが好ましい。終端コンポーネント124が、メモリ・コントローラ・コンポーネント102の近くで読取クロック導体111に結合される。一例として、終端コンポーネント124を、メモリ・コントローラ・コンポーネント102に組み込むことができる。終端コンポーネント125が、メモリ・モジュール103のメモリ・コンポーネント116の近くで読取クロック導体111に結合される。終端コンポーネント125は、メモリ・モジュール103に組み込まれることが好ましい。終端コンポーネントでは、能動デバイス(たとえばトランジスタまたは他の半導体デバイス)または受動デバイス(たとえば抵抗、コンデンサ、インダクタ)を使用することができる。終端コンポーネントに、オープン接続を使用することができる。終端コンポーネントを、1つまたは複数のメモリ・コントローラ・コンポーネントもしくは1つまたは複数のメモリ・コンポーネントに組み込むことができ、また、モジュール上またはメイン回路基板上の別のコンポーネントとすることができる。
【0026】
メモリ・モジュール103には、メモリ・コンポーネント116、117、および118のランク112が含まれる。メモリ・モジュール103は、各メモリ・コンポーネントが1つのスライスに対応するように編成される。メモリ・コンポーネント116は、スライス113に対応し、メモリ・コンポーネント117は、スライス114に対応し、メモリ・コンポーネント118は、スライス115に対応する。図1には示されていないが、スライス113に関して図示されている、データ・バスと、書込クロックおよび関連する導体と、読取クロックおよび関連する導体とに関連する特定の回路が、他のスライス114および115のそれぞれについて複製される。したがって、そのような回路は、図を簡単にするために図1に図示されていないが、そのようなスライス単位の専用の回路が、図示のメモリ・システムに含まれることが好ましいことを理解されたい。
【0027】
メモリ・モジュール103内で、アドレス・バス107が、メモリ・コンポーネント116、117、および118のそれぞれに結合される。アドレス・クロック導体109が、メモリ・コンポーネント116、117、および118のそれぞれに結合される。メモリ・モジュール103内のアドレス・バス107の末端で、終端コンポーネント119が、アドレス・バス107に結合される。アドレス・クロック導体109の末端で、終端コンポーネント122が、アドレス・クロック導体109に結合される。
【0028】
図1のメモリ・システムでは、各データ信号導体が、1つのコントローラ・データ・バス・ノードを1つのメモリ・デバイス・データ・バス・ノードに接続する。しかし、制御信号導体およびアドレス信号導体のそれぞれが、1つのコントローラ・アドレス/制御バス・ノードを、メモリ・ランクの各メモリ・コンポーネント上のアドレス/制御バス・ノードに接続することが可能である。これは、複数の理由から可能になる。第1に、制御信号導体およびアドレス信号導体には、単一方向信号が流れる(信号波面が、コントローラからメモリ・デバイスに伝搬する)。両方向信号導体(データ信号導体など)上よりも、単一方向信号導体上の方が、よい信号完全性を維持するのが簡単である。第2に、アドレス信号と制御信号に、すべてのメモリ・デバイスについて同一の情報が含まれる。データ信号は、すべてのメモリ・デバイスについて異なる。各メモリ・デバイスについて異なる、いくつかの制御信号(書き込みイネーブル信号など)がある可能性があることに留意されたい。これらの信号は、単一方向データ信号として扱われ、この説明においてはデータ・バスの一部とみなされる。たとえば、いくつかの場合に、データ・バスに、多数のビットに対応するデータ信号線が含まれる場合があるが、いくつかの応用例で、データ・バスによって搬送されるビットの一部だけが、特定のメモリ動作についてメモリに書き込まれる場合がある。たとえば、16ビット・データ・バスに2バイトのデータが含まれるが、特定のメモリ動作中に、2バイトのうちの1バイトだけが、特定のメモリ・デバイスに書き込まれる場合がある。そのような例では、追加の制御信号を、データ信号がたどるものに類似するパスに沿って設けることができ、データ・ビット線上のデータを書き込むか否かを制御する制御信号が、データの遅延に全般的に一致する遅延を伴うパスに沿ってシステムをトラバースし、データの書込を制御する際の制御信号の使用が適当なタイミングを与えられるようにする。第3に、アドレス信号および制御信号のすべてのメモリ・デバイスへのルーティングによって、コントローラおよびメモリ・モジュールのインターフェースのピンが節約される。
【0029】
その結果、制御信号およびアドレス信号が、データ信号の伝搬に使用されるワイヤより長いワイヤで伝搬されるようになる。これによって、いくつかの場合に、データ信号で、制御信号およびアドレス信号より高いシグナリング・レートを使用することが可能になる。
【0030】
メモリ・システムの性能を損なわないようにするために、アドレス信号および制御信号を、本発明の実施形態に従って、ウェーブ・パイプライン化することができる。メモリ・システムは、ウェーブ・パイプライン化の助けになる複数の条件を満たすように構成される。第1に、複数のメモリ・コンポーネントが、ランクとして編成される。第2に、アドレス信号および制御信号の一部またはすべてが、ランクのすべてのメモリ・コンポーネントに共通する。第3に、共通のアドレス信号および制御信号が、低ひずみで(たとえばインピーダンスを制御されて)伝搬する。第4に、共通のアドレス信号および制御信号が、低シンボル間干渉で(たとえば単一終端または二重終端)伝搬する。
【0031】
ウェーブ・パイプライン化は、Tbit<Twireの時に発生し、ここで、タイミング・パラメータTwireは、コントローラで作られる波面が、信号を搬送するワイヤの端の終端コンポーネントに伝搬する時間遅延として定義され、タイミング・パラメータTbitは、ワイヤ上の連続する情報(ビット)の間のタイム・インターバルとして定義される。そのような情報は、個々のビットまたは、同時伝送用にエンコードされた複数のビットを表すことができる。ワイヤ上のウェーブ・パイプライン化された信号は、ワイヤに接続されたレシーバによってサンプリングされる入射波である。これは、一般に、波面が伝送線(たとえばワイヤ)の端から反射される前にサンプリングが行われることを意味する。
【0032】
本発明の適用可能性を、複数の形でメモリ・コンポーネントの単一のランクから複数のランクに拡張することが可能である。第1に、メモリ・コンポーネントの複数のランクを、1つのメモリ・モジュールに実装することができる。第2に、複数のメモリ・モジュールを、1つのメモリ・システム内に実装することができる。第3に、データ信号導体を、各モジュールの専用、共有、または「チェインされる」ものとすることができる。チェイン化には、バスが1つのモジュールを通過できるようにすることと、そのモジュール上の適当な回路に接続することが含まれるが、その特定のモジュールから出た時に、別のモジュールに入るか終端に達することができるようにすることが含まれる。導体のそのようなチェイン化の例を、図29、32、および35と下に示し、さらに詳細に説明する。第4に、共通の制御信号導体およびアドレス信号導体を、各モジュールの専用、共有、またはチェインされるものとすることができる。第5に、データ信号導体を、各モジュール上で終端される伝送線または終端されるスタブとすることができる。この議論について、伝送線は、その伝送線を介する正しい信号伝送を保証するために反射および他の伝送線特性を考慮しなければならない、十分な長さを有する信号線を表すものと理解される。対照的に、終端されるスタブは、そのようなスタブに関連する寄生反射および他の伝送線特性を一般に無視することができる限られた長さを有すると理解される。第6に、共通の制御信号導体およびアドレス信号導体を、各モジュール上で終端される伝送線または終端されるスタブとすることができる。共有されるアドレス信号および制御信号をウェーブ・パイプライン化できるようにすることによって、それらのシグナリング・レートを高めることができ、これによってメモリ・システムの性能が向上する。
【0033】
図2は、本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コンポーネントのランクの1スライスのクロッキングの詳細を示すブロック図である。メモリ・コントローラ・コンポーネント102に、アドレス送出ブロック201が含まれ、アドレス送出ブロック201は、アドレス・バス107およびアドレス・クロック導体109に結合される。メモリ・コントローラ・コンポーネント102には、スライスごとに、データ送出ブロック202およびデータ受取ブロック203が含まれ、これらはデータ・バス108に結合される。データ送出ブロック202は、書込クロック導体110に結合され、データ受取ブロック203は、読取クロック導体111に結合される。
【0034】
メモリ・コンポーネント116などの各メモリ・コンポーネント内に、アドレス受取ブロック204、データ受取ブロック205、およびデータ送出ブロック206が設けられる。アドレス受取ブロック204は、アドレス・バス107およびアドレス・クロック導体109に結合される。データ受取ブロック205は、データ・バス108および書込クロック導体110に結合される。データ送出ブロック206は、データ・バス108および読取クロック導体111に結合される。
【0035】
PD0と表される伝搬遅延207が、アドレス・バス107に沿って、メモリ・コントローラ・コンポーネント102とメモリ・モジュール103の間に存在する。tPD1と表される伝搬遅延208が、アドレス・バス107に沿って、メモリ・モジュール103内に存在する。
【0036】
図2に表された基本トポロジは、複数の属性を有する。このトポロジには、メモリ・コントローラが含まれる。このトポロジには、単一のメモリ・モジュールが含まれる。このトポロジには、メモリ・コンポーネントの単一のランクが含まれる。このトポロジには、スライスされたデータ・バス(DQ)が含まれ、ワイヤの各スライスが、コントローラをメモリ・コンポーネントに接続する。このトポロジには、コントローラをすべてのメモリ・コンポーネントに接続する共通のアドレスおよび制御バス(Addr/CtrlまたはAC)が含まれる。ソース同期式クロック信号が、データ信号、制御信号、およびアドレス信号と共に流れる。制御信号およびアドレス信号は、単一方向であり、コントローラからメモリ・コンポーネントへ流れる。データ信号は、両方向であり、コントローラからメモリ・コンポーネントへ流れることができ(書込動作)、メモリ・コンポーネントからコントローラへ流れることができる(読取動作)。データ信号と同一のトポロジを有する制御信号がいくつかある場合があるが、それらの制御信号は、コントローラからメモリ・コンポーネントへ流れるのみである。そのような信号は、たとえば書込動作で書込データをマスクするのに使用することができる。これらは、この議論においては単一方向データ信号として扱うことができる。データ・ワイヤ、アドレス・ワイヤ、制御ワイヤ、およびクロック・ワイヤは、低ひずみで(たとえばインピーダンスを制御された導体に沿って)伝搬する。データ・ワイヤ、アドレス・ワイヤ、制御ワイヤ、およびクロック・ワイヤは、低シンボル間干渉で(たとえば単一方向信号の単一終端および両方向信号の二重終端がある)伝搬する。これらの属性は、明瞭さを保つためにリストされたものである。本発明が、これらの属性を用いて実践されることに制限されず、他のシステム・トポロジを含むように実践することができることを理解されたい。
【0037】
図2には、データ・バスおよびメモリ・コンポーネントのスライス番号(S={0、1、…、NS})およびモジュール番号(M={0、1})、に基づく2次元座標系がある。ここで、スライス番号「0」およびモジュール番号「0」が、コントローラを参照する。この座標系を用いると、ワイヤ上の異なる位置で信号に命名することができる。この座標系を用いると、複数のメモリ・ランクまたはメモリ・モジュールを有するトポロジへの拡張も可能になる。
【0038】
図2には、3つのクロック・ソース(AClk信号を生成するアドレス・クロック104、WClk信号を生成する書込クロック105、およびRClk信号を生成する読取クロック106)も示されており、これらが、3種類の情報転送のためのクロッキング基準信号を生成する。これらのクロック・ソースのそれぞれが、それに関連する信号バスと並列のクロック・ワイヤを駆動する。システム内のクロック・ソースの位置は、クロック・ソースが対応するクロック信号を駆動する、クロック線上の物理的位置が、バス線の関係する駆動点に隣接し、特定のバスのクロックの伝搬が、一般に、関連するバス上の関係する情報の伝搬を追跡するようになっていることが好ましい。たとえば、アドレス・クロック(AClkクロック104)の位置決めは、アドレス信号がアドレス・バス107へ駆動される物理位置に近いことが好ましい。そのような構成では、アドレス・クロックが、回路全体を通じて伝搬する時に、アドレス・クロック信号線と全般的に同一のルートをたどるバスに沿って伝搬するアドレス信号が経験する遅延に類似する遅延を経験する。
【0039】
各バスのクロック信号は、関連するバスの信号の最大ビット・レートに関係する。この関係は、通常は、整数または整数比である。たとえば、最大データ・レートを、データ・クロック信号の周波数の2倍とすることができる。クロック・ソースの1つまたは2つを「仮想」クロック・ソースとすることも可能であり、この場合に、3つのクロック・ソースが、互いに整数分数比(N/M)関係になり、それらのいずれをも、フェーズ・ロック・ループ(PLL)技法を使用して周波数および位相をセットすることによって、他の2つのいずれかから合成することができる。仮想クロック・ソースは、回路内の実際のクロック・ソースの数を最小にすることができる手段を表す。たとえば、WClkクロックを、メモリ・デバイスが受け取るアドレス・クロック(AClk)から導出し、メモリ・デバイスが、外部ソースから実際にWClkクロックを受け取る必要をなくすことができる。したがって、メモリ・デバイスは、実際には独自の個別に生成されたWClkクロックを受け取らないが、AClkクロックから生成されたWClkクロックは、機能的に同等である。合成されたクロック信号の位相は、図示の位置のクロック・ソースによって生成された場合と同一になるように調整される。
【0040】
図示のクロック信号のいずれでも、代替案では、情報が関連するバス上に存在する時に限ってアサートされる非周期的信号(たとえばストローブ制御信号)とすることができる。クロック・ソースに関して上で説明したように、非周期的信号ソースは、物理的な意味で、非周期的信号に関連する伝搬遅延がそれが対応するバス上の信号の伝搬遅延と全般的に一致するように、それが対応する適当なバスに隣接して位置決めされることが好ましい。
【0041】
図3は、他の図のタイミング図で使用されるアドレス・タイミングおよび制御タイミングの表記を示すタイミング図である。図3では、AClk信号301の立ち上がりエッジ302が、アドレス情報ACa 305の送出中の時刻307に発生する。AClk信号の立ち上がりエッジ303が、アドレス情報ACb306の送出中の時刻308に発生する。時刻308は、AClk信号301の次の立ち上がりエッジ304の時刻309より時間tCCだけ前に発生する。時間tCCは、メモリ・コントローラ・コンポーネントのクロック回路のサイクル・タイムを表す。タイミング図の破線は、信号のうちで、時間的にアドレス情報またはデータ情報と同時の部分を示すのに使用される。たとえば、AClk信号301には、アドレス情報ACa 305の存在に対応する時間的部分と、アドレス情報ACb 306の存在に対応するもう1つの時間的部分が含まれる。アドレス情報は、アドレス信号としてアドレス・バスを介して送出することができる。
【0042】
1ビット/ワイヤがtCCごとに発生する場合には、アドレス・ビット311が、サイクル310中に送出される。2ビット/ワイヤがtCCごとに発生する場合には、アドレス・ビット313および314が、サイクル312中に送出される。4ビット/ワイヤがtCCごとに発生する場合には、アドレス・ビット316、317、318、および319が、サイクル315中に送出される。8ビット/ワイヤがtCCごとに発生する場合には、アドレス・ビット321、322、323、324、325、326、327、および328が、サイクル320中に送出される。各ビット・ウィンドウの駆動点およびサンプル点を、使用されるドライバおよびサンプラの回路技法に応じて、オフセット(1ビット時間すなわちtCC/NACまで)だけ遅らせるか進めることができることに留意されたい。パラメータNACおよびNDQは、それぞれアドレス/制御ワイヤおよびデータ・ワイヤのtCCごとのビット数を表す。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。特定のシステムで、バスの駆動ポイントに関連するオフセットのいずれもが、システム全体を通じて一貫性を有することが好ましい。同様に、バスに関して理解されるサンプリング・オフセットも、一貫性を有しなければならない。たとえば、データが、あるデータ・バス線の関係するクロック信号の立ち上がりエッジに全般的に対応する点で駆動されることが期待される場合に、その理解されるオフセット(またはその不在)が、すべてのデータ線について一貫した形で使用されることが好ましい。バスへのデータの駆動に関連するオフセットを、そのバスによって搬送されるデータのサンプリングに関連するオフセットと完全に異なるものにすることができることに留意されたい。したがって、上の例を継続すると、全般的に立ち上がりエッジと同時に駆動されるデータのサンプル点は、立ち上がりエッジに対して180°位相はずれとし、データの有効ウィンドウがサンプリング点によってよりよくターゲティングされるようにすることができる。
【0043】
図4は、他の図のタイミング図で使用されるデータ・タイミングの表記を示すタイミング図である。図4では、WClk信号401の立ち上がりエッジ402が、書込データ情報Da 405の送出中の時刻407に発生する。WClk信号401の立ち上がりエッジ403が、時刻408に発生する。WClk信号401の立ち上がりエッジ404が、読取データ情報Qb 406の送出中の時刻409に発生する。時刻407は、時刻408から時間tCCだけ離れており、時刻408は、時刻409から時間tCCだけ離れている。時間tCCは、クロック・サイクルの持続時間を表す。RClk信号410に、立ち上がりエッジ411および立ち上がりエッジ412が含まれる。これらの立ち上がりエッジを、RClk信号410のクロック・サイクルに対する基準として使用することができる。たとえば、書込データ情報Da 405の送出は、RClk信号410の、立ち上がりエッジ411を含むクロック・サイクル中に発生し、読取データ情報Qb406の送出は、RClk信号410の、立ち上がりエッジ412を含むクロック・サイクル中に発生する。当業者に明白であるように、アドレス・クロックに関連するクロック・サイクル・タイムは、読取クロックまたは書込クロックに関連するクロック・サイクル・タイムと異なるものとすることができる。
【0044】
書込データ情報は、書き込まれる情報の要素であり、データ・バス上で書込データ信号として送出することができる。読取データ情報は、読み取られる情報の要素であり、データ・バス上で読取データ信号として送出することができる。表記Dxは、書込データ情報xを表すのに使用され、表記Qyは、読取データ情報yを表すのに使用される。信号は、アドレス信号、書込データ信号、読取データ信号、または他の信号のいずれであっても、要素タイム・インターバルと称する時間の間、導体またはバスに印加することができる。そのような要素タイム・インターバルを、タイミング信号を搬送する導体またはバス上で発生するイベントと関連付けることができ、そのようなイベントを、タイミング信号イベントと称する場合がある。そのようなタイミング信号の例には、クロック信号、別の信号または情報の要素から導出されるタイミング信号、および、タイミングをそこから導出することができる他の信号が含まれる。メモリ・アクセス動作では、アドレス信号がアドレス・バスに印加され始める時からそのアドレス信号に対応するデータ信号がデータ・バスに印加され始める時までの時間を、アクセス・タイム・インターバルと称することができる。
【0045】
1ビット/ワイヤがtCCごとに発生する場合には、データ・ビット415が、サイクル414中に送出される。2ビット/ワイヤがtCCごとに発生する場合には、データ・ビット417および418が、サイクル416中に送出される。4ビット/ワイヤがtCCごとに発生する場合には、データ・ビット420、421、422、および423が、サイクル419中に送出される。8ビット/ワイヤがtCCごとに発生する場合には、データ・ビット425、426、427、428、429、430、431、および432が、サイクル424中に送出される。各ビット・ウィンドウの駆動点およびサンプル点を、使用されるドライバおよびサンプラの回路技法に応じて、オフセット(1ビット時間すなわちtCC/NDQまで)だけ遅らせるか進めることができることに留意されたい。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。たとえば、データがコントローラ側の適当なクロック信号の立ち上がりエッジにサンプリングされるように、データ・ウィンドウが位置決めされると仮定すると、有効なデータも回路内のその位置での対応するクロックの立ち上がりエッジに存在すると仮定されるように、類似する規約をメモリ・デバイスで使用しなければならない。
【0046】
1ビット/ワイヤがtCCごとに発生する場合には、データ・ビット434が、サイクル433中に送出される。2ビット/ワイヤがtCCごとに発生する場合には、データ・ビット436および437が、サイクル435中に送出される。4ビット/ワイヤがtCCごとに発生する場合には、データ・ビット439、440、441、および442が、サイクル438中に送出される。8ビット/ワイヤがtCCごとに発生する場合には、データ・ビット444、445、446、447、448、449、450、および451が、サイクル443中に送出される。各ビット・ウィンドウの駆動点およびサンプル点を、使用されるドライバおよびサンプラの回路技法に応じて、オフセット(1ビット時間すなわちtCC/NDQまで)だけ遅らせるか進めることができることに留意されたい。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。上で述べたように、特定のシステムで、あるバスの駆動点またはサンプリング点に関連するオフセットは、システム全体を通じて一貫性を有することが好ましい。
【0047】
メモリ・コンポーネントのカラム・サイクル・タイムは、連続するカラム・アクセス動作(読取または書込)を実行するのに必要なタイム・インターバルを表す。図示の例では、AClkクロック信号、RClkクロック信号、およびWClkクロック信号が、カラム・サイクル・タイムに等しいサイクル・タイムを有するものとして図示されている。当業者に明白であるように、システムで使用されるクロック信号のサイクル・タイムは、他の実施形態では、カラム・サイクル・タイムと異なるものとすることができる。
【0048】
その代わりに、クロックのすべてが、カラム・サイクル・タイムと異なるサイクル・タイムを有することができる。バス上での信号の送出または受取に適当な速度のクロックは、分配されるクロックと合成されたクロックの間に整数比または整数分数比がある限り、必ず、分配されるクロックから合成することができる。前に述べたように、必要なクロックのいずれであっても、他のバスからの分配されるクロックのいずれかから合成することができる。
【0049】
この説明では、タイミング図をできる限り単純にするために、各tCCインターバル中に各ワイヤ上で単一のビットがサンプリングされるか駆動されると仮定する。しかし、各tCCインターバル中に各信号ワイヤ上で送出されるビット数を、変更することができる。パラメータNACおよびNDQは、それぞれアドレス/制御ワイヤおよびデータ・ワイヤの、tCCごとのビット数を表す。分配されるクロックまたは合成されるクロックは、tCCごとに複数のビットを駆動し、サンプリングするのに適当なクロック・エッジを作るために逓倍される。各ビット・ウィンドウの駆動点およびサンプル点を、使用されるドライバおよびサンプラの回路技法に応じて、オフセット(1ビット時間すなわちtCC/NACまたはtCC/NDQまで)だけ遅らせるか進めることができることに留意されたい。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。やはり、上で述べたように、特定のシステムで、あるバスの駆動点またはサンプリング点に関連するオフセットは、システム全体を通じて一貫性を有することが好ましい。
【0050】
図5は、本発明の実施形態による、アドレスおよび制御バス(Addr/CtrlまたはACSM)上で通信される信号のタイミングを示すタイミング図である。このバスには、このバスと本質的に同一のワイヤ・パスを見るクロック信号AClkSMが付随する。添字(S、M)は、特定のモジュールMまたは特定のスライスSでのバスまたはクロック信号を示す。コントローラは、スライス0になるように定義される。
【0051】
AClkクロック信号501の波形に、メモリ・コントローラ・コンポーネントでのAClkクロック信号のタイミングが示されている。AClkクロック信号501の立ち上がりエッジ502が、時刻510に発生し、アドレス情報ACa 518の送出に関連する。AClkクロック信号501の立ち上がりエッジ503が、時刻511に発生し、アドレス情報ACb 519の送出に関連する。
【0052】
AClkクロック信号520の波形に、スライス1に配置されたメモリ・コンポーネントでのAClkクロック信号のタイミングが示されている。AClkクロック信号520は、信号501からtPD0の遅延だけ遅れている。たとえば、信号520の立ち上がりエッジ523は、信号501のエッジ502からtPD0の遅延だけ遅れている。アドレス情報ACa 537が、信号520の立ち上がりエッジ523に関連する。アドレス情報ACb 538が、信号520の立ち上がりエッジ525に関連する。
【0053】
AClkクロック信号539の波形に、スライスNSに配置されたメモリ・コンポーネントでのAClkクロック信号のタイミングが示されている。AClkクロック信号539は、信号520からtPD1の遅延だけ遅れている。たとえば、信号539の立ち上がりエッジ541は、信号520のエッジ523からtPD1の遅延だけ遅れている。アドレス情報ACa 548が、信号539の立ち上がりエッジ541に関連する。アドレス情報ACb 549が、信号539の立ち上がりエッジ542に関連する。
【0054】
クロック信号AClkは、カラム・サイクル・タイムに対応するサイクル・タイムを有するものとして図示されている。前に述べたように、この信号は、コントローラおよびメモリ・コンポーネントがバス上の情報をサンプリングし、駆動するのに必要なタイミング点を生成できるように周波数および位相が制約される限り、より短いサイクル・タイムを有することもできる。同様に、バスは、tCCインターバルごとに送出される単一ビット/ワイヤを有するものとして図示されている。前に述べたように、コントローラおよびメモリ・コンポーネントが、バス上の情報をサンプリングし、駆動するのに必要なタイミング点を生成できるので、各tCCインターバルに複数のビットを転送することができる。バスの実際の駆動点(データ信号、アドレス信号、または制御信号もしくはこれらの組合せがバスに印加される点)が、示されたものからのオフセット(クロックの立ち上がりエッジおよび立ち下がりエッジに対して)を有することができ、これが、コントローラおよびメモリ・コンポーネント内の送出回路および受取回路の設計に依存することに留意されたい。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。上で繰り返したように、特定のシステムで、あるバスの駆動点またはサンプリング点に関連するオフセットは、システム全体を通じて一貫性を有することが好ましい。
【0055】
図5で、クロックAClkSMおよびバスACSMが、コントローラから第1スライスに伝搬する際に、tPD0の遅延があることに留意されたい。図示されているように、AClk信号520は、時間および空間においてAClk信号501からシフトされている。また、クロックAClkSMおよびバスACSMが、第1スライスから最後のスライスNSに伝搬する際に、第2の遅延tPD1があることに留意されたい。クロックおよびバスが、各スライスの間を進む際に、tPD1/(NS−1)の遅延がある。この計算では、スライスの間の全般的に等しい間隔が仮定され、そのような物理的特性がシステムに存在しない場合には、遅延がこの式に従わないことに留意されたい。したがって、図示されているように、AClk信号539は、時間および空間においてAClk信号520からシフトされている。その結果、NS個のメモリ・コンポーネントのそれぞれが、時間的にわずかに異なる点で、アドレスおよび制御バスをサンプリングする。
【0056】
図6は、本発明の実施形態による、データ・バス(DQSM)上で通信される信号のタイミングを示すタイミング図である。このバスには、本質的にこのバスと同一のワイヤ・パスを見る2つのクロック信号RClkSMおよびWClkSMが付随する。添字(S、M)は、特定のモジュールMまたは特定のスライスSでのバスまたはクロック信号を示す。コントローラは、モジュール0になるように定義される。2つのクロックは、反対方向に進む。WClkSMには、コントローラによって送出され、メモリ・コンポーネントによって受け取られる書込データが付随する。RClkSMには、メモリ・コンポーネントによって送出され、コントローラによって受け取られる読取データが付随する。説明する例では、読取データ(「Q」によって表される)および書込データ(「D」によって表される)が、データ・バスを同時に占有しない。他の実施形態では、同一の導体上で搬送される複数の波形を区別でき、分解できるようにする加法的シグナリングを可能にする追加回路が設けられる場合に、こうでない場合があることに留意されたい。
【0057】
WClkクロック信号601の波形に、メモリ・コントローラ・コンポーネントでのWClkクロック信号のタイミングが示されている。立ち上がりエッジ602が、時刻610に発生し、モジュール0のスライス1に存在する書込データ情報Da 618に関連する。立ち上がりエッジ607が、時刻615に発生し、モジュール0のスライス1に存在する書込データ情報Dd 621に関連する。立ち上がりエッジ608が、時刻616に発生し、モジュール0のスライス1に存在する書込データDe622に関連する。
【0058】
RClkクロック信号623の波形に、メモリ・コントローラ・コンポーネント(モジュール0)でのRClkクロック信号のタイミングが示されている。立ち上がりエッジ626が、メモリ・コントローラ・コンポーネント(モジュール0のスライス1)に存在する読取データ情報Qb 619に関連する。立ち上がりエッジが、メモリ・コントローラ・コンポーネント(モジュール0のスライス1)に存在する読取データ情報Qc 620に関連する。
【0059】
WClkクロック信号632の波形に、モジュール1のスライス1にあるメモリ・コンポーネントでのWClkクロック信号のタイミングが示されている。立ち上がりエッジ635が、モジュール1のスライス1に存在する書込データ情報Da 649に関連する。立ち上がりエッジ645が、モジュール1のスライス1に存在する書込データ情報Dd 652に関連する。立ち上がりエッジ647が、モジュール1のスライス1に存在する書込データ情報De 653に関連する。
【0060】
RClkクロック信号654の波形に、モジュール1のスライス1のメモリ・コンポーネントでのRClkクロック信号のタイミングが示されている。立ち上がりエッジ658が、モジュール1のスライス1に存在する読取データ情報Qb650に関連する。立ち上がりエッジ660が、モジュール1のスライス1に存在する読取データ情報Qc 651に関連する。
【0061】
クロック信号は、tCCに対応するサイクル・タイムを有するものとして図示されている。前に述べたように、クロック信号は、コントローラおよびメモリ・コンポーネントがバス上の情報をサンプリングし、駆動するのに必要なタイミング点を生成できるように周波数および位相が制約される限り、より短いサイクル・タイムを有することもできる。同様に、バスは、単一ビット/ワイヤを有するものとして図示されている。前に述べたように、コントローラおよびメモリ・コンポーネントが、バス上の情報をサンプリングし、駆動するのに必要なタイミング点を生成できるので、各tCCインターバルに複数のビットを転送することができる。バスの実際の駆動点が、示されたものからのオフセット(クロックの立ち上がりエッジおよび立ち下がりエッジに対して)を有することができ、これが、コントローラおよびメモリ・コンポーネント内の送出回路および受取回路の設計に依存することに留意されたい。一実施形態では、固定オフセットを使用する。駆動/サンプル点とビット・ウィンドウの間のオフセットは、駆動コンポーネントとサンプリング・コンポーネントの間で一貫性を有しなければならない。
【0062】
図6では、クロックWClkSMおよびバスDQSM(書込データを有する)が、コントローラから第1モジュールのスライスまで伝搬する際に、遅延tPD2があることに留意されたい。したがって、WClkクロック信号632は、時間および空間においてWClkクロック信号601からシフトされている。また、クロックRClkSMおよびバスDQSM(読取データを有する)が、第1モジュールのスライスからコントローラまで伝搬する際に、ほぼ等しい遅延tPD2があることに留意されたい。したがって、RClkクロック信号623は、時間および空間においてRClkクロック信号654からシフトされている。
【0063】
その結果、コントローラおよびメモリ・コンポーネントは、書込データと読取データを同時に駆動することを試みなくなるように、その送出ロジックを調整されなければならない。図6の例には、書込−読取−読取−書込−書込転送があるシーケンスが示されている。読取−読取転送および書込−書込転送は、連続するtCCインターバールに行うことができることがわかる。というのは、両方のインターバルでデータが同一方向に進むからである。しかし、書込−読取転送および読取−書込転送では、ギャップ(バブル)を挿入し、その結果、ドライバが、前のインターバールに駆動されたデータがもはやバス上にない(バス・ワイヤのいずれかの端の終端コンポーネントによって吸収された)時に限ってターン・オンするようにする。
【0064】
図6では、読取クロックRClkSMおよび書込クロックWClkSMが、各メモリ・コンポーネントで同相である(しかし、各メモリ・コンポーネントでのこれらのクロックの相対位相は、他のメモリ・コンポーネントと異なる。これは、後で、システム全体のタイミングを述べる時に示す)。この位相一致の選択が、使用することができた複数の可能な代替案の1つであることに留意されたい。他の代替案のいくつかを、後で説明する。
【0065】
各メモリ・コンポーネント(スライス)で読取クロックと書込クロックを一致させた結果として、メモリ・コンポーネントで(図6の最下部)、読取データQb 650を有するtCCインターバルが、書込データDa 649を有するtCCインターバルの直後に続くように見えるが、コントローラでは(図6の最上部)、読取データ・インターバルQb 619と書込データ・インターバルDa 618の間に2×tPD2のギャップがある。コントローラでは、読取データQc620と書込データDd 621の間に、(2×tCC−2×tPD2)の第2のギャップがある。読取データQc 651と書込データDd 621の間に、(2×tCC)のギャップがある。メモリ・コンポーネントとコントローラでのギャップの合計が、2×tCCになることに留意されたい。
【0066】
次に、システム全体のタイミングを説明する。例のシステムでは、各メモリ・コンポーネントでAClkSMクロック、RClkSMクロック、およびWClkSMクロックの位相を整列させる(スライス番号は、1からNSまで変化し、モジュール番号は、1に固定される)。これは、各メモリ・コンポーネントが、単一のクロック・ドメイン内で動作でき、ドメイン・クロッシングの問題が回避されるという利益を有する。アドレスおよび制御クロックAClkSMが、各メモリ・コンポーネントを通って流れるので、各メモリ・スライスのクロック・ドメインは、隣接するスライスからわずかにオフセットする。この位相設定決定のコストは、コントローラが、各スライスの読取クロックおよび書込クロックを異なる位相値に調整しなければならないことである。これは、コントローラ内に1+(2×NS)個のクロック・ドメインがあり、これらのドメインの間のクロッシングが、効率的に非常に重要になることを意味する。他の位相制約が、可能であり、後で説明する。
【0067】
図7は、本発明の実施形態による、メモリ・コントローラ・コンポーネントでのシステム・タイミングを示すタイミング図である。前と同様に、コントローラは、制御およびアドレス・バスAClkS0M1上で、動作の書込−読取−読取−書込シーケンスを送る。Da書込データ情報が、WClkS1M0バスおよびWClkSNsM0バス上で送られ、その結果、Da書込データ情報が、アドレスおよび制御情報ACaの1サイクル後に各スライスのメモリ・コンポーネントに達することが好ましい。これは、WClkS1M0クロックの位相を、AClkS0M1クロックの位相に対して全般的に(tPD0−tPD2)と同等にする(正は遅れ、負は進みを意味する)ことによって行われる。これによって、これらが、第1モジュールの第1スライスのメモリ・コンポーネントで同相になる。同様に、WClkSNsM0クロックの位相は、AClkS0M1クロックの位相に対して全般的に(tPD0+tPD1−tPD2)と同等になるように調整される。伝搬遅延を近似するためのクロックの位相調節を、所望の調整からわずかに異なるものとしながら、成功裡のシステム動作を可能にするように、ある許容範囲がシステムに組み込まれることが好ましいことに留意されたい。
【0068】
類似する形で、RClkS1M0クロックの位相を、AClkS0M1クロックの位相に対して、全般的に(tPD0+tPD2)と同等になるように調整する。これによって、これらのクロックが、第1モジュールの最終スライスのメモリ・コンポーネントで同相になる。同様に、RClkSNsM0クロックの位相を、AClkS0M1クロックの位相に対して式(tPD0+tPD1+tPD2)に従って調整して、RClkSNsM0クロックおよびAClkS0M1クロックが、第1モジュールの最終スライスのメモリ・コンポーネントで同相になるようにする。
【0069】
AClkクロック信号701の波形に、スライス0にあるものと示されたメモリ・コントローラ・コンポーネントでのAClkクロック信号が示されている。立ち上がりエッジ702が、時刻710に発生し、スライス0に存在するアドレス情報ACa 718に関連する。立ち上がりエッジ703が、時刻711に発生し、スライス0に存在するアドレス情報ACb 719に関連する。立ち上がりエッジ704が、時刻712に発生し、スライス0に存在するアドレス情報ACc 720に関連する。立ち上がりエッジ707が、時刻715に発生し、スライス0に存在するアドレス情報ACd 721に関連する。
【0070】
WClkクロック信号722の波形に、WClkクロック信号がモジュール0のメモリ・コントローラ・コンポーネントに存在する時のスライス1のメモリ・コンポーネントのWClkクロック信号が示されている。立ち上がりエッジ724が、時刻711に発生し、存在する書込データ情報Da 730に関連する。立ち上がりエッジ729が、時刻716に発生し、存在する書込データ情報Dd733に関連する。
【0071】
RClkクロック信号734の波形に、RClkクロック信号がモジュール0のメモリ・コントローラ・コンポーネントに存在する時のスライス1のメモリ・コンポーネントのRClkクロック信号が示されている。立ち上がりエッジ737が、存在する読取データ情報Qb 731に関連する。立ち上がりエッジ738が、存在する読取データ情報Qc 732に関連する。
【0072】
WClkクロック信号741の波形に、WClkクロック信号がモジュール0のメモリ・コントローラ・コンポーネントに存在する時のスライスNSのメモリ・コンポーネントのWClkクロック信号が示されている。書込データ情報Da756が、信号741のエッジ744に関連する。書込データ情報Dd 759が、信号741のエッジ754に関連する。
【0073】
RClkクロック信号760の波形に、RClkクロック信号がモジュール0のメモリ・コントローラ・コンポーネントに存在する時のスライスNSのメモリ・コンポーネントのRClkクロック信号が示されている。読取データ情報Qb757が、信号760のエッジ764に関連する。読取データ情報Qc 758が、信号760のエッジ766に関連する。
【0074】
図8は、本発明の実施形態による、ランク1のスライス1のメモリ・コンポーネントでのクロックAClkS1M1、WClkS1M1、およびRClkS1M1の整列を示すタイミング図である。3つのクロックのすべてが、コントローラで作られるAClkS0M1クロックに対してtPD0だけ遅れている。
【0075】
AClkクロック信号801の波形に、モジュール1のスライス1にあるメモリ・コンポーネントのAClkクロック信号が示されている。アドレス情報ACa 822が、信号801のエッジ802に関連する。アドレス情報ACb 823が、信号801のエッジ804に関連する。アドレス情報ACc 824が、信号801のエッジ806に関連する。アドレス情報ACd 825が、信号801のエッジ812に関連する。
【0076】
WClkクロック信号826の波形に、モジュール1のスライス1にあるメモリ・コンポーネントのWClkクロック信号が示されている。書込データ情報Da 841が、信号826のエッジ829に関連する。書込データ情報Dd 844が、信号826のエッジ839に関連する。
【0077】
RClkクロック信号845の波形に、モジュール1のスライス1にあるメモリ・コンポーネントのRClkクロック信号が示されている。読取データ情報Qb 842が、信号845のエッジ850に関連する。読取データ情報Qc 843が、信号845のエッジ852に関連する。
【0078】
図9は、本発明の実施形態による、モジュール1のランク1のスライスNSのメモリ・コンポーネントでのクロックAClkSNsM1、WClkSNsM1、およびRClkSNsM1の整列を示すタイミング図である。3つのクロックのすべてが、コントローラで作られるAClkS0M1クロックに対して(tPD0+tPD1)だけ遅れている。
【0079】
AClkクロック信号901の波形に、モジュール1のスライスNSにあるメモリ・コンポーネントのAClkクロック信号が示されている。信号901の立ち上がりエッジ902が、アドレス情報ACa 917に関連する。信号901の立ち上がりエッジ903が、アドレス情報ACbに関連する。信号901の立ち上がりエッジ904が、アドレス情報ACc 919に関連する。信号901の立ち上がりエッジ907が、アドレス情報ACd 920に関連する。
【0080】
WClkクロック信号921の波形に、モジュール1のスライスNSにあるメモリ・コンポーネントのWClkクロック信号が示されている。信号921の立ち上がりエッジ923が、書込データ情報Da 937に関連する。信号921の立ち上がりエッジ928が、書込データ情報Dd 940に関連する。
【0081】
RClkクロック信号929の波形に、モジュール1のスライスNSにあるメモリ・コンポーネントのRClkクロック信号が示されている。信号929の立ち上がりエッジ932が、読取データ情報Qb 938に関連する。信号929の立ち上がりエッジ933が、読取データ情報Qc 939に関連する。
【0082】
図8および9の両方で、各メモリ・コンポーネントから見た時の、アドレス/制御情報(たとえば図9のACa 917)とそれに付随する読取情報または書込情報(この例では図9のDa 937)との間に1つのtCCサイクル遅延があることに留意されたい。これは、他のトポロジの場合に異なる可能性がある、すなわち、より長いアクセス遅延がある可能性がある。一般に、メモリ・コンポーネントでの書込動作のアクセス遅延は、データ・バスの使用率を最大にするために、読取動作に関するアクセス遅延と等しいか、ほぼ等しくしなければならない。
【0083】
図10から18に、図5から9に示されたものとほとんど同一のアドレスおよびデータのタイミング関係を使用する例示的システムの詳細を示す。具体的に言うと、3つのクロックのすべてが、各メモリ・コンポーネントで同相である。しかし、この例のシステムは、前の説明に対する複数の相違を有する。第1に、2ビット/ワイヤが、tCCインターバルごとにACバス(アドレス/制御バスまたは単にアドレス・バス)に印加される。第2に、8ビット/ワイヤが、tCCインターバルごとにDQバスに印加される。第3に、クロック信号は、ACバスに付随するが、DQバスの読取クロックおよび書込クロックは、ACバスのクロックから合成される。
【0084】
図10は、本発明の実施形態による、図1に示されたものなどのメモリ・システムの1つのメモリ・ランク(メモリ・コンポーネントの1つまたは複数のスライス)のさらなる詳細を示すブロック図である。このランクを構成するメモリ・コンポーネントの内部ブロックは、外部のACバスまたはDQバスに接続される。これらの外部バス上の直列化されたデータは、内部バス上の並列形式との間で変換され、内部バスは、メモリ・コア(システムの情報を保持するのに使用されるストレージ・セルのアレイ)に接続される。図10に、メモリ・ランクに接続されたすべてで32ビットのDQバスが示されていることに留意されたい。これらの32ビットは、複数の等しいサイズのスライスに分割され、バスの各スライスが、1つのメモリ・コンポーネントにルーティングされる。したがって、スライスは、DQバスのうちで別々のメモリ・コンポーネントにルーティングされる部分に基づいて定義される。図10に示された例では、特定の例のシステムの32データ・ビットの組全体をサポートするメモリ・コンポーネントまたはメモリ・デバイスが示されている。他の実施形態では、そのようなシステムに、2つのメモリ・デバイスを含めることができ、各メモリ・デバイスが、32データ・ビットの半分をサポートする。したがって、これらのメモリ・デバイスのそれぞれに、データ・バス全体のうちでそのデバイスが責任を負う部分を各デバイスが個別にサポートできるようにする、適当なデータ送出ブロック、データ受取ブロック、およびメモリ・コアの分配が含まれる。データ・ビットの数は、32である必要はなく、変更できることに留意されたい。
【0085】
AClk信号は、ACバスに付随するクロックである。これは、受け取られ、メモリ・コンポーネントによって生成されるすべてのクロック信号の周波数および位相の基準として使用される。他のクロックは、ClkM2、ClkM8、およびClkMである。これらは、それぞれ、AClkの周波数の2倍、8倍、および1倍である。すべてのクロックの立ち上がりエッジが、整列される(位相オフセットなし)。周波数および位相の調整は、通常は、あるタイプのフェーズ・ロック・ループ(PLL)回路を用いて行われるが、他の技法を使用することもできる。さまざまな異なる適当なPLL回路が、当技術分野で周知である。フィードバック・ループに、さまざまなクロックを受取ブロックおよび送出ブロックならびにメモリ・コアに分配するのに必要なクロック・ドライバのスキューが含まれる。メモリ・コアはClkMドメインで動作すると仮定する。
【0086】
メモリ・コンポーネント116に、メモリ・コア1001、PLL 1002、PLL 1003、およびPLL 1004が含まれる。AClkクロック信号109が、バッファ1015によって受け取られ、バッファ1015は、クロック信号1019をPLL 1002、1003、および1004に供給する。さまざまなPLL設計が、当技術分野で周知であるが、本明細書に記載の例の実施形態で実施されるいくつかのPLLは、所望の特定の機能性を可能にするために、多少のカスタマイズを必要とする。したがって、本明細書で説明するいくつかの実施形態では、PLL内のさまざまなブロックの特定の動作を、さらに詳細に説明する。したがって、本明細書で説明する例の実施形態に含まれるPLL構造のいくつかが、極端に詳細には説明されないが、そのようなPLLによって達成される全般的な目的が、当業者に周知のさまざまな回路を介して容易に認識可能であることは、当業者に明白である。PLL 1002には、位相比較器および電圧制御発振器(VCO)1005が含まれる。PLL 1002は、クロック信号ClkM 1024を、メモリ・コア1001、アドレス/制御受取ブロック204、データ受取ブロック205、およびデータ送出ブロック206に供給する。
【0087】
PLL 1003には、プリスケーラ1009、位相比較器およびVCO 1010、および分周器1011が含まれる。プリスケーラ1009は、周波数分周器(分周器1011を実装するのに使用されるものなど)として実装することができ、周波数分周の必要がない補償用遅延を供給する。プリスケーラ1009は、信号1021を位相比較器およびVCO 1010に供給する。VCO 1010内の位相比較器は、2つの入力と1つの出力を有する三角形として表されている。位相比較器1010の機能性は、その入力の1つであるフィードバック信号1023の位相が基準信号1021に対して全般的に位相整列されることを保証する出力信号を作るように構成されることが好ましい。この規約は、本明細書で説明する他のPLLに含まれる類似する構造に適用可能であることが好ましい。分周器1011は、フィードバック信号1023を位相比較器およびVCO1010に供給する。PLL 1003は、クロック信号ClkM2 1025をアドレス/制御受取ブロック204に供給する。
【0088】
PLL 1004には、プリスケーラ1006、位相比較器およびVCO 1007、および分周器1008が含まれる。プリスケーラ1006は、周波数分周器(分周器1011を実装するのに使用されるものなど)として実装することができ、周波数分周の必要がない補償用遅延を供給する。プリスケーラ1006は、信号1020を位相比較器およびVCO 1007に供給する。分周器1008は、フィードバック信号1022を位相比較器およびVCO 1007に供給する。PLL 1004は、クロック信号ClkM8 1026をデータ受取ブロック205およびデータ送出ブロック206に供給する。
【0089】
アドレス・バス107は、バッファ1012を介して、結合1016を介してアドレス/制御受取ブロック204に結合される。データ送出ブロック206のデータ出力1018は、バッファ1014を介してデータ・バス108に結合される。データ・バス108は、バッファ1013を介してデータ受取ブロック205のデータ入力1017に結合される。
【0090】
アドレス/制御受取ブロック204は、内部アドレス・バス1027を介してメモリ・コア1001にアドレス情報を供給する。データ受取ブロック205は、内部書込データ・バス1028を介してメモリ・コア1001に書込データを供給する。メモリ・コア1001は、内部読取データ・バス1029を介してデータ送出ブロック206に読取データを供給する。
【0091】
図11は、本発明の実施形態による、図10の受取ブロックおよび送出ブロックで使用されるロジックを示すブロック図である。この図では、わかりやすくするために、各バスの1ビットだけに関する要素が図示されている。そのような要素が、バスのビットごとに複製される場合があることを理解されたい。
【0092】
アドレス/制御受取ブロック204に、レジスタ1101、1102、および1103が含まれる。アドレス・バス導体1016が、レジスタ1101および1102に結合され、レジスタ1101および1102は、一緒にシフト・レジスタを形成し、ClkM2クロック信号1025によってクロッキングされ、それぞれ結合1104および1105を介してレジスタ1103に結合される。レジスタ1103は、ClkMクロック信号1024によってクロッキングされ、内部アドレス・バス1027にアドレス/制御情報を供給する。図11のレジスタ1101および1102の表現は、これらがシフト・レジスタを形成し、1サイクル中にレジスタ1101に入るデータが、後続サイクル中にレジスタ1101に新しいデータが入る時にレジスタ1102に転送されることを意味すると理解されることが好ましい。図11に示された特定の実施形態では、データの移動が、クロック信号ClkM2 1025によって制御される。クロックClkM2 1025が、クロックClkM 1024の周波数の2倍で動作する場合に、受取ブロック204は、一般に、直列−並列シフト・レジスタとして動作し、2つの連続する直列ビットが、信号線RAC 1027に出力される前に、一緒に2ビット並列フォーマットにグループ化される。したがって、図で、複数のレジスタが類似する構成で一緒にグループ化される他の類似する表現は、レジスタによって形成されるパスに沿って直列にデータをシフトできるようにするのに必要な相互接続を含むと理解されることが好ましい。例には、送出ブロック206に含まれるレジスタ1123から1130と、受取ブロック205に含まれるレジスタ1106から1113が含まれる。その結果、入力1016の直列情報が、出力1027で並列形式に変換される。
【0093】
データ受取ブロック205に、レジスタ1106、1107、1108、1109、1110、1111、1112、1113、および1114が含まれる。データ入力1017は、レジスタ1106、1107、1108、1109、1110、1111、1112、および1113に結合され、これらのレジスタは、ClkM8クロック信号1026によってクロッキングされ、それぞれ結合1115、1116、1117、1118、1119、1120、1121、および1122を介してレジスタ1114に結合される。レジスタ1114は、ClkMクロック信号1024によってクロッキングされ、書込データを内部書込データ・バス1028に供給する。その結果、入力1017の直列情報が、出力1028の並列形式に変換される。
【0094】
データ送出ブロック206に、レジスタ1123、1124、1125、1126、1127、1128、1129、1130、および1131が含まれる。内部読取データ・バス1029からの読取データが、レジスタ1131に供給され、レジスタ1131は、ClkMクロック1024によってクロッキングされ、結合1132、1133、1134、1135、1136、1137、1138、および1139を介してレジスタ1123、1124、1125、1126、1127、1128、1129、および1130に結合される。レジスタ1123、1124、1125、1126、1127、1128、1129、および1130は、ClkM8クロック1026によってクロッキングされ、データ出力1018を供給する。その結果、入力1029の並列情報が、出力1018の直列形式に変換される。
【0095】
図示されているのは、アドレス/制御データおよび書込データをサンプリングし、読取データを駆動するのに必要なレジスタ要素である。この例では、各tCCインターバルにアドレス/制御(AC[i])ワイヤごとに2ビットが転送されることと、各tCCインターバルに読取データ(Q[i])ワイヤまたは書込データ(D[i])ワイヤごとに8ビットが転送されることが仮定されている。プライマリ・クロックClkM(tCCのサイクル・タイムを有する)のほかに、生成される2つの他の整列されるクロックがある。ClkM2(tCC/2のサイクル・タイムを有する)と、ClkM8(tCC/8のサイクル・タイムを有する)がある。これらのより高周波数のクロックによって、情報が、メモリ・コンポーネントへシフト・インされるか、メモリ・コンポーネントからシフト・アウトされる。各tCCインターバルに1回、直列データが、ClkMによってクロッキングされる並列レジスタとの間で転送される。
【0096】
ClkM2クロックおよびClkM8クロックが、ClkMクロックに対して周波数および位相をロックされることに留意されたい。この2つのより高周波数のクロックの正確な位相整列は、ドライバ・ロジックおよびサンプラ・ロジックの回路実施形態に依存する。ドライバ遅延またはサンプラ遅延を考慮に入れるためにわずかなオフセットがある場合がある。ClkMクロックに対するACバスおよびDQバスのビット有効ウィンドウの正確な位置を考慮に入れるためにわずかなオフセットがある場合もある。
【0097】
メモリ・コンポーネント内で、ClkM2クロックまたはClkM8クロックを、それぞれtCCのサイクル・タイムを有するが、tCCインターバル全体にまたがって等しい増分の位相のオフセットを有する2クロックまたは8クロックに置換できることにも留意されたい。送出ブロック204内のレジスタ1101から1102、送出ブロック206内のレジスタ1123から1130、受取ブロック205内のレジスタ1106から1113を含む直列レジスタが、2個または8個のレジスタのブロックによって置換され、各レジスタに、異なるクロック信号がロードされ、その結果、ACバスおよびDQバスのビット・ウィンドウが、正しくサンプリングされるか駆動されるようになる。たとえば、送出ブロック204では、2つの個別のレジスタが含まれ、一方のレジスタが、特定の位相を有する第1クロック信号によってクロッキングされ、第2のレジスタが、異なる位相を有する異なるクロック信号によってクロッキングされ、この2つのクロック信号の間の位相関係は、上で詳細に説明したものと同等の直列−並列変換を達成できるものであると理解される。もう1つの可能性は、エッジ・センシティブ・ストレージ要素(レジスタ)ではなくレベル・センシティブ・ストレージ要素(ラッチ)を使用し、その結果、クロック信号の立ち上がりエッジと立ち下がりエッジが、異なるストレージ要素のロードを引き起こすようにすることである。
【0098】
直列化を実施する方法に無関係に、各ワイヤ上でtCCインターバルごとに複数のビット・ウィンドウがあり、これらのビット・ウィンドウを正しく駆動し、サンプリングするために、tCCインターバルごとに複数のクロック・エッジが、メモリ・コンポーネント内で作成される。
【0099】
図12は、本発明の実施形態による、図1に示されたものなどのメモリ・システムのメモリ・コントローラ・コンポーネントの詳細を示すブロック図である。メモリ・コントローラ・コンポーネント102に、PLL 1202、1203、1204、および1205と、アドレス/制御送出ブロック201と、データ送出ブロック202と、データ受取ブロック203と、コントローラ・ロジック・コア1234が含まれる。PLL 1202に、位相比較器およびVCO 1206が含まれる。PLL 1202は、ClkInクロック信号1201を受け取り、コントローラ・ロジック・コア1234およびバッファ1224にClkCクロック信号1215を供給し、バッファ1224は、AClkクロック信号109を出力する。
【0100】
PLL 1203に、プリスケーラ1207、位相比較器およびVCO 1208、および分周器1209が含まれる。プリスケーラ1207は、周波数分周器として実装することができ、周波数分周の必要がない補償用遅延を供給する。プリスケーラ1207は、ClkInクロック信号1201を受け取り、位相比較器およびVCO 1208に信号1216を供給する。分周器1209は、フィードバック信号1218を位相比較器およびVCO 1208に供給し、位相比較器およびVCO 1208は、ClkC2クロック出力1217をアドレス/制御送出ブロック201に供給する。
【0101】
PLL 1204に、位相比較器およびVCO 1210、ダミー位相オフセット・セレクタ1212、および分周器1211が含まれる。ダミー位相オフセット・セレクタ1212は、ある量の遅延を挿入して、位相オフセット・セレクタに固有の遅延を模倣し、信号1220を分周器1211に供給し、分周器1211は、フィードバック信号1221を位相比較器およびVCO 1210に供給する。位相比較器およびVCO 1210は、ClkInクロック入力1201を受け取り、データ送出ブロック202およびデータ受取ブロック203にClkC8クロック出力1219を供給する。
【0102】
PLL 1205に、位相シフト回路1214と位相比較器およびVCO 1213が含まれる。位相シフト回路1214は、位相比較器およびVCO 1213にフィードバック信号1223を供給する。位相比較器およびVCO 1213は、ClkInクロック信号1201を受け取り、データ送出ブロック202およびデータ受取ブロック203にClkCDクロック信号1222を供給する。
【0103】
コントローラ・ロジック・コア1234は、データ送出ブロック202にTPhShB信号1235およびTPhShA信号1236を供給する。コントローラ・ロジック・コア1234は、データ受取ブロック203にRPhShB信号1237およびRPhShA信号1238を供給する。コントローラ・ロジック・コア1234は、データ送出ブロック202およびデータ受取ブロック203に、LoadSkip信号1239を供給する。コントローラ・ロジック・コア1234に、PhShCブロック1240が含まれる。コントローラ・ロジック・コア1234の機能性は、図17に関して下でさらに詳細に説明する。
【0104】
コントローラ・ロジック・コア1234は、内部アドレス・バス1231を介してアドレス/制御送出ブロック201にアドレス/制御情報を供給する。コントローラ・ロジック・コア1234は、内部書込データ・バス1232を介してデータ送出ブロック202に書込データを供給する。コントローラ・ロジック・コア1234は、内部読取データ・バス1233を介してデータ受取ブロック203から読取データを受け取る。
【0105】
アドレス/制御送出ブロック201は、出力1228を介してバッファ1225に結合され、バッファ1225は、ACバス107を駆動する。データ送出ブロック202は、バッファ1226に出力1229を供給し、バッファ1226は、DQバス108を駆動する。バッファ1227は、DQバス108を、データ受取ブロック203の入力1230に結合する。
【0106】
アドレス/制御送出ブロック201のそれぞれが、ACバスに接続され、ブロック202および203のそれぞれが、DQバスに接続される。これらの外部バス上の直列化されたデータは、コントローラ・ロジックの残りに接続される並列形式の内部バスの間で変換される。コントローラの残りはClkCクロック・ドメインで動作すると仮定する。
【0107】
図示の実施形態では、ClkIn信号が、メモリ・サブシステム全体のマスタ・クロックである。これは、受け取られ、コントローラによって使用されるすべてのクロック信号の周波数および位相の基準として使用される。他のクロックは、ClkC2、ClkC8、ClkC、およびClkCDである。これらは、それぞれClkInの周波数の2倍、8倍、1倍、および1倍である。ClkCは、ClkInに対する位相オフセットがなく、ClkCDは、90°遅れている。ClkC2は、1つおきの立ち上がりエッジを、ClkInの立ち上がりエッジに整列される。
【0108】
8つおきのClkC8立ち上がりエッジが、周波数分周器と送出ブロックおよび受取ブロックの位相オフセット・セレクタとの遅延を補償するオフセットを除いて、ClkInの立ち上がりエッジに整列される。ClkC8信号に対して位相シフトされる「N」個の追加のClkC8信号(ClkC8[N:1])がある。これらの他のClkC8位相は、メモリ・コンポーネントとの通信に必要な送出クロック・ドメインおよび受取クロック・ドメインを合成するのに使用される。
【0109】
周波数および位相の調整は、通常は、あるタイプのフェーズ・ロック・ループ(PLL)回路を用いて行われるが、他の技法を使用することもできる。PLL回路のフィードバック・ループに、さまざまなクロックを受取ブロックおよび送出ブロックならびにコントローラ・ロジックの残りに分配するのに必要なクロック・ドライバのスキューが含まれる。
【0110】
図13は、本発明の実施形態による、図12の受取ブロックおよび送出ブロックで使用されるロジックを示すブロック図である。メモリ・コントローラ・コンポーネント102に、アドレス/制御送出ブロック201、データ送出ブロック202、およびデータ受取ブロック203が含まれる。わかりやすくするために、1ビットだけに関する要素が図示されている。そのような要素が、バスのビットごとに複製される場合があることを理解されたい。
【0111】
アドレス/制御送出ブロック201に、レジスタ1301と、レジスタ1302および1303が含まれる。内部アドレス・バス1231が、レジスタ1301に結合され、レジスタ1301は、ClkCクロック1215によってクロッキングされ、それぞれ結合1304および1305を介してレジスタ1302および1303に出力を供給する。レジスタ1302および1303は、ClkC2クロック1217によってクロッキングされ、ACバスに出力1328を供給する。その結果、内部アドレス・バス1231上の並列情報が、出力1228の直列形式に変換される。アドレス/制御送出ブロック201の追加の機能の詳細を、下で図13に関して提供する。
【0112】
一般に、図13に示されたデータ送出ブロック202およびデータ受取ブロック203は、データの直列−並列変換または並列−直列変換を実行する機能をサービスする(変換のタイプは、データ・フローの方向に依存する)。そのようなブロックは、メモリ・デバイス内に存在するブロックに類似するが、この特定のシステムのコントローラに含まれる送出ブロックおよび受取ブロックの場合には、これらの直列−並列変換および並列−直列変換を実行するのに必要な適当なクロッキング信号を得るために、追加回路が必要である。この例のメモリ・デバイスでは、クロックが、メモリ・デバイス内で位相を整列されると理解されるので、そのようなクロック調整回路は不要である。しかし、メモリ・デバイス内の位相整列が、コントローラに関するメモリ・デバイスの物理的な位置決めに起因してシステムの他の部分での位相不一致を引き起こすというシステム内での前提に起因して、コントローラ内ではそのような位相整列を保証することができない。したがって、コントローラから第1の距離に位置決めされたメモリ・デバイスは、コントローラと通信される信号に関する、第2の位置に位置決めされた第2のメモリ・デバイスとは異なる特性遅延の組を有する。したがって、コントローラが、メモリ・デバイスのそれぞれによって供給される読取データを正しく取り込むことを保証されるようにし、メモリ・デバイスのそれぞれによって受け取られることを意図された書込データをコントローラが正しく駆動できるようにするために、個々のクロック調整回路が、そのようなメモリ・デバイスに関してコントローラ内で必要になる。
【0113】
送出ブロック202内で、送出用のデータが、TDバス1232を介して並列形式で受け取られる。このデータは、クロックClkC信号1215に基づいてレジスタ1310にロードされる。レジスタ1310にロードされた後に、このデータは、マルチプレクサ1312を介してレジスタ1313に直接に渡されるか、ClkC信号の立ち下がりエッジによってクロッキングされるレジスタ1311を含むマルチプレクサ1312を介するパスをトラバースすることによって1/2クロック・サイクルだけ遅延されるかのいずれかになる。そのような回路によって、ClkCクロック・ドメインに含まれるTDバス上のデータを、その送出に必要なクロック・ドメインに成功裡に転送できる。このクロック・ドメインは、TClkC1Bクロック・ドメインであり、これは、ClkCクロックと同一の周波数を有するが、必ずしもClkCクロック信号に位相を整列されてはいない。類似する回路を受取ブロック203内に含めて、RClkC1Bクロック・ドメインで受け取られたデータを、ClkCクロック・ドメインで動作するRQバスに成功裡に転送することができる。
【0114】
データ送出ブロック202に、PhShAブロック1306と、クロック・ドライバ回路1307と、レジスタ1308、1309、1310、1311、および1313と、マルチプレクサ1312と、シフト・レジスタ1314が含まれる。TPhShA信号1236およびClkC8クロック信号1219が、PhShAブロック1306に供給される。PhShAブロック1306に関する追加の詳細を、下で図15に関して提供する。クロック分周器回路1307に、1/1分周器回路1324と、1/8分周器回路1325が含まれる。TPhShB信号1235が、1/8分周器回路1325に供給される。PhShAブロック1306の出力が、1/1分周器回路1324および1/8分周器回路1325の入力に供給される。1/1分周器回路1324の出力が、シフト・レジスタ1314をクロッキングするために供給される。1/8分周器回路1325の出力が、レジスタ1313をクロッキングするために供給され、入力としてレジスタ1308に供給される。
【0115】
レジスタ1308は、ClkCDクロック信号1222によってクロッキングされ、レジスタ1309に出力を供給する。レジスタ1309は、ClkCクロック信号1215によってクロッキングされ、LoadSkip信号1238を受け取って、マルチプレクサ1312への出力と、レジスタ1310および1311をクロッキングするための出力を供給する。レジスタ1310は、書込データ・バス1232から書込データを受け取り、レジスタ1311およびマルチプレクサ1312に出力を供給する。レジスタ1311は、マルチプレクサ1312に出力を供給する。マルチプレクサ1312は、レジスタ1313に出力を供給する。レジスタ1313は、並列出力をシフト・レジスタ1314に供給する。シフト・レジスタ1314は、出力1229を供給する。その結果、入力1232の並列情報が、出力1229の直列形式に変換される。
【0116】
データ受取ブロック203に、PhShAブロック1315と、クロック分周回路1316と、レジスタ1317、1318、1320、1321、および1323と、シフト・レジスタ1319と、マルチプレクサ1322が含まれる。クロック分周回路1316には、1/1分周器回路1326と1/8分周器回路1327が含まれる。RPhShA信号1238およびClkC8クロック信号1219が、PhShAブロック1315に供給され、PhShAブロック1315は、1/1分周器回路1326および1/8分周器回路1327に出力を供給する。RPhShB信号1237が、1/8分周器回路1327の入力に供給される。1/1分周器回路1326は、シフト・レジスタ1319のクロッキングに使用される出力を供給する。1/8分周器回路1327は、レジスタ1320のクロッキングに使用され、レジスタ1317への入力として使用される出力を供給する。レジスタ1317は、ClkCDクロック信号1222によってクロッキングされ、レジスタ1318に出力を供給する。レジスタ1318は、LoadSkip信号1238を受け取り、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1322への出力と、レジスタ1321および1323のクロッキングに使用される出力を供給する。
【0117】
シフト・レジスタ1319は、入力1230を受け取り、レジスタ1320に並列出力を供給する。レジスタ1320は、レジスタ1321とマルチプレクサ1322に出力を供給する。レジスタ1321は、マルチプレクサ1322に出力を供給する。マルチプレクサ1322は、レジスタ1323に出力を供給する。レジスタ1323は、内部読取データ・バス1233に出力を供給する。その結果、入力1230の直列情報が、出力1233の並列形式に変換される。
【0118】
図示されているのは、アドレス/制御データおよび書込データを駆動し、読取データをサンプリングするのに必要なレジスタおよびゲーティング要素である。この例では、各tCCインターバルにアドレス/制御(AC[i])ワイヤごとに2ビットが転送されることと、各tCCインターバルに、読取データ(Q[i])ワイヤまたは書込データ(D[i])ワイヤごとに8ビットが転送されることが仮定されている。プライマリ・クロックClkC(tCCのサイクル・タイムを有する)のほかに、生成される2つの他の整列されるクロックがある。ClkC2(tCC/2のサイクル・タイムを有する)とClkC8(tCC/8のサイクル・タイムを有する)がある。これらのより高周波数のクロックによって、情報が、コントローラへシフト・インされるか、コントローラからシフト・アウトされる。各tCCインターバルに1回、直列データが、ClkCによってクロッキングされる並列レジスタとの間で転送される。
【0119】
コントローラ内で、ClkC2クロックまたはClkC8クロックを、それぞれtCCのサイクル・タイムを有するが、tCCインターバル全体にまたがって等しい増分の位相のオフセットを有する2クロックまたは8クロックに置換できることに留意されたい。そのような実施形態では、直列レジスタが、2つまたは8つのレジスタのブロックに置換され、各レジスタに、異なるクロック信号がロードされ、その結果、ACバスおよびDQバスのビット・ウィンドウが、正しくサンプリングまたは駆動されるようになる。もう1つの可能性は、エッジ・センシティブ・ストレージ要素(レジスタ)ではなくレベル・センシティブ・ストレージ要素(ラッチ)を使用し、その結果、クロック信号の立ち上がりエッジと立ち下がりエッジが、異なるストレージ要素のロードを引き起こすようにすることである。
【0120】
直列化を実施する方法に無関係に、各ワイヤ上でtCCインターバルごとに複数のビット・ウィンドウがあり、多くの実施形態で、これらのビット・ウィンドウを正しく駆動し、サンプリングするために、コントローラ内でtCCインターバルごとに複数のクロック・エッジが使用される。
【0121】
図13には、各スライスに受け取られ、送出される読取データおよび書込データが、異なるクロック・ドメイン内にあるという事実をコントローラがどのように扱うかも示されている。スライスは、単一ビットまで狭くすることができるので、コントローラ内に、32個の読取クロック・ドメインと32個の書込クロック・ドメインが同時に存在することができる(この例では、32ビットのDQバス幅を仮定する)。この例で、読取データおよび書込データと共にクロックが転送されず、そのようなクロックが、周波数ソースから合成されることが好ましいことを想起されたい。複数クロック・ドメインの問題は、クロックが読取データおよび書込データと共に転送された場合であっても存在する。これは、メモリ・コンポーネントが、システム内で、すべてのローカル・クロックが同相であることが好ましい点であるからである。他のシステム・クロッキング・トポロジを、本明細書で後程説明する。
【0122】
図13のアドレス/制御バス(AC)の送出ブロックでは、ClkC2クロックおよびClkCクロックを使用して、2対1直列化を実行する。ClkC2クロックによって、直列レジスタ1302および1303が、ACワイヤ1328にシフトされる。ClkC2クロックの正確な位相整列が、ドライバ・ロジックの回路実施形態に依存することに留意されたい。ドライバ遅延を考慮に入れるためにわずかなオフセットがある場合がある。ClkCクロックに対するACバス上のビット駆動ウィンドウの正確な位置を考慮に入れるために、わずかなオフセットがある場合もある。たとえば、出力ドライバが、既知の遅延を有する場合に、出力回路の一部が、データが実際に外部信号線に駆動される時よりわずかに前に出力ドライバにデータを供給し始めるように、ClkC2クロック信号の位相を調整することができる。したがって、ClkC2クロック信号の位相のシフトを使用して、出力ドライバに固有の遅延を考慮に入れることができ、データが、所望の時刻に外部データ線に実際に提示されるようになる。同様に、ClkC2クロック信号の位相の調整を使用して、ClkC2クロック信号に基づいて駆動されるデータの有効データ・ウィンドウの位置が最適に配置されることを保証することもできる。
【0123】
類似する形で、図13の書込データ・バス(D)の送出ブロックで、位相を遅らされたClkC8クロックを使用して、8対1直列化を実行することができる。位相を遅らされたClkC8クロックによって、直列レジスタ1314がDQワイヤにシフトされる。位相を遅らされたClkC8クロックの正確な整列が、ドライバ・ロジックの回路実施形態に依存することに留意されたい。ドライバ遅延を考慮に入れるために、わずかなオフセットがある場合がある。DQバス上のビット駆動ウィンドウの正確な位置を考慮に入れるために、わずかなオフセットがある場合もある。
【0124】
TPhShA[i][n:0]制御信号1236によって、入力基準ベクトルClkC8[N:1]に対する適当な位相オフセットが選択される。位相オフセット・セレクタは、単純なマルチプレクサ、より精巧な位相補間器、または他の位相オフセット選択技法を使用して実施することができる。位相補間器の一例では、所望より小さい位相オフセットの第1基準ベクトルと、所望より大きい位相オフセットの第2基準ベクトルが選択される。重みづけ値を適用して、第1基準ベクトルの一部と第2基準ベクトルの一部を組み合わせて、TClkC8Aクロックの所望の出力位相オフセットを得る。したがって、TClkC8Aクロックの所望の出力位相オフセットは、第1基準ベクトルと第2基準ベクトルから効果的に補間される。位相マルチプレクサの一例では、TPhShA[i][n:0]制御信号1236を使用して、ClkC8[N:1]クロック信号1219の1つを選択して、TClkC8Aクロックにパス・スルーする(2n+1=Nであることに留意されたい)。使用される位相は、一般に、コントローラ上の送出スライスごとに異なる。コントローラ上のスライスごとの位相は、初期化中の較正処理中に選択されることが好ましい。この処理を、本明細書で後程詳細に説明する。
【0125】
TClkC8Aクロックは、並列レジスタ1313および直列レジスタ1314をクロッキングする前に、1/8周波数分周器1325および1/1周波数分周器1324を通過する。分配されるClkC8[N:1]信号が、位相オフセット選択ブロック(PhShA)1306と周波数分周器ブロック1324および1325の遅延を補償するために、小さい位相オフセットを有することに留意されたい。このオフセットは、フェーズ・ロック・ループ回路によって生成され、供給電圧および温度の変動に追随する。
【0126】
送出位相シフト値を正しくセットされた(その結果、Dバス1229上のビット・ウィンドウが正しく駆動される)状態であっても、並列レジスタ1313に使用されるTClkC1Bクロックの位相が、整列されない可能性がある(位相の可能な組合せが8つある)。この問題を扱う方法は複数ある。図示の実施形態で使用される方式では、入力TPhShB1235を設け、この入力にパルスが与えられる時に、TClkC1Bの位相が、サイクルの1/8(45°)だけシフトされるようにする。初期化ソフトウェアによって、並列レジスタに正しい時に直列レジスタがロードされるようになるまで、このクロックの位相を調整する。この初期化処理は、本明細書で後程詳細に説明する。
【0127】
その代わりに、送出ブロック202へのロードのためにTDバス1232を準備する時に、ClkCドメイン内で位相調整を実行することも可能である。それを行うために、マルチプレクサおよびレジスタを使用して、ClkCサイクル境界にまたがって書込データを回転することができる。初期化で較正処理を提供して、送出ブロック202のパワー・アップ中にTClkC1Bクロックの位相に対処することができる。
【0128】
位相シフト制御を正しく調整した後に、書込データを、並列レジスタ1313からDバスに送出することができる。しかし、書込データは、ClkC1215ドメイン内のTDバス1232から、TClkC1Bドメイン内の並列レジスタ1313に転送される必要がある。これは、スキップ・マルチプレクサ1312を用いて達成される。このマルチプレクサは、ClkCの立ち上がりエッジでクロッキングされるレジスタ1310とClkCの立ち下がりエッジでクロッキングされるレジスタ1311の間で選択を行う。SkipT値によって、どのマルチプレクサ・パスが選択されるかが決定される。SkipT値は、ClkCDクロック1222によってTClkC1Bクロックをサンプリングすることによって決定される。結果の値が、初期化ルーチン中に、LoadSkip信号1238によってレジスタ1309にロードされる。この回路は、本明細書で後程詳細に説明する。
【0129】
読取データQの受取ブロック203が、図13の下部に示されている。受取ブロックは、本質的に、上で説明した送出ブロックと同一の要素を有するが、データの流れが逆転していることが異なる。しかし、クロック・ドメイン・クロッシングの問題は、本質的に類似する。
【0130】
RPhShA[i][n:0]制御信号1238によって、ClkC8[N:1]クロック信号1219の1つが選択されて、RClkC8クロックにパス・スルーされる。使用される位相は、一般に、コントローラ上の受取スライスごとに異なる。位相は、初期化中の較正処理中に選択される。この処理を、本明細書で後程詳細に説明する。
【0131】
RClkC8Aクロックは、並列レジスタ1320および直列レジスタ1319をクロッキングする前に、1/8周波数分周器1327および1/1周波数分周器1326を通過する。分配されるClkC8[N:1]信号1219が、位相オフセット選択ブロック(PhShA)1315および周波数分周器ブロック1326および1327の遅延を補償するために小さい位相オフセットを有することに留意されたい。このオフセットは、フェーズ・ロック・ループ回路によって生成され、供給電圧および温度の変動に追随する。
【0132】
受取位相シフト値を正しくセットされた(その結果、Qバス上のビット・ウィンドウが正しくサンプリングされる)状態であっても、並列レジスタ1320に使用されるRClkC1Bクロックの位相が、不一致になる可能性がある(位相の可能な組合せが8つある)。この問題を扱う方法は複数ある。図示の実施形態で使用される方式では、入力RPhShB1237を設け、この入力にパルスが与えられる時に、RClkC1Bクロックの位相が、サイクルの1/8(45°)だけシフトされるようにする。初期化ソフトウェアによって、並列レジスタ1320に正しい時に直列レジスタ1319がロードされるようになるまで、このクロックの位相を調整する。この初期化処理は、本明細書で後程詳細に説明する。
【0133】
送出回路について説明したものに類似するスキップ・マルチプレクサを使用して、RClkC1Bクロック・ドメインとClkCクロック・ドメインの間を移動する。位相シフト制御を正しく調整した後に、読取データを、Qバス1230から受け取り、並列レジスタ1320にロードすることができる。しかし、読取データは、RClkC1Bドメイン内の並列レジスタ1320から、ClkC1215ドメイン内のレジスタ1323に転送される必要がある。これは、スキップ・マルチプレクサ1322を用いて達成される。このマルチプレクサによって、ClkCの負エッジでクロッキングされるレジスタ1321を、RClkC1Bの立ち上がりエッジでクロッキングされるレジスタ1320とClkCの立ち上がりエッジでクロッキングされるレジスタ1323の間に挿入するか否かを決定することができる。SkipR値によって、どのマルチプレクサ・パスが選択されるかが決定される。SkipR値は、ClkCDクロック1222によってRClkC1Bクロックをサンプリングすることによって決定される。結果の値が、初期化ルーチン中に、LoadSkip信号1238によってレジスタ1318にロードされる。この回路は、本明細書で後程詳細に説明する。
【0134】
図14は、本発明の実施形態による、図12に示されたものなどのClkC8信号の生成に使用されるPLLの詳細を示すロジック図である。PLL 1204に、PLL回路1401、調整可能整合遅延1402、整合バッファ1403および位相比較器1404が含まれる。PLL回路1401に、VCO 1405、ダミー位相オフセット・セレクタ1406、周波数分周器1407、および位相比較器1408が含まれる。ClkInクロック信号1201が、VCO1405および位相比較器1408に供給される。VCO 1405は、調整可能整合遅延1402および整合バッファ1403に出力を供給する。調整可能整合遅延1402は、整合バッファ1403に複数の増分式に遅延される出力を供給する。
【0135】
PLL回路1401は、入力クロック信号ClkIn 1201の周波数の8倍のクロック信号を生成し、生成された信号は、図14の回路によって作られるクロック信号のパスに存在すると予定される遅延を考慮に入れるために位相シフトされる。したがって、予定される遅延は、クロック生成処理中に補償され、実際に使用される点に現れるクロック信号が、正しく位相を調整される。ブロック1204のうちで、PLL回路1401の外部の残りの部分は、PLL回路1401によって作られたクロックの等しい位相間隔を設けられた版を生成するのに使用される。これは、周知のDLL(delay locked loop)技法を介して達成され、このDLLは、等間隔のクロック信号を生成する機構を提供する。図14のブロック1204の結果として作られるクロック信号は、図15に関して下で説明する位相シフト・ロジックに供給される。図14および15の回路によって実行されるクロック生成の結果は、上で図13で説明した直列−並列変換または並列−直列変換の実行に使用される。
【0136】
整合バッファ1403の出力1409は、調整可能整合遅延1402によって遅延されておらず、ダミー位相オフセット・セレクタ1406の入力および位相比較器1404の入力に供給され、ClkC8クロック信号を供給する。遅延された出力1410が、ClkC81クロック信号を供給する。遅延された出力1411が、ClkC82クロック信号を供給する。遅延された出力1412が、ClkC83クロック信号を供給する。遅延された出力1413が、ClkC8N-1クロック信号を供給する。遅延された出力1414が、ClkC8Nクロック信号を供給し、これが、位相比較器1404の入力に供給される。位相比較器1404は、調整可能整合遅延1402にフィードバック信号を供給し、これによって、DLLが形成される。整合バッファ1403のそれぞれは、実質的に類似する伝搬遅延を有し、これによって、出力1409と遅延された出力1410から1414の間に意図されないタイミング・スキューを導入せずに、バッファリングされた出力を供給する。
【0137】
ClkIn基準クロック1201が、PLL 1204によって受け取られ、8倍だけ周波数を逓倍される。整合バッファ1403によって導入されるバッファ遅延、ダミー位相オフセット・セレクタ1406によって導入されるダミー位相オフセット選択遅延、および周波数分周器1407によって導入される周波数分周器遅延を含む複数の遅延が、PLL 1204のPLLフィードバック・ループに含まれる。これらの遅延をフィードバック・ループに含めることによって、DQのビットのサンプリングおよび駆動に使用されるクロックを、ClkIn基準に一致させ、温度および供給電圧の低速のドリフトによって引き起こされる遅延変動を追跡する。
【0138】
PLL回路1401の出力を、Nタップを有する遅延線1402に通す。各要素の遅延は、同一であり、適当な範囲にわたって調整可能であり、その結果、N個の要素の総遅延を、1つのClkC8サイクル(tCC/8)と等しくすることができる。遅延されないClkC8の位相を最大遅延のClkC8[N]を有するクロックと比較するフィードバック・ループ1404がある。遅延要素は、これらの信号の位相が整合される(遅延線全体にわたってtCC/8の遅延が存在することを意味する)まで調整される。
【0139】
ClkC8[N:1]信号は、同一のバッファ1403を通過し、それが接続される送出スライスおよび受取スライスから同一の負荷を見る。ClkC8基準信号1409も、バッファと、遅延を模倣する整合ダミー負荷を有する。
【0140】
図15は、本発明の実施形態による、図13に示されたものなどのメモリ・コントローラ・コンポーネントの送出ブロックおよび受取ブロックでClkC8[N:1]信号がどのように使用されるかを示すブロック図である。PhShAロジック・ブロック1501に、位相オフセット選択回路1502が含まれ、位相オフセット選択回路1502に、位相オフセット・セレクタ1503が含まれる。位相オフセット・セレクタ1503は、ClkC81クロック信号1410、ClkC82クロック信号1411、ClkC83クロック信号1412、ClkC8N-1クロック信号1413、およびClkC8Nクロック信号1414(すなわち、ClkC8クロック信号のN個の変形)を受け取り、ClkC8Aクロック信号1504を選択し、供給する。これは、制御信号PhShA[i][n:0](ただしN=2n+1)の設定に応じて信号の1つを選択するN対1マルチプレクサ1503を使用して達成される。これによって、スライス[i]のClkC8A出力クロックの位相を、tCC/8Nの増分で1つのClkC8サイクル(tCC/8)にわたって変更できる。
【0141】
初期化時に、ソフトウェアまたはハードウェアもしくはその両方を用いて較正手順を実行し、制御信号PhShA[i][n:0]の各組合せの下でテスト・ビットをサンプリングし、駆動する。最良のマージンをもたらす組合せが、スライスごとに選択される。この静的な値によって、コントローラとメモリ・コンポーネントの間のDQ信号およびAC信号の飛行時間が補償される。この飛行時間は、主にプリント配線基板上のトレース長および伝搬速度の要因であり、システム動作中に大きくは変動しない。供給電圧および温度に起因する他の遅延変動は、システム内のPLLのフィードバック・ループによって自動的に追跡される。
【0142】
図16は、図13のPhShB回路1307および1316を示すブロック図である。図16のクロック変換回路1601は、図13の1/1分周器回路1324および1/1分周器回路1326に対応することが好ましい。同様に、図16のクロック変換回路1602は、図13の1/8分周器回路1325および1/8分周器回路1327に対応することが好ましい。この回路は、本発明の好ましい実施形態に従って、ClkC8Aクロックに基づいてClkC8BクロックおよびClkC1Bクロックを作る。クロック変換回路1601には、マルチプレクサ1603が含まれ、マルチプレクサ1603が、ClkC8A信号1504を受け取り、ClkC8B信号1604を作る。クロック変換回路1602には、レジスタ1605、1606、1607、および1612と、論理ゲート1608と、マルチプレクサ1611と、増分回路1609および1610が含まれる。PhShB信号1614が、レジスタ1605に印加され、ClkC8Aクロック信号1504が、レジスタ1605をクロッキングするのに使用される。レジスタ1605の出力は、入力およびクロック入力としてレジスタ1606に印加される。レジスタ1606の1つの出力は、レジスタ1607および論理ゲート1608への入力として印加される。レジスタ1606の1つの出力は、レジスタ1607のクロッキングに使用される。レジスタ1607の1つの出力は、論理ゲート1608に印加される。レジスタ1607の1つの出力は、レジスタ1612のクロッキングに使用される。論理ゲート1608の出力が、マルチプレクサ1611に印加される。
【0143】
増分回路1609は、入力の3ビット値を2つ増分する。増分回路1610は、入力の3ビット値を、111から000へラップするように2進式に1つ増分する。マルチプレクサ1611は、増分回路1609および1610の3ビット出力のどちらかを選択し、3ビット出力をレジスタ1612に供給する。レジスタ1612は、増分回路1609および1610の入力3ビット値として使用される3ビット出力を供給する。この3ビット出力の最上位ビット(MSB)を使用して、ClkC1Bクロック信号1613を供給する。
【0144】
図16では、PhShA(図13の1306および1315)ブロックによって作られるClkC8Aクロックが、同一周波数のClkC8Bクロックと、1/8周波数のClkC1Bクロックを作るのに使用される。これらの2つのクロックは、互いに位相を整列される(ClkC1Bの各立ち上がりエッジが、ClkC8Bの立ち下がりエッジに整列される)。
【0145】
ClkC1B 1613は、それを1/8カウンタ1602に通すことによって作られる。ClkC8Aは、各クロック・エッジで増分する3ビット・レジスタ1612をクロッキングする。最上位ビットが、ClkC1Bになるが、これは、ClkC8Aの1/8の周波数である。ClkC8B 1604クロックは、3ビット・レジスタのクロック−出力遅延を模倣するマルチプレクサによってつくられ、その結果、ClkC1BとClkC8Bが整列される。当業者に明白であるように、他の遅延手段を、ブロック1601に図示されたマルチプレクサの代わりに使用して、1/8カウンタを介する遅延を整合させる作業を達成することができる。
【0146】
図13に関して説明したように、ClkC1B 1613の位相を調整し、その結果、並列レジスタが、適当な時に送出ブロックおよび受取ブロック内の直列レジスタからロードされるか、これにロードするようにする必要がある。初期化時に、較正手順で、テスト・ビットを送出し、受け取って、ClkC1Bクロックの適当な位相設定を判定する。この手順では、PhShB制御入力1614を使用する。この入力が立ち上がりエッジを有する時に、3ビット・カウンタが、それに続くClkC8Aエッジの1つ(同期化後)に、+1ではなく+2だけ増分される。ClkC1Bクロックの位相が、サイクルの1/8だけ進む方にシフトされる。較正手順を継続して、ClkC1Bクロックの位相を進め、TD[i][7:0]バスおよびRQ[i][7:0]バスのテスト・ビットの位置を検査する。テスト・ビットが正しい位置にある時に、ClkC1Bの位相を凍結する。
【0147】
図17は、本発明の実施形態による、PhShCブロック(図12の1240)の詳細を示すブロック図である。PhShCブロック1240に、ブロック1701から1704が含まれる。ブロック1701に、レジスタ1705とマルチプレクサ1706が含まれる。書込データ入力1714が、レジスタ1705およびマルチプレクサ1706に供給される。レジスタ1705は、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1706に出力を供給する。マルチプレクサ1706は、TPhShC[0]選択入力1713を受け取り、書込データ出力1715を供給する。ブロック1702に、レジスタ1707とマルチプレクサ1708が含まれる。読取データ入力1717が、レジスタ1707およびマルチプレクサ1708に供給される。レジスタ1707は、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1708に出力を供給する。マルチプレクサ1708は、RPhShC[0]選択入力1716を受け取り、読取データ出力1718を供給する。ブロック1703に、レジスタ1709とマルチプレクサ1710が含まれる。書込データ入力1720が、レジスタ1709およびマルチプレクサ1710に供給される。レジスタ1709は、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1710に出力を供給する。マルチプレクサ1710は、TPhShC[31]選択入力1719を受け取り、書込データ出力1721を供給する。ブロック1704に、レジスタ1711とマルチプレクサ1712が含まれる。読取データ入力1723が、レジスタ1711およびマルチプレクサ1712に供給される。レジスタ1711は、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1712に出力を供給する。マルチプレクサ1712は、RPhShC[31]選択入力1722を受け取り、読取データ出力1724を供給する。書込データに関するブロックの2つのインスタンスと読取データに関するブロックの2つのインスタンスだけが図示されているが、これらのブロックが、書込データの各ビットおよび読取データの各ビットについて複製される可能性があることを理解されたい。
【0148】
PhShCブロック1240は、32×8読取データ・ビットおよび32×8書込データ・ビットの遅延を調整し、その結果、すべてがコントローラ・ロジック・ブロック内の同一のClkCクロック・エッジで駆動またはサンプリングされるようにするのに使用される、最後のロジック・ブロックである。これは、スライスごとに読取データおよび書込データのパスに挿入することができる8ビット・レジスタを用いて達成される。遅延の挿入は、2つの制御バスTPhShC[31:0]およびRPhShC[31:0]によって決定される。読取データおよび書込データの伝搬遅延が、いずれかのメモリ・スライス位置でClkC境界をまたぐ可能性があるので、スライスごとに1つの制御ビットがある。メモリ・スライスにまたがる読取データおよび書込データにより大きいスキューを有する一部のシステムでは、1ClkCを超える調整が必要になる可能性がある。図示のPhShCセルは、より多くのレジスタおよびより多くのマルチプレクサ入力を追加することによって、追加の遅延を提供するように簡単に拡張することができる。
【0149】
2つの制御バスTPhShC[31:0]およびRPhShC[31:0]は、初期化中に較正手順を用いて構成される。他の位相調整ステップと同様に、テスト・ビットが、各メモリ・スライスから読み取られ、書き込まれ、図示の例では、コントローラ・ロジックが、256個のすべての読取データ・ビットを1ClkCサイクルでサンプリングでき、256個のすべての書込データ・ビットを1ClkCサイクルで駆動できる値が、制御ビットにセットされる。
【0150】
図18は、本発明の実施形態による、メモリ・コントローラ・コンポーネントの受取ブロック203(図13)からのスキップ・ロジックのロジックの詳細を示すブロック図である。スキップ・ロジックに、レジスタ1801、1802、1803、1804、および1806と、マルチプレクサ1805が含まれる。RClkC1Bクロック入力1807が、レジスタ1801に供給され、レジスタ1803のクロッキングに使用される。ClkCDクロック入力1222が、レジスタ1801のクロッキングに使用され、レジスタ1801は、レジスタ1802に出力を供給する。レジスタ1802は、LoadSkip信号1238を受け取り、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ1805に出力を供給し、レジスタ1804および1806のクロッキングに使用される出力を供給する。レジスタ1803は、入力1808でドメインRClkC1Bのデータを受け取り、レジスタ1804およびマルチプレクサ1805に出力を供給する。レジスタ1804は、マルチプレクサ1805に出力を供給する。マルチプレクサ1805は、レジスタ1806に出力を供給する。レジスタ1806は、出力1809でドメインClkCのデータを供給する。
【0151】
この回路は、RClkC1Bクロック・ドメインのデータをClkCドメインに転送する。これらの2つのクロックは、同一の周波数を有するが、どのような位相整列でも有することができる。解決策は、ClkCDと称するClkCの遅延された版(遅延の限界は、システムが判定することができるが、一実施形態では、公称遅延がClkCサイクルの1/4である)を用いてRClkC1Bをサンプリングすることである。このサンプリングされた値を、SkipRと呼び、これによって、RClkC1Bレジスタ内のデータをClkCレジスタに直接に転送することができるか、データをまず負エッジ・トリガされるClkCレジスタに通さなければならないかが判定される。
【0152】
図18に関して、下記のワースト・ケース・セットアップ制約を仮定することができる。
ケースB0
D,MAX+tH1,MIN+tCL,MIN+tV,MAX+tM,MAX+tS,MIN≦tCYCLE
または
D,MAX≦tCHMIN−tH1,MIN−tV,MAX−tM,MAX−tS,MIN ** 制約S **
ケースD1
D,MAX+tH1,MIN+tCYCLE+tV,MAX+tS,MIN≦tCYCLE+tCL,MIN
または
D,MAX≦tCL,MIN−tH1,MIN−tV,MAX−tS,MIN
下記のワースト・ケース・ホールド制約を仮定することができる。
ケースA1
D,MIN−tS1,MIN+tV,MIN≧tH,MIN
または
D,MIN≧tH,MIN+tS1,MIN−tV,MIN ** 制約H **
ケースC0
D,MIN−tS1,MIN+tV,MIN+tM,MIN≧tH,MIN
または
D,MIN≧tH,MIN+tS1,MIN−tV,MIN−tM,MIN
上で使用されたタイミング・パラメータは、次のように定義される。
S1 クロック・サンプラのセットアップ時間
H1 クロック・サンプラのホールド時間
S データ・レジスタのセットアップ時間
H データ・レジスタのホールド時間
V データ・レジスタの有効遅延(クロック−出力)
M データ・マルチプレクサの伝搬遅延
CYCLE クロック・サイクル・タイム(RClkC1B、ClkC、ClkCD)
CH クロック・ハイ時間(RClkC1B、ClkC、ClkCD)
CL クロック・ロウ時間(RClkC1B、ClkC、ClkCD)
D ClkCとClkCDの間のオフセット(ClkCDが後)
注意:
D,NOM〜tCYCLE/4
CH,NOM〜tCYCLE/2
CL,NOM〜tCYCLE/2
【0153】
図19は、本発明の実施形態による、受取ブロック203(図13に図示)のスキップ・ロジックのタイミングの詳細を示すタイミング図である。図19には、ClkCDクロック信号1901、ClkCクロック信号1902、RClkC1B(ケースA0)クロック信号1903、RClkC1B(ケースA1)クロック信号1904、RClkC1B(ケースB0)クロック信号1905、RClkC1B(ケースB1)クロック信号1906、RClkC1B(ケースC0)クロック信号1907、RClkC1B(ケースC1)クロック信号1908、RClkC1B(ケースD0)クロック信号1909、およびRClkC1B(ケースD1)クロック信号1910の波形が示されている。1クロック・サイクルのインターバルの時刻1911、1912、1913、1914、1915、1916、1917、および1918が、クロック信号の間のタイミングの差を示すために図示されている。
【0154】
図19には、A0からD1というラベルを付けられた8つのケースとして、RClkC1BとClkCの可能な位相整列が全般的に要約されている。これらのケースは、RClkC1BをサンプリングしてSkipR値を決定するClkCDの立ち上がりエッジのセット/ホールド・ウィンドウに対するRClkC1Bの立ち上がりエッジおよび立ち下がりエッジの位置によって区別される。明らかに、RClkC1Bの立ち上がりエッジまたは立ち下がりエッジがこのウィンドウの外にある場合に、これが正しくサンプリングされる。このエッジが、ウィンドウの縁またはウィンドウ内にある場合には、0または1のいずれかとしてサンプリングされる可能性がある(すなわち、サンプルの有効性を保証できない)。スキップ・ロジックは、どちらの場合でも正しく機能するように設計され、このスキップ・ロジックが、ClkCDクロックの遅延tDに対する限界を判定する。
【0155】
受取ブロックの場合、ケースB0 1905が、ワースト・ケース・セットアップ制約であり、ケースA1 1904が、ワースト・ケース・ホールド制約である。
D,MAX≦tCH,MIN−tH1,MIN−tV,MAX−tM,MAX−tS,MIN ** 制約S**
D,MIN≧tH,MIN+tS1,MIN−tV,MIN ** 制約H **
【0156】
前に述べたように、tD(ClkCに対するClkCDの遅延)の公称値は、ClkCサイクルの1/4になると期待される。tDの値は、上で示したtD,MAX値まで上に、または上で示したtD,MIN値まで下に変動する可能性がある。セットアップ時間(たとえば、tS1、tS)、ホールド時間(たとえば、tH1、tH)、マルチプレクサ伝搬遅延時間(たとえば、tM)、および有効時間(たとえば、tV)のすべてが0になる場合には、tDの値は、上にtCH,MIN(ClkCの最小ハイ時間)、下に0まで変動する可能性がある。しかし、レジスタの有限のセット/ホールド・ウィンドウ、有限のクロック−出力(有効時間)遅延およびマルチプレクサ遅延が組み合わされて、tD値の許容可能な変動が減らされる。
【0157】
スキップ・ロジックの基本機能を変更せずに、スキップ・ロジックの要素の一部を変更できることに留意されたい。たとえば、より遅いものではなくより早いサンプリング・クロックClkCDを使用することができる(制約の式が変更されるが、さまざまなセット、ホールド、および有効時間パラメータに対するClkCからClkCDまでのタイミング・スキュー範囲の類似する依存性がある)。他の実施形態では、ドメイン・クロッシング・パスへのClkCレジスタの代わりに、負エッジでトリガされるRClkC1Bレジスタを使用する(やはり、制約の式が変更されるが、さまざまなセット、ホールド、および有効時間パラメータに対するClkCからClkCDまでのタイミング・スキュー範囲の類似する依存性がある)。
【0158】
最後に、使用されるスキップ値が、初期化中に1回生成され、その後、レジスタにロードされる(LoadSkip制御信号を用いて)ことが好ましいことに留意されたい。そのような静的値は、すべてのClkCDエッジでサンプリングされる値より好ましい。というのは、RClkC1Bの整列が、RClkC1BがClkCDサンプリング・レジスタのセット/ホールド・ウィンドウ内での遷移を有するようになるものである場合に、サンプリングされるたびに異なるスキップ値が生成される可能性があるからである。これは、クロック・ドメイン・クロッシングの信頼性には影響しない(RClkC1BデータがClkCレジスタに正しく転送される)が、コントローラ内でClkCサイクル単位で測定される読取データの明白な待ち時間に影響する。すなわち、時々、読取データが、他の時間より1ClkCサイクルだけ長い時間を要する。スキップ値をサンプリングし、それをすべてのドメイン・クロッシングに使用することによって、この問題が解決される。また、較正中に、RClkC1Bの位相が調節されるたびに、スキップ値が変化する場合にLoadSkip制御のパルスが生成されることに留意されたい。
【0159】
図20は、本発明の実施形態による、図13の送出ブロック202のスキップ・ロジックのロジックの詳細を示すブロック図である。このスキップ・ロジックには、レジスタ2001、2002、2003、2004、および2006と、マルチプレクサ2005が含まれる。TClkC1Bクロック入力2007が、レジスタ2001に供給され、レジスタ2006のクロッキングに使用される。ClkCDクロック入力1222が、レジスタ2001のクロッキングに使用され、レジスタ2001は、レジスタ2002に出力を供給する。レジスタ2002は、LoadSkip信号1238を受け取り、ClkCクロック信号1215によってクロッキングされ、マルチプレクサ2005に出力を供給し、レジスタ2003および2004のクロッキングに使用される出力を供給する。レジスタ2003は、入力2008でドメインClkCのデータを受け取り、レジスタ2004およびマルチプレクサ2005に出力を供給する。レジスタ2004は、マルチプレクサ2005に出力を供給する。マルチプレクサ2005は、レジスタ2006に出力を供給する。レジスタ2006は、出力2009でドメインTClkC1Bのデータを供給する。
【0160】
図20の回路は、TClkC1BドメインへのClkCクロック・ドメインのデータの転送に使用される。2つのクロックClkCおよびTClkC1Bは、同一の周波数を有するが、位相が不一致である可能性がある。このクロック・ドメイン・クロッシングに使用することができる技法の1つが、ClkCDと称するClkCの遅延された版(遅延の限界は、変更することができるが、一実施形態では、選択される遅延が、ClkCサイクルの1/4である)を用いてTClkC1Bをサンプリングすることである。このサンプリングされた値SkipTによって、ClkCレジスタ内のデータをTClkC1Bレジスタに直接に転送するか、データをまず負エッジ・トリガされるClkCレジスタに通すかが判定される。
【0161】
図20に関して、下記のワースト・ケース・セットアップ制約を仮定することができる。
ケースC0
D,MIN−tS1,MIN≧tV,MAX+tM,MAX+tS,MIN
または
D,MIN≧tS1,MIN+tV,MAX+tM,MAX+tS,MIN ** 制約S **
ケースA1
D,MIN−tS1,MIN≧tV,MAX+tS,MIN
または
D,MIN≧tS1,MIN+tV,MAX+tS,MIN
下記のワースト・ケース・ホールド制約を仮定することができる。
ケースD1
H,MIN≦tCH,MIN−tD,MAX−tH1,MIN−tV,MIN
または
D,MAX≦tCH,MIN−tH1,MIN−tV,MIN−tH,MIN
または
D,MAX≦tCL,MIN−tH1,MIN−tV,MIN−tM,MIN−tH,MIN
ケースB0
H,MIN≦tCL,MIN−tD,MAX−tH1,MIN−tV,MIN−tM,MIN
または
D,MAX≦tCL,MIN−tH1,MIN−tV,MIN−tM,MIN−tH,MIN ** 制約H**
上で使用されたタイミング・パラメータの定義は、上の図18の説明にある。
【0162】
図21は、本発明の実施形態による、図13の送出ブロック202のスキップ・ロジックのタイミングの詳細を示すタイミング図である。図21には、ClkCDクロック信号2101、ClkCクロック信号2102、TClkC1B(ケースA0)クロック信号2103、TClkC1B(ケースA1)クロック信号2104、TClkC1B(ケースB0)クロック信号2105、TClkC1B(ケースB1)クロック信号2106、TClkC1B(ケースC0)クロック信号2107、TClkC1B(ケースC1)クロック信号2108、TClkC1B(ケースD0)クロック信号2109、およびTClkC1B(ケースD1)クロック信号2110の波形が示されている。1クロック・サイクルのインターバルの時刻2111、2112、2113、2114、2115、2116、2117、および2118が、クロック信号の間のタイミングの差を示すために図示されている。
【0163】
図21には、A0からD1というラベルを付けられた8つのケースとして、TClkC1BとClkCの可能な位相整列が全般的に要約されている。これらのケースは、TClkC1BをサンプリングしてSkipT値を決定するClkCDの立ち上がりエッジのセット/ホールド・ウィンドウに対するTClkC1Bの立ち上がりエッジおよび立ち下がりエッジの位置によって区別される。明らかに、TClkC1Bの立ち上がりエッジまたは立ち下がりエッジがこのウィンドウの外にある場合に、これが正しくサンプリングされる。このエッジが、ウィンドウの縁またはウィンドウ内にある場合には、0または1のいずれかとしてサンプリングされる可能性がある(すなわち、サンプルの有効性を保証できない)。スキップ・ロジックは、どちらの場合でも正しく機能するように設計され、このスキップ・ロジックが、ClkCDクロックの遅延tDに対する限界を判定する。
【0164】
送出ブロックについて、ケースC0 2107が、ワースト・ケース・セットアップ制約を有し、ケースB0 2105が、ワースト・ケース・ホールド制約を有する。
D,MIN≧tS1,MIN+tV,MAX+tM,MAX+tS,MIN ** 制約S **
D,MAX≦tCL,MIN−tH1,MIN−tV,MIN−tM,MIN−tH,MIN ** 制約H**
【0165】
前に述べたように、tD(ClkCに対するClkCDの遅延)の公称値は、ClkCサイクルの1/4になると期待される。この値は、上で示したtD,MAX値まで上に、またはtD,MIN値まで下に変動する可能性がある。セット時間、ホールド時間、mux(すなわちマルチプレクサ)時間、および有効時間のすべてが0になる場合には、tDの値は、上にtCH,MIN(ClkCの最小ハイ時間)、下に0まで変動する可能性がある。しかし、レジスタの有限のセット/ホールド・ウィンドウ、有限のクロック−出力(有効時間)遅延およびマルチプレクサ遅延が組み合わされて、tD値の許容可能な変動が減らされる。
【0166】
上で図19に関して説明したように、スキップ・ロジックのいくつかの要素を、その全般的な機能性を保ちながら異なる実施形態のために変更することができる。同様に、図19のスキップ・ロジックに関して説明したように、使用されるスキップ値が、初期化中に生成され、その後、レジスタにロードされる(LoadSkip制御信号を用いて)ことが好ましい。
【0167】
図22は、本発明の実施形態による、データ・クロッキング配置の例を示すタイミング図である。しかし、この例では、メモリ・コントローラおよびメモリ・コンポーネントのクロック位相が、図5から21に示された例の値と異なる値の組に調整されている。WClkS1,M0クロック信号2201およびRClkS1,M0クロック信号2202の波形が、スライス0のメモリ・コントローラ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。WClkS1,M0クロック信号2201のシーケンシャル・サイクルの立ち上がりエッジは、それぞれ、時刻2205、2206、2207、2208、2209、2210、2211、および2212に発生する。書込データ情報Da2213が、時刻2205にコントローラのデータ線に存在する。読取データ情報Qb 2214が、時刻2208に存在する。読取データ情報Qc 2215が、時刻2209に存在する。書込データ情報Dd 2216が、時刻2210に存在する。書込データ情報De 2217が、時刻2211に存在する。
【0168】
WClkS1,M1クロック信号2203およびRClkS1,M1クロック信号2204の波形が、スライス1のメモリ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。書込データ情報Da 2218が、時刻2206にメモリ・コンポーネントのデータ線に存在する。読取データ情報Qb 2219が、時刻2207に存在する。読取データ情報Qc 2220が、時刻2208に存在する。書込データ情報Dd 2221が、時刻2211に存在する。書込データ情報De 2222が、時刻2212に存在する。
【0169】
図5から21に示された例示的システムでは、読取データおよび書込データのクロックが、各メモリ・コンポーネントで同相であることが仮定されていた。図22では、スライスごとに、各メモリ・コンポーネントの読取クロックが、コントローラでの書込クロックと同相であり(RClkSi,M0=WClkSi,M1)、伝搬遅延tPD2が各方向で同一なので、各メモリ・コンポーネントの書込クロックが、コントローラでの読取クロックと同相である(WClkSi,M0=RClkSi,M1)と仮定される。この位相の関係によって、読取データおよび書込データのタイミング・スロットが、図6に対してシフトされるが、書込−読取−読取−書込シーケンス中に2つのアイドル・サイクルが挿入されるという事実は変化しない。この位相の関係によって、システム内でドメイン・クロッシングが発生する位置が変更される(一部のドメイン・クロッシング・ロジックが、コントローラからメモリ・コンポーネントに移動される)。
【0170】
図23から26は、本発明の実施形態による、データ・クロッキング配置の例を示すタイミング図である。しかし、この例では、メモリ・コントローラ内のクロック位相とメモリ・コンポーネント内のクロック位相が、図5から21に示された例の値と異なる値の組に調整されている。図23から26の例では、図22の例と異なるクロック位相値の組も使用される。
【0171】
図23は、本発明の実施形態による、データ・クロッキング配置の例を示すタイミング図である。WClkSi,M0クロック信号2301およびRClkS1,M0クロック信号2302の波形が、スライス0のメモリ・コントローラ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。WClkSi,M0クロック信号2301のシーケンシャル・サイクルの立ち上がりエッジが、それぞれ、時刻2305、2306、2307、および2308に発生する。書込データ情報Da 2309が、WClkSi,M0クロック信号2301の第1サイクル中にコントローラのデータ・バスに存在する。読取データ情報Qb 2310が、WClkSi,M0クロック信号2301の第4サイクルに存在する。読取データ情報Qc 2311が、時刻2305に存在する。書込データ情報Dd 2312が、時刻2306に存在する。書込データ情報De 2313が、時刻2307に存在する。
【0172】
WClkS1,M1クロック信号2303およびRClkS1,M1クロック信号2304の波形が、スライス1のメモリ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。書込データ情報Da 2314が、スライス0のメモリ・コントローラ・コンポーネントの展望からの位置に対して1クロック・サイクル進んでいる。言い換えると、書込データは、コントローラのデータ・バスに現れる時より約1クロック・サイクル後にメモリ・デバイスのデータ・バスに現れる。読取データ情報Qb 2315は、スライス0のメモリ・コントローラ・コンポーネントの展望からの位置に対して1クロック・サイクル遅れている。読取データ情報Qc 2316も、スライス0のメモリ・コントローラ・コンポーネントの展望からの位置に対して1クロック・サイクル遅れている。書込データ情報Dd 2317は、時刻2307に存在する。書込データ情報De 2318は、時刻2308に存在する。
【0173】
この例のシステムでは、読取データおよび書込データのクロックが、各メモリ・コンポーネントで同相であると仮定されている。図23では、各スライスについて、読取クロックおよび書込クロックが、コントローラで同相であり(RClkSi,M0=WClkSi,M0)、また、各スライスが、コントローラ側の他のすべてのスライスと同相である(WClkSi,M0=WClkSjM0)と仮定されている。これによって、読取データおよび書込データのタイミング・スロットが、図6および図22に対してシフトされるが、書込−読取−読取−書込シーケンス中に2つのアイドル・サイクルが使用されるという事実は変化しない。この位相の関係によって、システム内でドメイン・クロッシングが発生する位置が変更される(すべてのドメイン・クロッシング・ロジックが、コントローラからメモリ・コンポーネントに移動される)。
【0174】
図6は、3つのすべてのクロック位相(アドレス、読取データ、および書込データ)が、各メモリ・コンポーネントで同一にされるケースを表し、図23は、3つのすべてのクロック位相(アドレス、読取データ、および書込データ)が、メモリ・コントローラで同一にされるケースを表し、図22は、1つの可能な中間のケースを表す。このケースの範囲は、本発明のさまざまな実施形態をさまざまな位相設定で実施できることを強調するために示されたものである。メモリ・コントローラおよびメモリ・コンポーネントは、クロック位相設定のあらゆる組合せをサポートするように簡単に構成することができる。
【0175】
3つのすべてのクロック位相(アドレス、読取データ、および書込データ)が各メモリ・コンポーネントで同一にされる1つの極端のケース(図5から21に図示)は、各メモリ・コンポーネント内に単一のクロック・ドメインがあるので重要である。3つのすべてのクロック位相(アドレス、読取データ、および書込データ)がメモリ・コントローラで同一にされるもう一方の極端のケース(図23)も、コントローラ内に単一のクロック・ドメインがあるので重要である。図24から26に、このケースをさらに示す。
【0176】
図24は、本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コントローラ・コンポーネントでのタイミングを示すタイミング図である。AClkS0M1クロック信号2401が、スライス0のメモリ・コントローラ・コンポーネントの展望からのメモリ・モジュール1のアドレス/制御タイミングを示すために図示されている。AClkS0M1クロック信号2401のシーケンシャル・サイクルの立ち上がりエッジは、それぞれ、時刻2406、2407、2408、2409、2410、2411、2412、および2413に発生する。アドレス情報ACa 2414が、時刻2406にコントローラのアドレス信号線に存在する。アドレス情報ACb 2415が、時刻2407に存在する。アドレス情報ACc 2416が、時刻2408に存在する。アドレス情報ACd 2417が、時刻2412に存在する。
【0177】
WClkS1,M0クロック信号2402およびRClkS1,M0クロック信号2403の波形が、モジュール0のメモリ・コントローラ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。書込データ情報Da 2418が、時刻2407にコントローラのデータ線に存在する。読取データ情報Qb 2419が、時刻2411に存在する。読取データ情報Qc2420が、時刻2412に存在する。書込データ情報Dd 2421が、時刻2413に存在する。
【0178】
WClkSNsM0クロック信号2404およびRClkSNsM0クロック信号2405の波形が、モジュール0のメモリ・コントローラ・コンポーネントの展望からのスライスNSのデータ・タイミングを示すために図示されている。書込データ情報Da 2422が、時刻2407にコントローラのデータ線に存在する。読取データ情報Qb 2423が、時刻2411に存在する。読取データ情報Qc 2424が、時刻2412に存在する。書込データ情報Dd 2425が、時刻2413に存在する。
【0179】
図24から26は、すべてのクロック位相がコントローラで整列されるケースの総合システム・タイミングを示す図である。図24は、コントローラでのタイミングであり、クロックのすべてが、各メモリ・スライスではなくコントローラで共通であるという事実を除いて、図7に類似する。その結果、クロックは、図24ではすべてが整列され、コントローラが書込−読取−読取−書込シーケンスに挿入する2サイクルのギャップが、アドレス・パケットACcとACdの間で明白である。
【0180】
図25は、本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コンポーネントの1ランクの第1スライスでのタイミングを示すタイミング図である。AClkS1,M1クロック信号2501の波形が、スライス1のメモリ・コンポーネントの展望からのメモリ・モジュール1のアドレス/制御タイミングを示すために図示されている。時刻2504、2505、2506、2507、2508、2509、2510、および2511が、それぞれ図24の時刻2406、2407、2408、2409、2410、2411、2412、および2413に対応する。信号AClkS1,M1 2501は、図24の信号AClkS0M1 2401に対してtPD0の遅延だけ遅れている。言い換えると、AClk信号は、コントローラからメモリ・コンポーネントに伝搬するのに時間tPD0を要する。アドレス情報ACa 2512が、信号2501のエッジ2530に関連する。アドレス情報ACb 2513が、信号2501のエッジ2531に関連する。アドレス情報ACc 2514が、信号2501のエッジ2532に関連する。アドレス情報ACd 2515が、信号2501のエッジ2533に関連する。
【0181】
WClkS1,M1クロック信号2502およびRClkS1,M1クロック信号2503の波形が、モジュール1のメモリ・コンポーネントの展望からのスライス1のデータ・タイミングを示すために図示されている。図25には、第1メモリ・コンポーネント(スライス1)のタイミングが示されており、クロックは、伝搬遅延tPD2およびtPD0のゆえに不整列になっている。信号WClkS1,M1 2502は、図24の信号WClkS1,M0 2402に対してtPD2の遅延だけ遅れている。書込データ情報Da 2516が、信号2502のエッジ2534に関連する。書込データ情報Dd 2519が、信号2502のエッジ2537に関連する。信号RClkS1,M1 2503は、図24の信号RClkS1,M0 2403よりtPD2だけ進んでいる。読取データ情報Qb 2517が、信号2503のエッジ2535に関連する。読取データ情報Qc 2518が、信号2503のエッジ2536に関連する。
【0182】
図26は、本発明の実施形態による、図23に示されたデータ・クロッキング配置の例のメモリ・コンポーネントの1ランクの最終スライスでのタイミングを示すタイミング図である。AClkSNsM1クロック信号2601の波形が、スライスNSのメモリ・コンポーネントの展望からのメモリ・モジュール1のアドレス/制御タイミングを示すために図示されている。時刻2604、2605、2606、2607、2608、2609、2610、および2611は、それぞれ、図24の時刻2406、2407、2408、2409、2410、2411、2412、および2413に対応する。信号AClkSNsM1 2601は、図24の信号AClkS0M1 2401に対してtPD0+tPD1の遅延だけ遅れている。言い換えると、アドレス情報ACa 2612は、信号2601のエッジ2630に関連する。アドレス情報ACb 2613は、信号2601のエッジ2631に関連する。アドレス情報ACc 2614は、信号2601のエッジ2632に関連する。アドレス情報ACd 2615は、信号2601のエッジ2633に関連する。
【0183】
WClkSNsM1クロック信号2602およびRClkSNsM1クロック信号2603の波形が、モジュール1のメモリ・コンポーネントの展望からのスライスNSのデータ・タイミングを示すために図示されている。信号WClkSNsM1 2602は、図24の信号WClkS1,M0 2402に対してtPD2の遅延だけ遅れている。書込データ情報Da 2616は、信号2602のエッジ2634に関連する(たとえば、書込データ情報Da 2616は、信号2602のエッジ2634がメモリ・コンポーネントのAClkクロック導体に存在する時に、メモリ・コンポーネントのデータ・バスに存在する)。書込データ情報Dd 2619は、信号2602のエッジ2637に関連する。信号RClkSNsM1 2603は、図24の信号RClkS1,M0 2403よりtPD2だけ進んでいる。読取データ情報Qb 2617は、信号2603のエッジ2635に関連する。読取データ情報Qc 2618は、信号2603のエッジ2636に関連する。
【0184】
図26は、最後のメモリ・コンポーネント(スライスNS)のタイミングを示す図であり、クロックは、伝搬遅延tPD1のゆえにさらに不整列になっている。その結果、各メモリ・コンポーネントは、図12から21に関して説明したように、コントローラ内にあるものに類似するドメイン・クロッシング・ハードウェアを有する。
【0185】
メモとして、図2の示された例のシステムに、単一のメモリ・モジュール、そのモジュール上のメモリ・コンポーネントの単一のランク、共通のアドレスおよび制御バス(その結果、各コントローラ・ピンが複数のメモリ・コンポーネントのそれぞれのピンに接続される)、およびスライスされたデータ・バス(各コントローラ・ピンが正確に1つのメモリ・コンポーネントのピンに接続される)が含まれる。これらの特性は、詳細の説明を単純にするために、この構成が例示的な特殊なケースであるがゆえに、例の実施形態のために選択されたものである。しかし、説明したクロッキング方法を、広範囲のシステム・トポロジに拡張することができる。したがって、本発明の実施形態を、図2の例のシステムの特徴と異なる特徴を有するシステムを用いて実践できることを理解されたい。
【0186】
この議論の残りでは、複数のメモリ・モジュールまたはモジュールごとに複数のメモリ・ランク(またはその両方)を有するシステムに焦点を合わせる。これらのシステムでは、各データ・バス・ワイヤが、1つのコントローラ・ピンと、複数のメモリ・コンポーネントのそれぞれの1つのピンとに接続される。コントローラとメモリ・コンポーネントのそれぞれの間のtPD2伝搬遅延が異なるので、コントローラ内のクロック・ドメイン・クロッシングの問題が、複雑になる。各メモリ・コンポーネントですべてのクロックを整合させるという選択が行われる場合には、コントローラが、スライス内のメモリ・コンポーネントのランクまたはモジュールごとに1組のドメイン・クロッシング・ハードウェアを必要とする。これは、大量のコントローラ面積を必要とし、クリティカルなタイミング・パスに悪影響するという点で、短所を持つ。したがって、複数モジュールまたは複数ランクのシステムでは、クロックのすべてをコントローラで整列させ、ドメイン・クロッシング・ロジックをメモリ・コンポーネント内に配置することが望ましい可能性がある。
【0187】
図27は、本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント2702、メモリ・モジュール2703、メモリ・モジュール2730、書込クロック2705、読取クロック2706、書込クロック2726、読取クロック2727、スプリッティング・コンポーネント2742、スプリッティング・コンポーネント2743、終端コンポーネント2720、終端コンポーネント2724、終端コンポーネント2737、および終端コンポーネント2740が含まれる。図示の例のシステムに、スライスごとに少なくとも1つの書込クロックがあることを理解されたい。
【0188】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール2703の第1ランクには、メモリ・コンポーネント2716、2717、および2718が含まれる。メモリ・モジュール2703の第2ランクには、メモリ・コンポーネント2744、2745、および2746が含まれる。メモリ・モジュール2730の第1ランクには、メモリ・コンポーネント2731、2732、および2733が含まれる。メモリ・モジュール2730の第2ランクには、メモリ・コンポーネント2734、2735、および2736が含まれる。
【0189】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス2713、スライス2714、およびスライス2715が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、各メモリ・モジュール内の各スライスに、それ自体のデータ・バス2708、書込クロック導体2710、および読取クロック導体2711が設けられる。データ・バス2708は、メモリ・コントローラ・コンポーネント2702、メモリ・コンポーネント2716、およびメモリ・コンポーネント2744に結合される。終端コンポーネント2720が、メモリ・コントローラ・コンポーネント2702の近くでデータ・バス2708に結合され、終端コンポーネント2720を、たとえばメモリ・コントローラ・コンポーネント2702に組み込むことができる。終端コンポーネント2721が、データ・バス2708の反対の末端の近くに結合され、好ましくはメモリ・モジュール2703内に設けられる。書込クロック2705が、書込クロック導体2710に結合され、書込クロック導体2710は、メモリ・コントローラ・コンポーネント2702とメモリ・コンポーネント2716および2744に結合される。終端コンポーネント2723が、書込クロック導体2710の、メモリ・コンポーネント2716および2744に近い末端の近くに、好ましくはメモリ・モジュール2703内で結合される。読取クロック2706が、読取クロック導体2711に結合され、読取クロック導体2711は、スプリッティング・コンポーネント2742を介してメモリ・コントローラ・コンポーネント2702とメモリ・コンポーネント2716および2744に結合される。スプリッティング・コンポーネントは、下でさらに詳細に説明する。終端コンポーネント2724が、メモリ・コントローラ・コンポーネント2702の近くで結合され、終端コンポーネント2724を、たとえばメモリ・コントローラ・コンポーネント2702に組み込むことができる。終端コンポーネント2725が、メモリ・コンポーネント2716および2744に近い読取クロック導体2711の末端の近くに、好ましくはメモリ・モジュール2703内で結合される。
【0190】
メモリ・モジュール2730のスライス2713に、データ・バス2747、書込クロック導体2728、読取クロック導体2729が設けられる。データ・バス2747は、メモリ・コントローラ・コンポーネント2702、メモリ・コンポーネント2731、およびメモリ・コンポーネント2734に結合される。終端コンポーネント2737が、メモリ・コントローラ・コンポーネント2702の近くでデータ・バス2747に結合され、終端コンポーネント2737を、たとえばメモリ・コントローラ・コンポーネント2702に組み込むことができる。終端コンポーネント2738が、データ・バス2747の反対の末端の近くに結合され、好ましくはメモリ・モジュール2730内に設けられる。書込クロック2726が、書込クロック導体2728に結合され、書込クロック導体2728は、メモリ・コントローラ・コンポーネント2702とメモリ・コンポーネント2731および2734に結合される。終端コンポーネント2739が、メモリ・コンポーネント2731および2734の近くの書込クロック導体2728の末端に、好ましくはメモリ・モジュール2730内で結合される。読取クロック2727が、読取クロック導体2729に結合され、読取クロック導体2729は、スプリッティング・コンポーネント2743を介してメモリ・コントローラ・コンポーネント2702とメモリ・コンポーネント2731および2734に結合される。終端コンポーネント2740が、メモリ・コントローラ・コンポーネント2702の近くに結合され、終端コンポーネント2740を、たとえばメモリ・コントローラ・コンポーネント2702に組み込むことができる。終端コンポーネント2741が、メモリ・コンポーネント2731および2734の近くの読取クロック導体2729の末端の近くに、好ましくはメモリ・モジュール2730内で結合される。
【0191】
スライスされたデータ・バスを、メモリ・システム内のメモリ・コンポーネントの複数のランクおよび複数のメモリ・コンポーネントに拡張することができる。この例では、各モジュールのスライスごとに専用のデータ・バスがある。各データ・バスは、各モジュール上のメモリ・デバイスのランクによって共有される。ワイヤがメイン・プリント配線基板からモジュールに移行する時にワイヤのインピーダンスを整合させ、その結果、性能を損なう範囲まで異ならないようにすることが好ましい。いくつかの実施形態では、終端コンポーネントが、各モジュール上にある。データと共に移動する専用の読取クロックおよび書込クロックが、データ・バスごとに図示されているが、これらを仮想クロックとみなすことができる。すなわち、読取クロックおよび書込クロックを、既に説明した例示的システムのようにアドレス/制御クロックから合成することができる。
【0192】
図28は、本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント2802、メモリ・モジュール2803、メモリ・モジュール2830、書込クロック2805、読取クロック2806、スプリッティング・コンポーネント2842、スプリッティング・コンポーネント2843、スプリッティング・コンポーネント2848、スプリッティング・コンポーネント2849、スプリッティング・コンポーネント2850、スプリッティング・コンポーネント2851、終端コンポーネント2820、終端コンポーネント2824、終端コンポーネント2880、および終端コンポーネント2881が含まれる。
【0193】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール2803の第1ランクには、メモリ・コンポーネント2816、2817、および2818が含まれる。メモリ・モジュール2803の第2ランクには、メモリ・コンポーネント2844、2845、および2846が含まれる。メモリ・モジュール2830の第1ランクには、メモリ・コンポーネント2831、2832、および2833が含まれる。メモリ・モジュール2830の第2ランクには、メモリ・コンポーネント2834、2835、および2836が含まれる。
【0194】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス2813、スライス2814、およびスライス2815が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、複数のメモリ・モジュールにまたがる各スライスに、データ・バス2808、書込クロック導体2810、および読取クロック導体2811が設けられる。データ・バス2808は、メモリ・コントローラ・コンポーネント2802に結合され、スプリッタ2848を介してメモリ・コンポーネント2816および2844に結合され、スプリッタ2849を介してメモリ・コンポーネント2831および2834に結合される。終端コンポーネント2820が、メモリ・コントローラ・コンポーネント2802の近くでデータ・バス2808に結合され、終端コンポーネント2820を、たとえばメモリ・コントローラ・コンポーネント2802に組み込むことができる。終端コンポーネント2880が、データ・バス2808の反対の末端の近くで、スプリッタ2849の近くに結合される。終端コンポーネント2821が、メモリ・コンポーネント2816および2844の近くに結合され、好ましくはメモリ・モジュール2803内に設けられる。終端モジュール2838が、メモリ・コンポーネント2831および2834の近くに結合され、好ましくはメモリ・モジュール2830内に設けられる。
【0195】
書込クロック2805は、書込クロック導体2810に結合され、書込クロック導体2810は、メモリ・コントローラ・コンポーネント2802に結合され、スプリッタ2850を介してメモリ・コンポーネント2816および2844に結合され、スプリッタ2851を介してメモリ・コンポーネント2831および2834に結合される。終端コンポーネント2881が、書込クロック導体2810の末端の近くで、スプリッタ2851の近くに結合される。終端コンポーネント2823が、メモリ・コンポーネント2816および2844の近くに、好ましくはメモリ・モジュール2803内で結合される。終端コンポーネント2839が、メモリ・コンポーネント2831および2834の近くに、好ましくはメモリ・モジュール2830内で結合される。
【0196】
読取クロック2806が、読取クロック導体2811に結合され、読取クロック導体2811は、スプリッティング・コンポーネント2843を介してメモリ・コンポーネント2831および2834に結合され、スプリッティング・コンポーネント2842を介してメモリ・コントローラ・コンポーネント2802とメモリ・コンポーネント2816および2844に結合される。終端コンポーネント2824が、メモリ・コントローラ・コンポーネント2802の近くに結合され、終端コンポーネント2824を、たとえばメモリ・コントローラ・コンポーネント2802に組み込むことができる。終端コンポーネント2825が、読取クロック導体2811の末端の近くでメモリ・コンポーネント2816および2844の近くに、好ましくはメモリ・モジュール2803内で結合される。終端コンポーネント2841が、読取クロック導体2811の末端の近くでメモリ・コンポーネント2831および2834の近くに、好ましくはメモリ・モジュール2830内で結合される。
【0197】
図からわかるように、この例では、図28に示されているようにすべてのメモリ・モジュールによって共有されるデータ・スライスごとに1つのデータ・バスが使用される。この例では、各データ・ワイヤが、ある形のスプリッティング・コンポーネントSを使用してタッピングされる。このスプリッタは、受動インピーダンス・マッチャ(デルタ構成またはy構成の3つの抵抗)もしくはなんらかの形の能動バッファまたはスイッチ要素とすることができる。どちらの場合でも、各ワイヤの電気インピーダンスが、その長さに沿って維持され(製造限度内で)、その結果、信号の完全性が高く保たれる。前の構成と同様に、スプリットされたデータ・バスのそれぞれが、メモリ・モジュール上で、スライス内のすべてのメモリ・コンポーネントを通り、終端コンポーネントへルーティングされる。
【0198】
図29は、本発明の実施形態による、複数のランクのメモリ・コンポーネントおよび複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント2902、メモリ・モジュール2903、メモリ・モジュール2930、書込クロック2905、読取クロック2906、終端コンポーネント2920、終端コンポーネント2921、終端コンポーネント2923、および終端コンポーネント2924が含まれる。
【0199】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール2903の第1ランクに、メモリ・コンポーネント2916、2917、および2918が含まれる。メモリ・モジュール2903の第2ランクに、メモリ・コンポーネント2944、2945、および2946が含まれる。メモリ・モジュール2930の第1ランクに、メモリ・コンポーネント2931、2932、および2933が含まれる。メモリ・モジュール2930の第2ランクに、メモリ・コンポーネント2934、2935、および2936が含まれる。
【0200】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス2913、スライス2914、およびスライス2915が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、メモリ・モジュールにまたがる各スライスが、共通のデイジー・チェイン接続されたデータ・バス2908、共通のデイジー・チェイン接続された書込クロック導体2910、および共通のデイジー・チェイン接続された読取クロック導体2911を共有する。データ・バス2908は、メモリ・コントローラ・コンポーネント2902、メモリ・コンポーネント2916、メモリ・コンポーネント2944、メモリ・コンポーネント2931、およびメモリ・コンポーネント2934に結合される。終端コンポーネント2920が、メモリ・コントローラ・コンポーネント2902の近くでデータ・バス2908に結合され、終端コンポーネント2920を、たとえばメモリ・コントローラ・コンポーネント2902に組み込むことができる。終端コンポーネント2921が、データ・バス2908の反対の末端の近くに結合される。
【0201】
書込クロック2905が、書込クロック導体2910に結合され、書込クロック導体2910は、メモリ・コントローラ・コンポーネント2902と、メモリ・コンポーネント2916、2944、2931、および2934に結合される。終端コンポーネント2923が、書込クロック導体2910の末端の近くに結合される。読取クロック2906が、読取クロック導体2911に結合され、読取クロック導体2911は、メモリ・コントローラ・コンポーネント2902と、メモリ・コンポーネント2916、2944、2931、および2934に結合される。終端コンポーネント2924が、メモリ・コントローラ・コンポーネント2902の近くに結合され、終端コンポーネント2924を、たとえばメモリ・コントローラ・コンポーネント2902に組み込むことができる。
【0202】
この実施形態では、データ・スライスごとに単一のデータ・バスがあるが、スプリッティング・コンポーネントを使用するのではなく、各データ・ワイヤが、メモリ・モジュール上で、スライスのすべてのメモリ・コンポーネントを通り、モジュールから出てメイン・ボードにルーティングされて、別のメモリ・モジュールを「チェイン」するか、終端コンポーネントに入る。上でデータ・バスに関して説明した同一の3つの構成代替案は、複数モジュール、複数ランク・メモリ・システム内の共通制御/アドレス・バスにも適用可能である。
【0203】
図30は、本発明の実施形態による、メモリ・モジュールごとの専用の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3002、メモリ・モジュール3003、メモリ・モジュール3030、アドレス/制御クロック3004、アドレス/制御クロック3053、終端コンポーネント3052、および終端コンポーネント3056が含まれる。
【0204】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3003の第1ランクに、メモリ・コンポーネント3016、3017、および3018が含まれる。メモリ・モジュール3003の第2ランクに、メモリ・コンポーネント3044、3045、および3046が含まれる。メモリ・モジュール3030の第1ランクに、メモリ・コンポーネント3031、3032、および3033が含まれる。メモリ・モジュール3030の第2ランクに、メモリ・コンポーネント3034、3035、および3036が含まれる。
【0205】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3013、スライス3014、およびスライス3015が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、各メモリ・モジュールに、それ自体のアドレス・バス3007およびアドレス/制御クロック導体3010が設けられる。アドレス・バス3007は、メモリ・コントローラ・コンポーネント3002と、メモリ・コンポーネント3016、3017、3018、3044、3045、および3046に結合される。終端コンポーネント3052が、メモリ・コントローラ・コンポーネント3002の近くでアドレス・バス3007に結合され、終端コンポーネント3052を、たとえばメモリ・コントローラ・コンポーネント3002に組み込むことができる。終端コンポーネント3019が、アドレス・バス3007の反対の末端の近くに結合され、好ましくはメモリ・モジュール3003内に設けられる。アドレス/制御クロック3004が、アドレス/制御クロック導体3009に結合され、アドレス/制御クロック導体3009は、メモリ・コントローラ・コンポーネント3002と、メモリ・コンポーネント3016、3017、3018、3044、3045、および3046に結合される。終端コンポーネント3022が、アドレス/制御クロック導体3009の末端の近くに、好ましくはメモリ・モジュール3003内で結合される。
【0206】
メモリ・モジュール3030に、アドレス・バス3054とアドレス/制御クロック導体3055が設けられる。アドレス・バス3054は、メモリ・コントローラ・コンポーネント3002と、メモリ・コンポーネント3031、3032、3033、3034、3035、および3036に結合される。終端コンポーネント3056が、メモリ・コントローラ・コンポーネント3002の近くでアドレス・バス3054に結合され、終端コンポーネント3056を、たとえばメモリ・コントローラ・コンポーネント3002に組み込むことができる。終端コンポーネント3057が、アドレス・バス3054の反対の末端の近くに結合され、好ましくはメモリ・モジュール3030内に設けられる。アドレス/制御クロック3053が、アドレス/制御クロック導体3055に結合され、アドレス/制御クロック導体3055は、メモリ・コントローラ・コンポーネント3002と、メモリ・コンポーネント3031、3032、3033、3034、3035、および3036に結合される。終端コンポーネント3058が、アドレス/制御クロック導体3055の末端の近くに、好ましくはメモリ・モジュール3030内で結合される。
【0207】
各制御/アドレス・ワイヤは、メモリ・モジュール上で、すべてのメモリ・コンポーネントを通り、終端コンポーネントへルーティングされる。ワイヤ・ルーティングは、モジュール上のランクの方向で図示されているが、スライスの方向にルーティングすることもできる。
【0208】
図31は、本発明の実施形態による、メモリ・モジュールの間で共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3102、メモリ・モジュール3103、メモリ・モジュール3130、アドレス/制御クロック3104、スプリッティング・コンポーネント3159、スプリッティング・コンポーネント3160、スプリッティング・コンポーネント3161、スプリッティング・コンポーネント3162、終端コンポーネント3163、および終端コンポーネント3164が含まれる。
【0209】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3103の第1ランクに、メモリ・コンポーネント3116、3117、および3118が含まれる。メモリ・モジュール3103の第2ランクに、メモリ・コンポーネント3144、3145、および3146が含まれる。メモリ・モジュール3130の第1ランクに、メモリ・コンポーネント3131、3132、および3133が含まれる。メモリ・モジュール3130の第2ランクに、メモリ・コンポーネント3134、3135、および3136が含まれる。
【0210】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3113、スライス3114、およびスライス3115が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、アドレス・バス3107およびアドレス/制御クロック導体3109が、複数のメモリ・モジュールの間で各メモリ・コンポーネントに結合される。アドレス・バス3107が、メモリ・コントローラ・コンポーネント3102に結合され、スプリッタ3159を介してメモリ・コンポーネント3116、3117、3118、3144、3145、および3146に結合され、スプリッタ3161を介してメモリ・コンポーネント3131、3132、3133、3134、3135、および3136に結合される。終端コンポーネント3152が、メモリ・コントローラ・コンポーネント3102の近くでアドレス・バス3107に結合され、終端コンポーネント3152を、たとえばメモリ・コントローラ・コンポーネント3102に組み込むことができる。終端コンポーネント3163が、アドレス・バス3107の反対の末端の近くで、スプリッタ3161の近くに結合される。終端コンポーネント3119が、アドレス・バス3107に、好ましくはメモリ・モジュール3103内で結合される。終端コンポーネント3157が、アドレス・バス3107に、好ましくはメモリ・モジュール3130内で結合される。
【0211】
アドレス/制御クロック3104が、アドレス/制御クロック導体3109に結合され、アドレス/制御クロック導体3109は、メモリ・コントローラ・コンポーネント3102に結合され、スプリッタ3160を介してメモリ・コンポーネント3116、3117、3118、3144、3145、および3146に結合され、スプリッタ3162を介してメモリ・コンポーネント3131、3132、3133、3134、3135、および3136に結合される。終端コンポーネント3164が、アドレス/制御クロック導体3109の末端の近くで、スプリッタ3162の近くに結合される。終端コンポーネント3122が、アドレス/制御クロック導体3109に、好ましくはメモリ・モジュール3103内で結合される。終端コンポーネント3158が、アドレス/制御クロック導体3109に、好ましくはメモリ・モジュール3130内で結合される。
【0212】
この例では、各制御/アドレス・ワイヤが、ある形のスプリッティング・コンポーネントSを使用してタッピングされる。このスプリッタは、受動インピーダンス・マッチャ(デルタ構成またはy構成の3つの抵抗)もしくはなんらかの形の能動バッファまたはスイッチ要素とすることができる。どちらの場合でも、各ワイヤの電気インピーダンスが、その長さに沿って維持され(製造限度内で)、その結果、信号の完全性が高く保たれる。前の構成と同様に、スプリットされた制御/アドレス・バスのそれぞれが、メモリ・モジュール上で、すべてのメモリ・コンポーネントを通り、終端コンポーネントへルーティングされる。
【0213】
図32は、本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3202、メモリ・モジュール3203、メモリ・モジュール3230、アドレス/制御クロック3204、終端コンポーネント3219、および終端コンポーネント3222が含まれる。
【0214】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3203の第1ランクに、メモリ・コンポーネント3216、3217、および3218が含まれる。メモリ・モジュール3203の第2ランクに、メモリ・コンポーネント3244、3245、および3246が含まれる。メモリ・モジュール3230の第1ランクに、メモリ・コンポーネント3231、3232、および3233が含まれる。メモリ・モジュール3230の第2ランクに、メモリ・コンポーネント3234、3235、および3236が含まれる。
【0215】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3213、スライス3214、およびスライス3215が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、メモリ・モジュールのメモリ・コンポーネントが、共通のデイジー・チェイン接続されたアドレス・バス3207および共通のデイジー・チェイン接続されたアドレス/制御クロック導体3209を共有する。アドレス・バス3207は、メモリ・コントローラ・コンポーネント3202と、メモリ・コンポーネント3216、3217、3218、3244、3245、3246、3231、3232、3233、3234、3235、および3236に結合される。終端コンポーネント3252が、メモリ・コントローラ・コンポーネント3202の近くでアドレス・バス3207に結合され、終端コンポーネント3252を、たとえばメモリ・コントローラ・コンポーネント3202に組み込むことができる。終端コンポーネント3219が、アドレス・バス3207の反対の末端の近くに結合される。
【0216】
アドレス/制御クロック3204が、アドレス/制御クロック導体3209に結合され、アドレス/制御クロック導体3209は、メモリ・コントローラ・コンポーネント3202と、メモリ・コンポーネント3216、3217、3218、3244、3245、3246、3231、3232、3233、3234、3235、および3236に結合される。終端コンポーネント3222が、アドレス/制御クロック導体3209の末端の近くに結合される。
【0217】
図31のメモリ・システムと異なって、ある種のスプリッティング・コンポーネントを使用するのではなく、各制御/アドレス・ワイヤが、メモリ・モジュール上で、すべてのメモリ・コンポーネントを通って、モジュールから出てメイン・ボードにルーティングされて、別のメモリ・モジュールをチェインするか、終端コンポーネントに入る。
【0218】
同一の3つの構成の代替案が、複数モジュール複数ランク・メモリ・システム内のスライスされた制御/アドレス・バスについて可能である。これは、ここまでで説明したシステムからの逸脱を表す。すなわち、前のシステムのすべてが、制御/アドレス・バスを有したが、この制御/アドレス・バスは、メモリ・スライスにまたがって共通であった。そのかわりに、スライスごとにアドレス/制御バスを設けることも可能である。各バスは、スライスごとのデータ・バスに沿ってルーティングされることが好ましく、書込動作だけを実行するデータ・バスと同一のトポロジ特性を有することが好ましい。
【0219】
図33は、本発明の実施形態による、メモリ・モジュールごとの専用のスライスされた制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3302、メモリ・モジュール3303、メモリ・モジュール3330、アドレス/制御クロック3304、アドレス/制御クロック3353、終端コンポーネント3352、および終端コンポーネント3356が含まれる。
【0220】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3303の第1ランクに、メモリ・コンポーネント3316、3317、および3318が含まれる。メモリ・モジュール3303の第2ランクに、メモリ・コンポーネント3344、3345、および3346が含まれる。メモリ・モジュール3330の第1ランクに、メモリ・コンポーネント3331、3332、および3333が含まれる。メモリ・モジュール3330の第2ランクに、メモリ・コンポーネント3334、3335、および3336が含まれる。
【0221】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3313、スライス3314、およびスライス3315が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、各メモリ・モジュール内の各スライスに、それ自体のアドレス・バス3307とアドレス/制御クロック導体3310が設けられる。アドレス・バス3307は、メモリ・コントローラ・コンポーネント3302と、メモリ・コンポーネント3316および3344に結合される。終端コンポーネント3352が、メモリ・コントローラ・コンポーネント3302の近くでアドレス・バス3307に結合され、終端コンポーネント3352を、たとえばメモリ・コントローラ・コンポーネント3302に組み込むことができる。終端コンポーネント3319が、アドレス・バス3307の反対の末端の近くに結合され、好ましくはメモリ・モジュール3303内に設けられる。アドレス/制御クロック3304が、アドレス/制御クロック導体3309に結合され、アドレス/制御クロック導体3309は、メモリ・コントローラ・コンポーネント3302と、メモリ・コンポーネント3316および3344に結合される。終端コンポーネント3322が、アドレス/制御クロック導体3309の末端の近くに、好ましくはメモリ・モジュール3303内で結合される。
【0222】
メモリ・モジュール3330に、アドレス・バス3354およびアドレス/制御クロック導体3355が設けられる。アドレス・バス3354は、メモリ・コントローラ・コンポーネント3302と、メモリ・コンポーネント3331および3334に結合される。終端コンポーネント3356が、メモリ・コントローラ・コンポーネント3302の近くでアドレス・バス3354に結合され、終端コンポーネント3356を、たとえばメモリ・コントローラ・コンポーネント3302に組み込むことができる。終端コンポーネント3357が、アドレス・バス3354の反対の末端の近くに結合され、好ましくはメモリ・モジュール3330内に設けられる。アドレス/制御クロック3353が、アドレス/制御クロック導体3355に結合され、アドレス/制御クロック導体3355は、メモリ・コントローラ・コンポーネント3302と、メモリ・コンポーネント3331および3334に結合される。終端コンポーネント3358が、アドレス/制御クロック導体3355の末端の近くに、好ましくはメモリ・モジュール3330内で結合される。各制御/アドレス・ワイヤは、メモリ・モジュール上で、スライス内のすべてのメモリ・コンポーネントを通り、終端コンポーネントへルーティングされる。
【0223】
図34は、本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3402、メモリ・モジュール3403、メモリ・モジュール3430、アドレス/制御クロック3404、スプリッティング・コンポーネント3459、スプリッティング・コンポーネント3460、スプリッティング・コンポーネント3461、スプリッティング・コンポーネント3462、終端コンポーネント3463、および終端コンポーネント3464が含まれる。
【0224】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3403の第1ランクに、メモリ・コンポーネント3416、3417、および3418が含まれる。メモリ・モジュール3403の第2ランクに、メモリ・コンポーネント3444、3445、および3446が含まれる。メモリ・モジュール3430の第1ランクに、メモリ・コンポーネント3431、3432、および3433が含まれる。メモリ・モジュール3430の第2ランクに、メモリ・コンポーネント3434、3435、および3436が含まれる。
【0225】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3413、スライス3414、およびスライス3415が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、アドレス・バス3407およびアドレス/制御クロック導体3409が、複数のメモリ・モジュールの間の1スライスの各メモリ・コンポーネントに結合される。アドレス・バス3407は、メモリ・コントローラ・コンポーネント3402に結合され、スプリッタ3459を介してメモリ・コンポーネント3416および3444に結合され、スプリッタ3461を介してメモリ・コンポーネント3431および3434に結合される。終端コンポーネント3452が、メモリ・コントローラ・コンポーネント3402の近くでアドレス・バス3407に結合され、終端コンポーネント3452を、たとえばメモリ・コントローラ・コンポーネント3402に組み込むことができる。終端コンポーネント3463が、アドレス・バス3407の反対の末端の近くで、スプリッタ3461の近くに結合される。終端コンポーネント3419が、アドレス・バス3407に、好ましくはメモリ・モジュール3403内で結合される。終端コンポーネント3457が、アドレス・バス3407に、好ましくはメモリ・モジュール3430内で結合される。
【0226】
アドレス/制御クロック3404が、アドレス/制御クロック導体3409に結合され、アドレス/制御クロック導体3409は、メモリ・コントローラ・コンポーネント3402に結合され、スプリッタ3460を介してメモリ・コンポーネント3416および3444に結合され、スプリッタ3462を介してメモリ・コンポーネント3431および3434に結合される。終端コンポーネント3464が、アドレス/制御クロック導体3409の末端の近くで、スプリッタ3462の近くに結合される。終端コンポーネント3422が、アドレス/制御クロック導体3409に、好ましくはメモリ・モジュール3403内で結合される。終端コンポーネント3458が、アドレス/制御クロック導体3409に、好ましくはメモリ・モジュール3430内で結合される。
【0227】
この例では、各制御/アドレス・ワイヤが、ある形のスプリッティング・コンポーネントSを使用してタッピングされる。このスプリッタは、受動インピーダンス・マッチャ(デルタ構成またはy構成の3つの抵抗)もしくはなんらかの形の能動バッファまたはスイッチ要素とすることができる。どちらの場合でも、各ワイヤの電気インピーダンスが、その長さに沿って維持され(製造限度内で)、その結果、信号の完全性が高く保たれる。前の構成と同様に、スプリットされた制御/アドレス・バスのそれぞれが、メモリ・モジュール上で、すべてのメモリ・コンポーネントを通り、終端コンポーネントへルーティングされる。
【0228】
図35は、本発明の実施形態による、すべてのメモリ・モジュールによって共有される単一の制御/アドレス・バスを有する複数のランクのメモリ・コンポーネントと複数のメモリ・モジュールを含むメモリ・システムを示すブロック図である。このメモリ・システムには、メモリ・コントローラ・コンポーネント3502、メモリ・モジュール3503、メモリ・モジュール3530、アドレス/制御クロック3504、終端コンポーネント3519、および終端コンポーネント3522が含まれる。
【0229】
各メモリ・モジュール内で、メモリ・コンポーネントがランクに編成される。メモリ・モジュール3503の第1ランクに、メモリ・コンポーネント3516、3517、および3518が含まれる。メモリ・モジュール3503の第2ランクに、メモリ・コンポーネント3544、3545、および3546が含まれる。メモリ・モジュール3530の第1ランクに、メモリ・コンポーネント3531、3532、および3533が含まれる。メモリ・モジュール3530の第2ランクに、メモリ・コンポーネント3534、3535、および3536が含まれる。
【0230】
このメモリ・システムは、メモリ・コントローラ・コンポーネントおよびメモリ・モジュールにまたがるスライスに編成される。このスライスの例に、スライス3513、スライス3514、およびスライス3515が含まれる。各スライスに、各ランクの1つのメモリ・コンポーネントが含まれる。この実施形態では、メモリ・モジュールにまたがる各スライスが、共通のデイジー・チェイン接続されたアドレス・バス3507および共通のデイジー・チェイン接続されたアドレス/制御クロック導体3509を共有する。アドレス・バス3507は、メモリ・コントローラ・コンポーネント3502と、メモリ・コンポーネント3516、3544、3531、および3534に結合される。終端コンポーネント3552が、メモリ・コントローラ・コンポーネント3502の近くでアドレス・バス3507に結合され、終端コンポーネント3552を、たとえばメモリ・コントローラ・コンポーネント3502に組み込むことができる。終端コンポーネント3519が、アドレス・バス3507の反対の末端の近くに結合される。
【0231】
アドレス/制御クロック3504が、アドレス/制御クロック導体3509に結合され、アドレス/制御クロック導体3509は、メモリ・コントローラ・コンポーネント3502と、メモリ・コンポーネント3516、3544、3531、および3534に結合される。終端コンポーネント3522が、アドレス/制御クロック導体3509の末端の近くに結合される。
【0232】
図34のメモリ・システムと異なって、ある種のスプリッティング・コンポーネントを使用するのではなく、各制御/アドレス・ワイヤが、メモリ・モジュール上で、すべてのメモリ・コンポーネントを通って、モジュールから出てメイン・ボードにルーティングされて、別のメモリ・モジュールをチェインするか、終端コンポーネントに入る。
【0233】
上で説明した図面を参照するとわかるように、本発明の実施形態を用いると、メモリ・システム、メモリ・コンポーネント、またはメモリ・コントローラ・コンポーネントもしくはこれらの組合せの実施が可能になる。これらの実施形態で、スキューを、ビット時間に従ってまたはタイミング信号に従ってもしくはその両方で測定することができる。いくつかの実施形態では、メモリ・コントローラ・コンポーネント内のロジックが、スキューに対処し、他の実施形態では、メモリ・コンポーネント内のロジックが、スキューに対処する。スキューは、ビット時間またはサイクル・タイムより大きいものとすることができる。
【0234】
本発明の一実施形態は、第1信号を搬送する第1ワイヤを有するメモリ・モジュールを提供する。第1ワイヤは、第1モジュール接点ピンに接続される。第1ワイヤは、第1メモリ・コンポーネントの第1ピンに接続される。第1ワイヤは、第1終端デバイスに接続される。第1ワイヤは、メモリ・モジュール上のその全長に沿ってほぼ一定の第1インピーダンス値を維持する。終端コンポーネントは、この第1インピーダンス値にほぼ一致する。任意選択として、第1ワイヤが接続されない第2メモリ・コンポーネントがある。任意選択として、第1信号が、主に、通常動作中の制御情報、アドレス情報、およびデータ情報から選択される情報を搬送する。任意選択として、終端デバイスが、メモリ・モジュール上の、第1メモリ・コンポーネントと別のコンポーネントである。任意選択として、終端デバイスが、メモリ・モジュール上で第1メモリ・コンポーネントに一体化される。そのようなメモリ・モジュールを、メモリ・コントローラ・コンポーネントに接続することができ、メモリ・システム内で使用することができる。
【0235】
本発明の一実施形態は、第1信号を搬送する第1ワイヤおよび第2信号を搬送する第2ワイヤを有するメモリ・モジュールを提供する。第1ワイヤは、第1モジュール接点ピンに接続される。第2ワイヤは、第2モジュール接点ピンに接続される。第1ワイヤは、第1メモリ・コンポーネントの第1ピンに接続される。第2ワイヤは、第1メモリ・コンポーネントの第2ピンに接続される。第1ワイヤは、第2メモリ・コンポーネントの第3ピンに接続される。第2ワイヤは、第2メモリ・コンポーネントのピンに接続されない。第1ワイヤは、第1終端デバイスに接続される。第2ワイヤは、第2終端デバイスに接続される。第1ワイヤは、メモリ・モジュール上でその全長に沿ってほぼ一定の第1インピーダンス値を維持する。第2ワイヤは、メモリ・モジュール上でその全長に沿ってほぼ一定の第2インピーダンス値を維持する。第1終端コンポーネントは、第1インピーダンス値にほぼ一致する。第2終端コンポーネントは、第2インピーダンス値にほぼ一致する。任意選択として、第1または第2の終端デバイスは、メモリ・モジュール上で第1メモリ・コンポーネントと別のコンポーネントである。任意選択として、第1または第2の終端デバイスが、メモリ・モジュール上で第1メモリ・コンポーネントに一体化される。任意選択として、第1信号が、アドレス情報を搬送し、第2信号が、データ情報を搬送する。そのようなメモリ・モジュールを、メモリ・コントローラ・コンポーネントに接続することができ、メモリ・システム内で使用することができる。
【0236】
本発明の一実施形態は、メモリ・システムでメモリ動作を行う方法を提供する。メモリ・システムに、メモリ・コントローラ・コンポーネントとメモリ・コンポーネントのランクとが含まれる。メモリ・コンポーネントに、スライスが含まれる。スライスに、第1スライスと第2スライスが含まれる。メモリ・コントローラ・コンポーネントは、導体に結合され、この導体には、メモリ・コントローラ・コンポーネントを第1スライスおよび第2スライスに接続する共通アドレス・バスと、メモリ・コントローラ・コンポーネントを第1スライスに接続する第1データ・バスと、メモリ・コントローラ・コンポーネントを第2スライスに接続する第2データ・バスとが含まれる。第1データ・バスは、第2データ・バスと別である。この方法には、導体の1つに信号を供給するステップが含まれる。信号は、アドレス信号、書込データ信号、または読取データ信号とすることができる。導体の1つの伝搬遅延は、信号によって表される情報の要素がその導体に印加される時間より長い。任意選択として、この方法に、第1データ信号を第1データ・バスに供給し、第2データ信号を第2データ・バスに供給するステップを含めることができる。第1データ信号は、特に第1スライスに関係し、第2データ信号は、特に第2スライスに関係する。一例では、第1データ信号が、第1スライスとの間でデータを搬送し、第2データ信号が、第2スライスとの間でデータを搬送する。
【0237】
本発明の一実施形態は、第1メモリ・コンポーネントと第2メモリ・コンポーネントの間でメモリ動作を調整する方法を提供する。この方法には、第1タイム・インターバルに、共通アドレス・バスに第1メモリ・コンポーネントに関する第1アドレス信号を印加するステップが含まれる。共通アドレス・バスは、第1メモリ・コンポーネントおよび第2メモリ・コンポーネントに結合される。この方法には、第2タイム・インターバールに、共通アドレス・バスに第2メモリ・コンポーネントに関する第2アドレス信号を印加するステップも含まれる。第1タイム・インターバルは、共通アドレス・バスの伝搬遅延より短く、第2タイム・インターバルは、共通アドレス・バスの共通アドレス・バス伝搬遅延より短い。この方法には、第1メモリ・コンポーネント・タイミング信号を使用して、第1メモリ・コンポーネントの第1メモリ動作を制御するステップも含まれる。第1メモリ・コンポーネント・タイミング信号は、共通アドレス・バス伝搬遅延と、第1メモリ・コンポーネントに結合された第1データ・バスの第1データ・バス伝搬遅延との間の第1関係に依存する。この方法には、第2メモリ・コンポーネント・タイミング信号を使用して、第2メモリ・コンポーネントの第2メモリ動作を制御するステップも含まれる。第2メモリ・コンポーネント・タイミング信号は、共通アドレス・バス伝搬遅延と、第2メモリ・コンポーネントに結合された第2データ・バスの第2データ・バス伝搬遅延との間の第2関係に依存する。
【0238】
本発明の一実施形態(説明Bと称する)は、メモリ・コントローラ・コンポーネントと、単一メモリ・モジュール上のメモリ・コンポーネントの単一ランクと、ランクの連続するすべてのメモリ・コンポーネントにコントローラを接続する共通アドレス・バスと、ランクの各メモリ・コンポーネント(スライス)にコントローラを接続する別のデータ・バスと、コントローラから連続する各メモリ・コンポーネントを通って制御信号およびアドレス信号を搬送するアドレス・バスと、ランクの各メモリ・コンポーネント(スライス)からコントローラに読取データ信号を搬送するデータ・バスと、コントローラからランクの各メモリ・コンポーネント(スライス)に書込データ信号を搬送するデータ・バスと、コントローラからランクの各メモリ・コンポーネント(スライス)に書込マスク信号を搬送するデータ・バスと(各スライスの読取データ信号および書込データ信号が同一のデータ・バス・ワイヤを共有し(両方向)、バスが、ワイヤ上で伝送される連続する情報が干渉しないように設計される)、制御信号およびアドレス信号を伴い、情報を送出するためにコントローラによって使用され、情報を受け取るためにメモリ・コンポーネントによって使用される周期的なクロック信号と、書込データ信号および任意選択の書込マスク信号の各スライスを伴い、情報を送出するためにコントローラによって使用され、情報を受け取るためにメモリ・コンポーネントによって使用される周期的なクロック信号と、読取データ信号の各スライスを伴い、情報を送出するためにメモリ・コンポーネントによって使用され、情報を受け取るためにコントローラによって使用される周期的なクロック信号とを有するメモリ・システムが提供される。
【0239】
本発明の一実施形態(説明Aと称する)は、上の説明(説明B)の特徴を有すると共に、制御信号およびアドレス信号に関連し、これらの信号の伝搬遅延を複製し、情報を送出するためにコントローラによって使用され、情報を受け取るためにメモリ・コンポーネントによって使用されるタイミング信号と、書込データ信号および任意選択の書込マスク信号の各スライスに関連し、これらの信号の伝搬遅延を複製し、情報を送出するためにコントローラによって使用され、情報を受け取るためにメモリ・コンポーネントによって使用されるタイミング信号と、読取データ信号の各スライスに関連し、これらの信号の伝搬遅延を複製し、情報を送出するためにメモリ・コンポーネントによって使用され、情報を受け取るためにコントローラによって使用されるタイミング信号とを有し、コントローラから最後のメモリ・コンポーネントへ制御信号およびアドレス信号を搬送するワイヤの伝搬遅延が、1つの情報がコントローラによってそのワイヤ上で送出される時間より長い、メモリ・システムを提供する。
【0240】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、コントローラからメモリ・コンポーネントへ書込データ信号および任意選択の書込マスク信号を搬送するワイヤの伝搬遅延が、1つの情報がコントローラによってそのワイヤ上で送出される時間より長い、メモリ・システムを提供する。
【0241】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、メモリ・コンポーネントからコントローラへ読取データ信号を搬送するワイヤの伝搬遅延が、1つの情報がメモリ・コンポーネントによってそのワイヤ上で送出される時間より長い、メモリ・システムを提供する。
【0242】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、コントローラの書込データ・トランスミッタ・スライスのタイミング信号の整列が、ランク内のスライスの数に無関係にほぼ同一に調整され、コントローラの読取データ・レシーバ・スライスのタイミング信号の整列が、ランク内のスライスの数に無関係にほぼ同一に調整され、コントローラの読取データ・レシーバ・スライスのタイミング信号の整列が、書込データ・トランスミッタ・スライスのタイミング信号とほぼ同一に調整される、メモリ・システムを提供する。
【0243】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、コントローラの書込データ・トランスミッタ・スライスのタイミング信号の整列が、ほとんど互いに異なるように調整される、メモリ・システムを提供する。
【0244】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、コントローラの読取データ・レシーバ・スライスのタイミング信号の整列が、ほとんど互いに異なるように調整される、メモリ・システムを提供する。
【0245】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、各メモリ・コンポーネントの読取データ・トランスミッタのタイミング信号の整列が、同一のメモリ・コンポーネント内の書込データ・レシーバのタイミング信号とほぼ同一に調整され、タイミング信号の整列が、ランク内のメモリ・コンポーネント・スライスごとに異なる、メモリ・システムを提供する。
【0246】
本発明の一実施形態は、上の説明(説明A)の特徴を有し、各メモリ・コンポーネントの書込データ・トランスミッタのタイミング信号の整列が、同一のメモリ・コンポーネント内の読取データ・レシーバのタイミング信号と異なるように調整される、メモリ・システムを提供する。
【0247】
本明細書に記載の実施形態に対する多数の変形形態が、本明細書に記載の請求項の範囲から逸脱せずに可能である。これらの変形形態の例を、下で説明する。これらの例は、制御およびアドレス信号、読取データ信号、書込データ信号、および任意選択として書込マスク信号に適用することができる。たとえば、信号に関連するタイミング信号を、外部クロック・コンポーネントまたはコントローラ・コンポーネントによって生成することができる。そのタイミング信号は、そのような信号を搬送するワイヤと本質的に同一のトポロジを有するワイヤを進むことができる。そのタイミング信号は、そのような信号を搬送するワイヤに含まれる情報から、またはそのような信号のいずれかに関連するタイミング信号から、生成することができる。そのタイミング信号を、情報のそれぞれがそのような信号を搬送するワイヤ上に存在するインターバル中に絶対必要な回数だけアサートすることができる。もう1つの変形形態として、絶対必要な数の情報を、そのような信号に関連するタイミング信号がアサートされるたびに、そのような信号を搬送するワイヤ上でアサートすることができる。もう1つの変形形態として、絶対必要な数の情報を、そのような信号に関連するタイミング信号が絶対必要な回数だけアサートされるたびに、そのような信号を搬送するワイヤ上でアサートすることができる。そのような信号に関連するタイミング信号がアサートされる時点は、情報のそれぞれがそのような信号を搬送するワイヤに存在するタイム・インターバルに対するオフセットを有することができる。
【0248】
他の変形形態の例として、信号の一部の終端コンポーネントを、メイン・プリント配線基板、メモリ・モジュール基板、メモリ・コンポーネント、またはコントローラ・コンポーネントのいずれかの上に置くことができる。また、複数のランクのメモリ・コンポーネントを、メモリ・モジュール上に設け、一部の制御およびアドレス信号をすべてのメモリ・コンポーネントに接続し、一部の制御およびアドレス信号をメモリ・コンポーネントの一部に接続することができる。メモリ・コンポーネントの複数のモジュールが、メモリ・システム内に存在し、一部の制御およびアドレス信号をすべてのメモリ・コンポーネントに接続し、一部の制御およびアドレス信号をメモリ・コンポーネントの一部に接続することも可能である。
【0249】
したがって、さまざまな位置に配置されたメモリ・コンポーネントの間でメモリ動作を調整する方法および装置を説明した。さまざまな態様における本発明の他の変形形態および修正形態の実施が、当業者に明白であり、本発明が、説明した特定の実施形態に制限されないことを理解されたい。したがって、本明細書に開示され請求される基本の基礎となる原理の趣旨および範囲に含まれるすべての修正形態、変形形態、および同等物が、本発明に含まれることが企図されている。
【符号の説明】
【0250】
101 バッファ
102 メモリ・コントローラ・コンポーネント
103 メモリ・モジュール
104 アドレス・クロック
105 書込みクロック
106 読取クロック導体
107 アドレス・バス
108 データ・バス
109 アドレス・クロック導体
110 書込クロック導体
111 読取クロック導体
112 ランク
113、114、115 スライス
116、117、118 メモリ・コンポーネント
119、120、121、122、123、124、125 終端コンポーネント

【特許請求の範囲】
【請求項1】
メモリ・コントローラ・コンポーネントと、
スライスを含むメモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクに結合し、該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合する導体であって、導体のうちで、アドレス信号、書込データ信号、および読取データ信号からなる群から選択された信号を搬送する1つの伝搬遅延が、該信号によって表される情報の要素が該導体に印加される時間の量より長く、該導体が、
該メモリ・コントローラ・コンポーネントを該ランクの該スライスのそれぞれに連続して接続する共通アドレス・バスと、
該メモリ・コントローラ・コンポーネントを該ランクの該スライスのそれぞれに接続する別のデータ・バスとを含む導体と
を含むメモリ・システム。
【請求項2】
該共通アドレス・バスが、複数の該スライスに結合される請求項1に記載のメモリ・システム。
【請求項3】
該別のデータ・バスが、
該メモリ・コントローラ・コンポーネントを該スライスの第1スライスに接続する第1データ・バスと、
該メモリ・コントローラ・コンポーネントを該スライスの第2スライスに接続する第2データ・バスであって、該第1データ・バスおよび該第2データ・バスが互いに独立に異なる信号を搬送する第2データ・バスと
を含む請求項2に記載のメモリ・システム。
【請求項4】
メモリ・コントローラ・コンポーネントと、
スライスを含むメモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合する導体であって、該導体が、該メモリ・コントローラ・コンポーネントおよび第1スライスに結合された第1データ・バスと、該メモリ・コントローラ・コンポーネントおよび第2スライスに結合された第2データ・バスとを含み、該第1データ・バスが該第2データ・バスから分離され、該第1スライスに関係する情報の第1要素が第1時刻から第2時刻までの第1要素タイム・インターバルの間に該第1スライスに結合された該導体の第1導体上で駆動され、該第2スライスに関係する情報の第2要素が第3時刻から第4時刻までの第2要素タイム・インターバルの間に該第2スライスに結合された該導体の第2導体上で駆動され、該メモリ・コントローラ・コンポーネントが該第1要素タイム・インターバルの第1持続時間より長い該第1時刻と該第3時刻との間の差に対処するように適合されたロジック回路を含む導体と
を含むメモリ・システム。
【請求項5】
メモリ・コントローラ・コンポーネントと、
スライスを含むメモリ・コンポーネントのランクであって、該スライスが、第1スライスおよび第2スライスを含む、メモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合する導体であって、該導体が、該メモリ・コントローラ・コンポーネントおよび該第1スライスに結合された第1データ・バスと、該メモリ・コントローラ・コンポーネントおよび該第2スライスに結合された第2データ・バスとを含み、該第1データ・バスが、該第2データ・バスから分離され、該第1スライスに関係する情報の第1要素が、第1時刻から第2時刻までの第1要素タイム・インターバルの間に該第1スライスに結合された該導体の第1導体上で駆動され、該第2スライスに関係する情報の第2要素が、第3時刻から第4時刻までの第2要素タイム・インターバルの間に該第2スライスに結合された該導体の第2導体上で駆動される導体と
該メモリ・コントローラ・コンポーネントのクロック回路のサイクル・タイムより長い、該第1時刻と該第3時刻との間の差に対処するように適合されたロジック回路と
を含むメモリ・システム。
【請求項6】
該ロジック回路が、該メモリ・コントローラ・コンポーネントに組み込まれる請求項5に記載のメモリ・システム。
【請求項7】
該ロジック回路が、該メモリ・コンポーネントの少なくとも1つに組み込まれる請求項5に記載のメモリ・システム。
【請求項8】
メモリ・コントローラ・コンポーネントと、
スライスを含むメモリ・コンポーネントのランクであって、該スライスが、第1スライスおよび第2スライスを含む、メモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに連続して接続する共通アドレス・バスと、
該メモリ・コントローラ・コンポーネントを該第1スライスに接続する第1データ・バスと、
該メモリ・コントローラ・コンポーネントを該第2スライスに接続する第2データ・バスであって、該第1データ・バスが該第2データ・バスから分離され、情報の第1要素が第1時刻から第2時刻までの第1要素タイム・インターバルの間に該第1データ・バス上で駆動され、情報の第2要素が第3時刻から第4時刻までの第2要素タイム・インターバルの間に該第2データ・バス上で駆動され、情報の第3要素が第5時刻から第6時刻までの第3要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第5時刻と該第1時刻との間に第1アクセス・タイム・インターバルがあり、情報の第4要素が第7時刻から第8時刻までの第4要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第7時刻と該第3時刻との間に第2アクセス・タイム・インターバルがあり、メモリ・コンポーネントの該ランクの該メモリ・コンポーネントの少なくとも1つが該第1要素タイム・インターバルの第1持続時間より長い該第1アクセス・タイム・インターバルと該第2アクセス・タイム・インターバールとの間の差に対処するように適合されたロジック回路を含む第2データ・バスと
を含むメモリ・システム。
【請求項9】
メモリ・コントローラ・コンポーネントと、
第1スライスおよび第2スライスを含むスライスを含むメモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合する導体であって、該導体が、該メモリ・コントローラ・コンポーネントおよび該第1スライスに結合された第1データ・バスと、該メモリ・コントローラ・コンポーネントおよび該第2スライスに結合された第2データ・バスとを含み、該第1データ・バスが該第2データ・バスから分離され、該第1スライスに関係する情報の第1要素が第1要素タイム・インターバルの間に該第1スライスに結合された該導体の第1導体上で駆動され、該第1要素タイム・インターバルが第1タイミング信号イベントに関連し、該第2スライスに関係する情報の第2要素が第2要素タイム・インターバルの間に該第2スライスに結合された該導体の第2導体上で駆動され、該第2要素タイム・インターバルが第2タイミング信号イベントに関連する導体と、
該第1要素タイム・インターバルおよび該メモリ・コントローラ・コンポーネントのクロック回路のサイクル・タイムからなる群から選択された持続時間より長い、該第1タイミング信号イベントと該第2タイミング信号イベントとの間の差に対処するように適合されたロジック回路と
を含むメモリ・システム。
【請求項10】
該ロジック回路が、該メモリ・コントローラ・コンポーネントに組み込まれる請求項9に記載のメモリ・システム。
【請求項11】
該ロジック回路が、該メモリ・コンポーネントの少なくとも1つに組み込まれる請求項9に記載のメモリ・システム。
【請求項12】
メモリ・コントローラ・コンポーネントと、
第1スライスおよび第2スライスを含むスライスを含むメモリ・コンポーネントのランクと、
該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに連続して接続する共通アドレス・バスと、
該メモリ・コントローラ・コンポーネントを該第1スライスに接続する第1データ・バスと、
該メモリ・コントローラ・コンポーネントを該第2スライスに接続する第2データ・バスであって、情報の第1要素が第1要素タイム・インターバルの間に該第1データ・バス上で駆動され、該第1要素タイム・インターバルが第1タイミング信号イベントに関連し、情報の第2要素が第2要素タイム・インターバルの間に該第2データ・バス上で駆動され、該第2要素タイム・インターバルが第2タイミング信号イベントに関連し、情報の第3要素が第3要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第3要素タイム・インターバルが第3タイミング信号イベントに関連し、該第3タイミング信号イベントと該第1タイミング信号イベントとの間に第1アクセス・タイム・インターバルがあり、情報の第4要素が第4要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第4要素タイム・インターバルが第4タイミング信号イベントに関連し、該第4タイミング信号イベントと該第2タイミング信号イベントとの間に第2アクセス・タイム・インターバルがあり、メモリ・コンポーネントの該ランクの該メモリ・コンポーネントの少なくとも1つが、該第1要素タイム・インターバルの第1持続時間より長い該第1アクセス・タイム・インターバルと該第2アクセス・タイム・インターバルとの間の差に対処するように適合されたロジック回路を含む、第2データ・バスと
を含むメモリ・システム。
【請求項13】
メモリ・コンポーネントのランクの第1スライスとしてメモリ・コントローラ・コンポーネントに結合されるように適合されたメモリ・コンポーネントであって、該ランクが、さらに、第2スライスを含み、導体が、該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに結合し、該導体が、該第1スライスを該メモリ・コントローラ・コンポーネントに結合する第1データ・バスと、該第2スライスを該メモリ・コントローラ・コンポーネントに結合する第2データ・バスとを含み、該第1データ・バスが該第2データ・バスから分離され、
メモリ・コントローラに、第1要素タイム・インターバルの第1持続時間より長い、第1時刻と第3時刻との間の差に対処させるように適合されたロジック回路であって、情報の第1要素が、該第1時刻から第2時刻までの該第1要素タイム・インターバルの間に該第1スライスに結合された該導体の第1導体上で駆動され、該第2スライスに関係する情報の第2要素が、第3時刻から第4時刻までの第2要素タイム・インターバルの間に該第2スライスに結合された該導体の第2導体上で駆動される、ロジック回路
を含むメモリ・コンポーネント。
【請求項14】
メモリ・コンポーネントのランクの第1スライスとしてメモリ・コントローラ・コンポーネントに結合されるように適合されたメモリ・コンポーネントであって、該ランクが、さらに、第2スライスを含み、共通アドレス・バスが、該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに連続して接続し、第1データ・バスが、該メモリ・コントローラ・コンポーネントを該第1スライスに接続し、第2データ・バスが、該メモリ・コントローラ・コンポーネントを該第2スライスに接続し、該第1データ・バスが、該第2データ・バスから分離され、
第1要素タイム・インターバルの第1持続時間より長い、第1アクセス・タイム・インターバルと第2アクセス・タイム・インターバルとの間の差に対処するように適合されたロジック回路であって、情報の第1要素が、第1時刻から第2時刻までの該第1要素タイム・インターバルの間に該第1データ・バス上で駆動され、情報の第2要素が第3時刻から第4時刻までの第2要素タイム・インターバルの間に該第2データ・バス上で駆動され、情報の第3要素が第5時刻から第6時刻までの第3要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第1アクセス・タイム・インターバルが該第5時刻と該第1時刻との間に発生し、情報の第4要素が第7時刻から第8時刻までの第4要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第2アクセス・タイム・インターバルが該第7時刻と該第3時刻との間に発生する、ロジック回路
を含むメモリ・コンポーネント。
【請求項15】
メモリ・コンポーネントのランクの第1スライスとしてメモリ・コントローラ・コンポーネントに結合されるように適合されたメモリ・コンポーネントであって、該ランクが、さらに、第2スライスを含み、導体が、該メモリ・コントローラ・コンポーネントをメモリ・コンポーネントの該ランクの該スライスに結合し、該導体が、該メモリ・コントローラ・コンポーネントおよび該第1スライスに結合された第1データ・バスと、該メモリ・コントローラ・コンポーネントおよび該第2スライスに結合された第2データ・バスとを含み、該第1データ・バスが、該第2データ・バスから分離され、
該メモリ・コントローラ・コンポーネントに、第1要素タイム・インターバルの第1持続時間より長い、第1タイミング信号イベントと第2タイミング信号イベントとの間の差に対処させるように適合されたロジック回路であって、情報の第1要素が該第1要素タイム・インターバルの間に該第1スライスに結合された該導体の第1導体上で駆動され、該第1要素タイム・インターバルが該第1タイミング信号イベントに関連し、該第2スライスに関係する情報の第2要素が第2要素タイム・インターバルの間に該第2スライスに結合された該導体の第2導体上で駆動され、該第2要素タイム・インターバルが該第2タイミング信号イベントに関連する、ロジック回路
を含むメモリ・コンポーネント。
【請求項16】
メモリ・コンポーネントのランクの第1スライスとしてメモリ・コントローラ・コンポーネントに結合されるように適合されたメモリ・コンポーネントであって、メモリ・コンポーネントの該ランクが、さらに、第2スライスを含み、共通アドレス・バスが該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに連続して接続し、第1データ・バスが該メモリ・コントローラ・コンポーネントを該第1スライスに接続し、第2データ・バスが該メモリ・コントローラ・コンポーネントを該第2スライスに接続し、
第1要素タイム・インターバルの第1持続時間より長い、第1アクセス・タイム・インターバルと第2アクセス・タイム・インターバルとの間の差に対処するように適合されたロジック回路であって、情報の第1要素が該第1要素タイム・インターバルの間に該第1データ・バス上で駆動され、該第1要素タイム・インターバルが第1タイミング信号イベントに関連し、情報の第2要素が第2要素タイム・インターバルの間に該第2データ・バス上で駆動され、該第2要素タイム・インターバルが第2タイミング信号イベントに関連し、情報の第3要素が第3要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第3要素タイム・インターバルが第3タイミング信号イベントに関連し、該第1アクセス・タイム・インターバルが該第3タイミング信号イベントと該第1タイミング信号イベントとの間に発生し、情報の第4要素が第4要素タイム・インターバルの間に該共通アドレス・バス上で駆動され、該第4要素タイム・インターバルが第4タイミング信号イベントに関連し、該第2アクセス・タイム・インターバルが該第4タイミング信号イベントと該第2タイミング信号イベントとの間に発生する、ロジック回路
を含むメモリ・コンポーネント。
【請求項17】
メモリ・コントローラ・コンポーネントとスライスを含むメモリ・コンポーネントのランクとを含むメモリ・システムでメモリ動作を行う方法であって、該スライスが、第1スライスおよび第2スライスを含み、該メモリ・コントローラ・コンポーネントが、導体に結合され、該導体が、該メモリ・コントローラ・コンポーネントを該第1スライスおよび該第2スライスに接続する共通アドレス・バスと、該メモリ・コントローラ・コンポーネントを該第1スライスに接続する第1データ・バスと、該メモリ・コントローラ・コンポーネントを該第2スライスに接続する第2データ・バスとを含み、該第1データ・バスが該第2データ・バスから分離され、
該導体の1つに信号を供給するステップであって、該信号が、アドレス信号、書込データ信号、および読取データ信号からなる群から選択され、該導体の該1つの伝搬遅延が、該信号によって表される情報の要素が該導体に印加される時間の量より長い、該導体の1つに信号を供給するステップ
を含む方法。
【請求項18】
該第1データ・バスに第1データ信号を供給し、該第2データ・バスに第2データ信号を供給するステップであって、該第1データ信号が、特に該第1スライスに関係し、該第2データ信号が、特に該第2スライスに関係する、供給するステップ
をさらに含む請求項17に記載の方法。
【請求項19】
第1メモリ・コンポーネントと第2メモリ・コンポーネントとの間でメモリ動作を調整する方法であって、
第1タイム・インターバルに共通アドレス・バスに該第1メモリ・コンポーネントに関係する第1アドレス信号を印加するステップであって、該共通アドレス・バスが、該第1メモリ・コンポーネントおよび該第2メモリ・コンポーネントに結合される、第1アドレス信号を印加するステップと、
第2タイム・インターバルに該共通アドレス・バスに該第2メモリ・コンポーネントに関係する第2アドレス信号を印加するステップであって、該第1タイム・インターバルが、該共通アドレス・バスの伝搬遅延より短く、該第2タイム・インターバルが、該共通アドレス・バスの共通アドレス・バス伝搬遅延より短い、第2アドレス信号を印加するステップと、
第1メモリ・コンポーネント・タイミング信号を使用して該第1メモリ・コンポーネントの第1メモリ動作を制御するステップであって、該第1メモリ・コンポーネント・タイミング信号が、該共通アドレス・バス伝搬遅延と該第1メモリ・コンポーネントに結合された第1データ・バスの第1データ・バス伝搬遅延との間の第1関係に依存する第1メモリ動作を制御するステップと、
第2メモリ・コンポーネント・タイミング信号を使用して該第2メモリ・コンポーネントの第2メモリ動作を制御するステップであって、該第2メモリ・コンポーネント・タイミング信号が、該共通アドレス・バス伝搬遅延と該第2メモリ・コンポーネントに結合された第2データ・バスの第2データ・バス伝搬遅延との間の第2関係に依存する、第2メモリ動作を制御するステップと
を含む方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate


【公開番号】特開2012−248225(P2012−248225A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2012−203456(P2012−203456)
【出願日】平成24年9月14日(2012.9.14)
【分割の表示】特願2009−162534(P2009−162534)の分割
【原出願日】平成14年4月24日(2002.4.24)
【出願人】(501055961)ラムバス・インコーポレーテッド (89)
【Fターム(参考)】