JP2018532193A - メモリ制御装置デジタルコアとi/oとの間の短い待ち時間および高密度ルーティングを有する集積回路 - Google Patents
メモリ制御装置デジタルコアとi/oとの間の短い待ち時間および高密度ルーティングを有する集積回路 Download PDFInfo
- Publication number
- JP2018532193A JP2018532193A JP2018515134A JP2018515134A JP2018532193A JP 2018532193 A JP2018532193 A JP 2018532193A JP 2018515134 A JP2018515134 A JP 2018515134A JP 2018515134 A JP2018515134 A JP 2018515134A JP 2018532193 A JP2018532193 A JP 2018532193A
- Authority
- JP
- Japan
- Prior art keywords
- write
- bus
- memory controller
- signal
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
Abstract
バッファされるコマンドおよびアドレスバスに結合されているメモリ制御装置と、パイプライン遅延を有するパイプライン化データバスとが、集積回路に提供される。メモリ制御装置は、書き込み待ち時間期間要件を有する外部メモリに対する書き込みおよび読み取り動作を制御するように構成されている。メモリ制御装置は、書き込み待ち時間期間よりも短い修正された書き込み待ち時間期間の満了に応答して、書き込みデータをパイプライン化データバスに発するようにさらに構成されている。
【選択図】図1A
【選択図】図1A
Description
[0001]
本出願は、2015年9月22日に出願された、米国特許出願第14/861,114号の利益を主張する。
本出願は、2015年9月22日に出願された、米国特許出願第14/861,114号の利益を主張する。
[0002]
本出願は、メモリに関連し、より詳細には、メモリ制御装置と、複数の分散されたエンドポイントへのそのルーティングとに関連する。
本出願は、メモリに関連し、より詳細には、メモリ制御装置と、複数の分散されたエンドポイントへのそのルーティングとに関連する。
[0003]
外部ダイナミックランダムアクセスメモリ(DRAM)のためのメモリ制御装置は、例えば、電子素子技術連合評議会(JEDEC)標準規格の下で必要とされる、ある厳密なタイミング関係を満たさなければならない。例えば、メモリ制御装置は、DRAMに書き込まれる書き込みデータ(DQ)と対応するコマンドおよびアドレス(CA)信号との間の書き込み待ち時間(WL)要件を満たさなければならない。言い換えると、DRAMが書き込みコマンドを受信するのと同じメモリクロックサイクルにおいて、DRAMは書き込みデータを受信できない。代わりに、書き込みコマンドの提示後、書き込みデータは、クロックサイクルの書き込み待ち時間数において提示される。書き込み待ち時間を実施することに関して、メモリ制御装置デジタルコアは、エンドポイントまたはエンドポイント回路としても呼ばれることがある入力/出力(I/O)回路を通して、対応するDRAMにインタフェースする。
外部ダイナミックランダムアクセスメモリ(DRAM)のためのメモリ制御装置は、例えば、電子素子技術連合評議会(JEDEC)標準規格の下で必要とされる、ある厳密なタイミング関係を満たさなければならない。例えば、メモリ制御装置は、DRAMに書き込まれる書き込みデータ(DQ)と対応するコマンドおよびアドレス(CA)信号との間の書き込み待ち時間(WL)要件を満たさなければならない。言い換えると、DRAMが書き込みコマンドを受信するのと同じメモリクロックサイクルにおいて、DRAMは書き込みデータを受信できない。代わりに、書き込みコマンドの提示後、書き込みデータは、クロックサイクルの書き込み待ち時間数において提示される。書き込み待ち時間を実施することに関して、メモリ制御装置デジタルコアは、エンドポイントまたはエンドポイント回路としても呼ばれることがある入力/出力(I/O)回路を通して、対応するDRAMにインタフェースする。
[0004]
パーソナルコンピュータ(PC)に対するようなアプリケーションにおいて、メモリ制御装置とそのエンドポイントとの間のルーティングは比較的単純である。これに関連して、PCマイクロプロセッサ集積回路は、ネットワーキング、グラフィック処理等に対して必要とされるような、さまざまな他の集積回路もサポートするマザーボード上に据え付けられる。一連のダイナミックランダムアクセスメモリ(DRAM)集積回路もマザーボード上に据え付けられ、マザーボードメモリスロットを通してアクセスされる。DRAMのためのメモリ制御装置は、典型的には、マイクロプロセッサバスとDRAMとの間を結合するメモリ制御装置集積回路内に配置される。PCメモリ制御装置とそのエンドポイントは、メモリ制御装置集積回路内で相対的に同じ場所に配置され、これは、適切な信号品位により、エンドポイントへのCA信号およびDQ信号のルーティングを簡略化する。メモリ制御装置が、代わりにマイクロプロセッサと統合される場合、メモリ制御装置とエンドポイントとの間のルーティング問題が緩和されるように、メモリ制御装置は、依然として対応するエンドポイントと相対的に同じ場所に配置されてもよい。
パーソナルコンピュータ(PC)に対するようなアプリケーションにおいて、メモリ制御装置とそのエンドポイントとの間のルーティングは比較的単純である。これに関連して、PCマイクロプロセッサ集積回路は、ネットワーキング、グラフィック処理等に対して必要とされるような、さまざまな他の集積回路もサポートするマザーボード上に据え付けられる。一連のダイナミックランダムアクセスメモリ(DRAM)集積回路もマザーボード上に据え付けられ、マザーボードメモリスロットを通してアクセスされる。DRAMのためのメモリ制御装置は、典型的には、マイクロプロセッサバスとDRAMとの間を結合するメモリ制御装置集積回路内に配置される。PCメモリ制御装置とそのエンドポイントは、メモリ制御装置集積回路内で相対的に同じ場所に配置され、これは、適切な信号品位により、エンドポイントへのCA信号およびDQ信号のルーティングを簡略化する。メモリ制御装置が、代わりにマイクロプロセッサと統合される場合、メモリ制御装置とエンドポイントとの間のルーティング問題が緩和されるように、メモリ制御装置は、依然として対応するエンドポイントと相対的に同じ場所に配置されてもよい。
[0005]
しかしながら、メモリ制御装置設計は、パッケージオンパッケージ(PoP)LPDDR DRAMコンフィギュレーションが多くの製品に対して使用される、急成長するスマートフォン/ウェアラブル市場に対して開発されたようなシステムオンチップ(SoC)集積回路とは非常に異なる。このようなPoPにおいて、異なるDRAMピンが、SoCの異なる側からアクセスされる必要があるかもしれない。SoC中のメモリ制御装置は、したがって、エンドポイントから比較的遠くに配置されている。したがって、エンドポイント(I/O回路)は、SoCダイの周辺に配置されている。対照的に、メモリ制御装置からさまざまなエンドポイントへのバスに対するトレース長をより容易に一致させることができるように、メモリ制御装置は、SoCダイ内のより中央に配置される。したがって、SoCメモリ制御装置からのCA信号およびDQ信号は、SoCメモリ制御装置からエンドポイントへの対応するバスを通して比較的長い伝搬パスを横断しなければならない。金属トレースのみが、SoCダイに渡るこれらの比較的長い伝搬パスを形成するように使用される場合、CA信号およびDQ信号は、著しい伝搬損失、遅延、および雑音を受けるだろう。したがって、メモリ制御装置からエンドポイントへのCAバスおよびDQバスに複数のバッファを挿入することが従来である。バッファは、CA信号およびDQ信号をブーストし、したがって、損失および雑音を取り扱う。さらに、金属トレースに沿った伝搬遅延は、そのキャパシタンスと抵抗の積に比例する。伝搬パス長が伸長するにつれて、これらの要因の両方が直線的に増加する傾向があり、伝搬遅延は二次的にパス長に比例する。したがって、バッファされるバス上の連続するバッファ間のより短いパスは、さもなければ、バッファされるバスと同じ長さを有するバッファされていないパスに渡って生じるであろう、伝搬遅延を減少させる。バスは、厳しいタイミング要件を有する高周波信号を伝えることから、金属トレースは、伝搬遅延、信号劣化、およびクロストークを最小化させるために、典型的に、非デフォルトルーティング(NDR)ルールにしたがう。NDRルールは、クロストークおよび関連する問題を緩和するために、より大きなワイヤ幅、より大きな間隔、信号ワイヤと並行して走る遮蔽ワイヤを条件として指定する。従来のSo
Cにおけるメモリ制御装置とそのエンドポイントとの間の結果として生じるNDRルーティングは、かなりのエリア使用を必要とし、他の信号のルーティングを困難にする。
しかしながら、メモリ制御装置設計は、パッケージオンパッケージ(PoP)LPDDR DRAMコンフィギュレーションが多くの製品に対して使用される、急成長するスマートフォン/ウェアラブル市場に対して開発されたようなシステムオンチップ(SoC)集積回路とは非常に異なる。このようなPoPにおいて、異なるDRAMピンが、SoCの異なる側からアクセスされる必要があるかもしれない。SoC中のメモリ制御装置は、したがって、エンドポイントから比較的遠くに配置されている。したがって、エンドポイント(I/O回路)は、SoCダイの周辺に配置されている。対照的に、メモリ制御装置からさまざまなエンドポイントへのバスに対するトレース長をより容易に一致させることができるように、メモリ制御装置は、SoCダイ内のより中央に配置される。したがって、SoCメモリ制御装置からのCA信号およびDQ信号は、SoCメモリ制御装置からエンドポイントへの対応するバスを通して比較的長い伝搬パスを横断しなければならない。金属トレースのみが、SoCダイに渡るこれらの比較的長い伝搬パスを形成するように使用される場合、CA信号およびDQ信号は、著しい伝搬損失、遅延、および雑音を受けるだろう。したがって、メモリ制御装置からエンドポイントへのCAバスおよびDQバスに複数のバッファを挿入することが従来である。バッファは、CA信号およびDQ信号をブーストし、したがって、損失および雑音を取り扱う。さらに、金属トレースに沿った伝搬遅延は、そのキャパシタンスと抵抗の積に比例する。伝搬パス長が伸長するにつれて、これらの要因の両方が直線的に増加する傾向があり、伝搬遅延は二次的にパス長に比例する。したがって、バッファされるバス上の連続するバッファ間のより短いパスは、さもなければ、バッファされるバスと同じ長さを有するバッファされていないパスに渡って生じるであろう、伝搬遅延を減少させる。バスは、厳しいタイミング要件を有する高周波信号を伝えることから、金属トレースは、伝搬遅延、信号劣化、およびクロストークを最小化させるために、典型的に、非デフォルトルーティング(NDR)ルールにしたがう。NDRルールは、クロストークおよび関連する問題を緩和するために、より大きなワイヤ幅、より大きな間隔、信号ワイヤと並行して走る遮蔽ワイヤを条件として指定する。従来のSo
Cにおけるメモリ制御装置とそのエンドポイントとの間の結果として生じるNDRルーティングは、かなりのエリア使用を必要とし、他の信号のルーティングを困難にする。
[0006]
バッファバスおよびNDRルーティングの使用への代替として、CAバスおよびDQバスは、一連のレジスタを使用して、それぞれパイプライン化されてもよい。パイプライン化パスに対して結果として生じるルーティングは、もはや、NDRルールにしたがう必要なく、したがって、バッファリングされるルーティングアプローチと比較して、よりコンパクトである。しかしながら、レジスタは、各パスにかなりのパイプライン遅延を加える。例えば、CAバスおよびDQバスが8個のレジスタによりそれぞれパイプライン化される場合、メモリ制御装置からエンドポイントにCA信号またはDQ信号を駆動するために4つのクロックサイクルを必要とするかもしれない(半分のレジスタが立ち上がりエッジによってクロックされ、半分が立ち下がりエッジによってクロックされると仮定する)。しかしながら、CAバスは、読み取りおよび書き込みコマンドの両方を伝える。したがって、SoCプロセッサおよび他の実行エンジンは、それが読み取りコマンドを発行するたびに、望ましくないパイプライン遅延を受ける。読み取りデータに対して増大した遅延は、SoC中のさまざまな実行エンジンの性能に悪影響を与えることがある。その後、SoC設計者は、扱いにくいバッファされるCAバスおよびDQバスのエリア要求、または、パイプライン化されたCAバスおよびDQバスの増大した遅延との間で選択するように強いられる。
バッファバスおよびNDRルーティングの使用への代替として、CAバスおよびDQバスは、一連のレジスタを使用して、それぞれパイプライン化されてもよい。パイプライン化パスに対して結果として生じるルーティングは、もはや、NDRルールにしたがう必要なく、したがって、バッファリングされるルーティングアプローチと比較して、よりコンパクトである。しかしながら、レジスタは、各パスにかなりのパイプライン遅延を加える。例えば、CAバスおよびDQバスが8個のレジスタによりそれぞれパイプライン化される場合、メモリ制御装置からエンドポイントにCA信号またはDQ信号を駆動するために4つのクロックサイクルを必要とするかもしれない(半分のレジスタが立ち上がりエッジによってクロックされ、半分が立ち下がりエッジによってクロックされると仮定する)。しかしながら、CAバスは、読み取りおよび書き込みコマンドの両方を伝える。したがって、SoCプロセッサおよび他の実行エンジンは、それが読み取りコマンドを発行するたびに、望ましくないパイプライン遅延を受ける。読み取りデータに対して増大した遅延は、SoC中のさまざまな実行エンジンの性能に悪影響を与えることがある。その後、SoC設計者は、扱いにくいバッファされるCAバスおよびDQバスのエリア要求、または、パイプライン化されたCAバスおよびDQバスの増大した遅延との間で選択するように強いられる。
[0007]
したがって、PoPパッケージにおいて使用されるような、システムオンチップアプリケーションのための改良されたメモリ制御装置アーキテクチャに対する技術的な必要性がある。
したがって、PoPパッケージにおいて使用されるような、システムオンチップアプリケーションのための改良されたメモリ制御装置アーキテクチャに対する技術的な必要性がある。
[0008]
増大した遅延に悩まされることなく、密度を向上させるために、バッファされるコマンドおよびアドレス(CA)バスを通してCA書き込み信号を駆動し、パプライン化データ(DQ)バスを通してDQ信号を駆動する、メモリ制御装置が集積回路に提供される。バッファされるCAバスは、パイプライン化されないことから、書き込み信号がメモリ制御装置から発せられるときと同じメモリクロックサイクルでCAエンドポイント回路において受信されるだろう。対照的に、パイプライン化DQバスは、クロック信号のPサイクルに対応するパイプライン遅延を有するので、メモリ制御装置によってそれが発せられた後のPクロックサイクルで、DQ信号は、DQエンドポイント回路で受信されるだろう(Pは正の整数)。次に、DQエンドポイント回路は、受信したDQ信号を、書き込み待ち時間(WL)クロックサイクルと等しいWL期間要件を有する外部メモリに発するだろう(WLも正の整数である)。書き込み待ち時間期間要件を外部メモリにおいて確実に満たすために、メモリ制御装置は、書き込みコマンドが発せられた後の修正された書き込み待ち時間期間にDQ信号を発するように構成され、修正された書き込み待ち時間期間は、(WL−P)クロックサイクルと等しい。
増大した遅延に悩まされることなく、密度を向上させるために、バッファされるコマンドおよびアドレス(CA)バスを通してCA書き込み信号を駆動し、パプライン化データ(DQ)バスを通してDQ信号を駆動する、メモリ制御装置が集積回路に提供される。バッファされるCAバスは、パイプライン化されないことから、書き込み信号がメモリ制御装置から発せられるときと同じメモリクロックサイクルでCAエンドポイント回路において受信されるだろう。対照的に、パイプライン化DQバスは、クロック信号のPサイクルに対応するパイプライン遅延を有するので、メモリ制御装置によってそれが発せられた後のPクロックサイクルで、DQ信号は、DQエンドポイント回路で受信されるだろう(Pは正の整数)。次に、DQエンドポイント回路は、受信したDQ信号を、書き込み待ち時間(WL)クロックサイクルと等しいWL期間要件を有する外部メモリに発するだろう(WLも正の整数である)。書き込み待ち時間期間要件を外部メモリにおいて確実に満たすために、メモリ制御装置は、書き込みコマンドが発せられた後の修正された書き込み待ち時間期間にDQ信号を発するように構成され、修正された書き込み待ち時間期間は、(WL−P)クロックサイクルと等しい。
[0009]
結果として得られる集積回路は比較的コンパクトである。さらに、集積回路中のプロセッサは、パイプライン化アーキテクチャの遅延に悩まされることなく、読み取りおよび書き込みコマンドを発行できる。以下に続く詳細な説明を通して、これらおよび他の有利な特徴がより良く認識されるだろう。
結果として得られる集積回路は比較的コンパクトである。さらに、集積回路中のプロセッサは、パイプライン化アーキテクチャの遅延に悩まされることなく、読み取りおよび書き込みコマンドを発行できる。以下に続く詳細な説明を通して、これらおよび他の有利な特徴がより良く認識されるだろう。
[0016]
密度および動作速度を増加させるために、メモリ制御装置とそのエンドポイントとの間のコマンドおよびアドレス(CA)バスがバッファリングされる一方で、メモリ制御装置とそのエンドポイントとの間のデータ(DQ)バスは、レジスタによりパイプライン化される、メモリ制御装置が提供される。比較的多数のパイプライン化されたDQパスに対してバッファされるCAバスが1つだけであってもよいことから、バッファされるCAバスに対する金属トレースの任意の非デフォルトルーティングルール(NDR)ルーティングからのエリア要求は、最小である。さらに、バッファされるCAバスは、メモリ動作スピードを増加させる。DQバス上で伝えられるデータ信号は、各DQバス中のパイプラインレジスタの数に対応するクロックサイクルだけ遅延される一方で、CA信号は、何らかのパイプライン化によって妨げられないことから、メモリ制御装置内のCA信号の発生とDQ信号の発生との間の書き込み待ち時間は切り離される。特に、ここで開示されるメモリ制御装置は、外部メモリによって必要とされる書き込み待ち時間よりも短い修正された書き込み待ち時間に関してこれらのDQ信号を発する。
密度および動作速度を増加させるために、メモリ制御装置とそのエンドポイントとの間のコマンドおよびアドレス(CA)バスがバッファリングされる一方で、メモリ制御装置とそのエンドポイントとの間のデータ(DQ)バスは、レジスタによりパイプライン化される、メモリ制御装置が提供される。比較的多数のパイプライン化されたDQパスに対してバッファされるCAバスが1つだけであってもよいことから、バッファされるCAバスに対する金属トレースの任意の非デフォルトルーティングルール(NDR)ルーティングからのエリア要求は、最小である。さらに、バッファされるCAバスは、メモリ動作スピードを増加させる。DQバス上で伝えられるデータ信号は、各DQバス中のパイプラインレジスタの数に対応するクロックサイクルだけ遅延される一方で、CA信号は、何らかのパイプライン化によって妨げられないことから、メモリ制御装置内のCA信号の発生とDQ信号の発生との間の書き込み待ち時間は切り離される。特に、ここで開示されるメモリ制御装置は、外部メモリによって必要とされる書き込み待ち時間よりも短い修正された書き込み待ち時間に関してこれらのDQ信号を発する。
[0017]
メモリ制御装置101を含む例示的なシステムオンチップ(SoC)100が、図1A中に示されている。メモリ制御装置101は、複数のバッファ105を含むバッファされるCAバス110を通してCA信号を駆動する。(エンドポイント回路としても示されることがある)CAエンドポイント130は、バッファされるCAバス110上でCA信号を受信し、これらを(図示していない)外部DRAMに送信する前に、これらの物理レイヤ(PHY)処理を実行する。バッファされるCAバス110は、CA信号がマルチビットワードである、単一のワイヤとして簡略化された形態で示されていることが理解されるだろう。このように、バッファされるCAバス110は、(図示していない)複数の金属トレースを備え、複数の金属トレースは、CAワードの幅に依存する。例えば、CAワードが8ビットワードである場合、バッファされるCAバス110は、8個の金属トレースを備える。一般的に、CAワードがnビットワードである場合、バッファされるCAバス110は、n個の金属トレースを備え、nは複数の正の整数である。したがって、各バッファ105は、複数の金属層トレースに対応する複数のバッファを表す。金属層トレースは、非デフォルトルーティングルールにしたがってルーティングされ、シールドされてもよい。バッファされるCAバス110のためのこのようなシールドされたNDRルーティングはまた、「スーパーバッファ」インプリメンテーションとして示されることもある。1つのインプリメンテーションでは、CAバス110は、パイプライン遅延なく、メモリ制御装置101から、CAエンドポイント130に、書き込みコマンド信号を伝搬する手段を備えると考えてもよい。
メモリ制御装置101を含む例示的なシステムオンチップ(SoC)100が、図1A中に示されている。メモリ制御装置101は、複数のバッファ105を含むバッファされるCAバス110を通してCA信号を駆動する。(エンドポイント回路としても示されることがある)CAエンドポイント130は、バッファされるCAバス110上でCA信号を受信し、これらを(図示していない)外部DRAMに送信する前に、これらの物理レイヤ(PHY)処理を実行する。バッファされるCAバス110は、CA信号がマルチビットワードである、単一のワイヤとして簡略化された形態で示されていることが理解されるだろう。このように、バッファされるCAバス110は、(図示していない)複数の金属トレースを備え、複数の金属トレースは、CAワードの幅に依存する。例えば、CAワードが8ビットワードである場合、バッファされるCAバス110は、8個の金属トレースを備える。一般的に、CAワードがnビットワードである場合、バッファされるCAバス110は、n個の金属トレースを備え、nは複数の正の整数である。したがって、各バッファ105は、複数の金属層トレースに対応する複数のバッファを表す。金属層トレースは、非デフォルトルーティングルールにしたがってルーティングされ、シールドされてもよい。バッファされるCAバス110のためのこのようなシールドされたNDRルーティングはまた、「スーパーバッファ」インプリメンテーションとして示されることもある。1つのインプリメンテーションでは、CAバス110は、パイプライン遅延なく、メモリ制御装置101から、CAエンドポイント130に、書き込みコマンド信号を伝搬する手段を備えると考えてもよい。
[0018]
さらに、メモリ制御装置101は、対応する複数のDQエンドポイント145によって受け入れられる複数のパイプライン化データ(DQ)バス125を駆動する。各パイプライン化DQバス125は、メモリ制御装置101によってDQエンドポイント145に分配されるメモリ書き込みクロックによってクロックされる複数のパイプラインレジスタを含む。対応するクロックパスおよびクロックソースは、実例を明確にするために示されていない。各DQバス125は、パイプライン遅延を有して、メモリ制御装置101から、DQエンドポイント145に、DQ信号を伝搬する手段を備えると考えてもよい。パイプラインレジスタは、立ち上がりエッジクロックレジスタ115および立ち下がりエッジクロックレジスタ120として代替させてもよい。したがって、レジスタ115と120の連続するペア間の遅延は、メモリクロック信号の半分のサイクルに対応する。したがって、各パイプラインDQバス125に渡るクロックサイクルにおける総遅延は、レジスタ115と120のペアによって形成されるいくつのパイプラインステージが含まれるかに依存する。例えば、6個のレジスタ115(したがって、6個のレジスタ120)が各パイプライン化DQバス125中に含まれる場合、DQ信号がメモリ制御装置101から対応するDQエンドポイント145に伝搬するためのクロックサイクルにおける総パイプライン遅延は、6クロックサイクルになる。代替インプリメンテーションでは、パイプライン化DQバス125は、ちょうど1つの(立ち上がりまたは立ち下がり)クロックエッジに応答してもよく、したがって、そのレジスタは、すべて立ち上がりエッジトリガされるか、または、すべて立ち下がりエッジトリガされる。ここでさらに説明するように、メモリ制御装置101は、修正されたまたは擬似書き込み待ち時間に関してDQデータ信号を発することに関してこのパイプライン遅延時間を使用するように構成されている。例えば、パイプライン遅延が6クロックサイクルである一方、所望の書き込み待ち時間が8クロックサイクルである場合、メモリ制御装置101は、対応する書き込みコマンドを発した後の2クロックサイクルで、DQ信号を発してもよい。より一般的には、パイプライン遅延は、変数Pによって表すことができる一方で、外部メモリによって必要とされる書き込み
待ち時間は、変数WLとして表されてもよい(両方の遅延は、クロックサイクルのいくつかの整数である)。したがって、メモリ制御装置は、対応する書き込み待ち時間を発した後の、クロックサイクルにおける書き込み待ち時間とパイプライン遅延との間の差(WL−P)により、DQ信号を発してもよい。書き込みコマンドは、バッファされるCAバス110上でパイプライン遅延を受けないので、それが発されたときと同じクロックサイクルでCAエンドポイント130に到着する。対照的に、DQ信号は、パイプライン遅延によって遅延される。DQ信号は、書き込みコマンドの後のWL−Pクロックサイクルで発せられたことから、したがって、DQ信号は、CA書き込みコマンドを出した後のクロックサイクルにおけるWL−P+P=WLの遅延で、そのDQエンドポイント145に到着する。したがって、CA書き込みコマンドに対するパイプライン化の欠如にもかかわらず、所望の書き込み待ち時間が維持される。
さらに、メモリ制御装置101は、対応する複数のDQエンドポイント145によって受け入れられる複数のパイプライン化データ(DQ)バス125を駆動する。各パイプライン化DQバス125は、メモリ制御装置101によってDQエンドポイント145に分配されるメモリ書き込みクロックによってクロックされる複数のパイプラインレジスタを含む。対応するクロックパスおよびクロックソースは、実例を明確にするために示されていない。各DQバス125は、パイプライン遅延を有して、メモリ制御装置101から、DQエンドポイント145に、DQ信号を伝搬する手段を備えると考えてもよい。パイプラインレジスタは、立ち上がりエッジクロックレジスタ115および立ち下がりエッジクロックレジスタ120として代替させてもよい。したがって、レジスタ115と120の連続するペア間の遅延は、メモリクロック信号の半分のサイクルに対応する。したがって、各パイプラインDQバス125に渡るクロックサイクルにおける総遅延は、レジスタ115と120のペアによって形成されるいくつのパイプラインステージが含まれるかに依存する。例えば、6個のレジスタ115(したがって、6個のレジスタ120)が各パイプライン化DQバス125中に含まれる場合、DQ信号がメモリ制御装置101から対応するDQエンドポイント145に伝搬するためのクロックサイクルにおける総パイプライン遅延は、6クロックサイクルになる。代替インプリメンテーションでは、パイプライン化DQバス125は、ちょうど1つの(立ち上がりまたは立ち下がり)クロックエッジに応答してもよく、したがって、そのレジスタは、すべて立ち上がりエッジトリガされるか、または、すべて立ち下がりエッジトリガされる。ここでさらに説明するように、メモリ制御装置101は、修正されたまたは擬似書き込み待ち時間に関してDQデータ信号を発することに関してこのパイプライン遅延時間を使用するように構成されている。例えば、パイプライン遅延が6クロックサイクルである一方、所望の書き込み待ち時間が8クロックサイクルである場合、メモリ制御装置101は、対応する書き込みコマンドを発した後の2クロックサイクルで、DQ信号を発してもよい。より一般的には、パイプライン遅延は、変数Pによって表すことができる一方で、外部メモリによって必要とされる書き込み
待ち時間は、変数WLとして表されてもよい(両方の遅延は、クロックサイクルのいくつかの整数である)。したがって、メモリ制御装置は、対応する書き込み待ち時間を発した後の、クロックサイクルにおける書き込み待ち時間とパイプライン遅延との間の差(WL−P)により、DQ信号を発してもよい。書き込みコマンドは、バッファされるCAバス110上でパイプライン遅延を受けないので、それが発されたときと同じクロックサイクルでCAエンドポイント130に到着する。対照的に、DQ信号は、パイプライン遅延によって遅延される。DQ信号は、書き込みコマンドの後のWL−Pクロックサイクルで発せられたことから、したがって、DQ信号は、CA書き込みコマンドを出した後のクロックサイクルにおけるWL−P+P=WLの遅延で、そのDQエンドポイント145に到着する。したがって、CA書き込みコマンドに対するパイプライン化の欠如にもかかわらず、所望の書き込み待ち時間が維持される。
[0019]
JEDEC仕様によって指定されるようなDRAMに対して必要とされる書き込み待ち時間は、クロックレートに依存するかもしれないことに留意されたい。動作のモードに依存して、クロックレートを変更してもよい。例えば、高性能の動作のモードで使用されるレートと比較して、低電力の動作のモードでは、クロックレートは低下されてもよい。その点で、JEDEC仕様は、988MHzのクロックレートにおいて8クロックサイクルの書き込み待ち時間を必要とするが、400MHzのクロックレートでちょうど3クロックサイクルになるように、必要とされる書き込み待ち時間を減少させる。したがって、クロックレートにおいて結果として生じる変化は、結果として、各DQバス125に対するパイプライン遅延よりも短く変更された書き込み待ち時間となる。例えば、パイプライン遅延が6クロックサイクルであるが、書き込み待ち時間に対する新しい値は3クロックサイクルであった場合、メモリ制御装置101は、対応するCA書き込みコマンドを発したのと同じクロックサイクルでDQデータ信号を発する場合でさえ、必要とされる書き込み待ち時間を満たすことができない。
JEDEC仕様によって指定されるようなDRAMに対して必要とされる書き込み待ち時間は、クロックレートに依存するかもしれないことに留意されたい。動作のモードに依存して、クロックレートを変更してもよい。例えば、高性能の動作のモードで使用されるレートと比較して、低電力の動作のモードでは、クロックレートは低下されてもよい。その点で、JEDEC仕様は、988MHzのクロックレートにおいて8クロックサイクルの書き込み待ち時間を必要とするが、400MHzのクロックレートでちょうど3クロックサイクルになるように、必要とされる書き込み待ち時間を減少させる。したがって、クロックレートにおいて結果として生じる変化は、結果として、各DQバス125に対するパイプライン遅延よりも短く変更された書き込み待ち時間となる。例えば、パイプライン遅延が6クロックサイクルであるが、書き込み待ち時間に対する新しい値は3クロックサイクルであった場合、メモリ制御装置101は、対応するCA書き込みコマンドを発したのと同じクロックサイクルでDQデータ信号を発する場合でさえ、必要とされる書き込み待ち時間を満たすことができない。
[0020]
動作のモードに関してのような書き込み待ち時間の何らかの変化に対処するために、システム100中の各パイプライン化DQバス125は、図1B中に示されているように、適応パイプライン化DQバス140によって置き換えられ、SoC170における適応的なパイプライン遅延を提供してもよい。メモリ制御装置175と対応するDQエンドポイント145との間に結合される適応パイプライン化DQバス140が、実例を明確にするために、1つだけ図1B中に示されている。同様に、バッファされるCA110バスは、追加の実例を明確にするために、図1B中には示されていない。適応パイプライン化DQバス140は、パイプライン化DQバス125に関して説明したものと類似して、立ち上がりエッジクロックレジスタ115と立ち下がりエッジクロックレジスタ120とのペアによって形成されるパイプラインステージを含む。適応パイプライン遅延を提供するために、適応パイプライン化DQバス140中の各レジスタ115は、対応するマルチプレクサ150によってバイパスされてもよい。したがって、各レジスタ115へのDQ入力は、レジスタを越えて、バイパスパス160上で、対応するマルチプレクサ150に分路してもよい。同様に、各レジスタ120は、対応するバイパスパス160を通して、対応するマルチプレクサ150にバイパスされてもよい。マルチプレクサ150が、そのバイパスパス160入力に対して選択するように制御される場合、対応するレジスタ120または115はバイパスされてもよい。逆に、マルチプレクサがその対応するレジスタ120または115からのQ出力を選択する場合、パイプライン遅延の半サイクルが、それにしたがってDQバス140に追加される。適応パイプライン化DQバス140が、書き込み待ち時間の所定の値に対して適切なパイプライン遅延を有するように、メモリ制御装置175は、対応する制御信号155を通してマルチプレクサ150を制御するように構成されている。
動作のモードに関してのような書き込み待ち時間の何らかの変化に対処するために、システム100中の各パイプライン化DQバス125は、図1B中に示されているように、適応パイプライン化DQバス140によって置き換えられ、SoC170における適応的なパイプライン遅延を提供してもよい。メモリ制御装置175と対応するDQエンドポイント145との間に結合される適応パイプライン化DQバス140が、実例を明確にするために、1つだけ図1B中に示されている。同様に、バッファされるCA110バスは、追加の実例を明確にするために、図1B中には示されていない。適応パイプライン化DQバス140は、パイプライン化DQバス125に関して説明したものと類似して、立ち上がりエッジクロックレジスタ115と立ち下がりエッジクロックレジスタ120とのペアによって形成されるパイプラインステージを含む。適応パイプライン遅延を提供するために、適応パイプライン化DQバス140中の各レジスタ115は、対応するマルチプレクサ150によってバイパスされてもよい。したがって、各レジスタ115へのDQ入力は、レジスタを越えて、バイパスパス160上で、対応するマルチプレクサ150に分路してもよい。同様に、各レジスタ120は、対応するバイパスパス160を通して、対応するマルチプレクサ150にバイパスされてもよい。マルチプレクサ150が、そのバイパスパス160入力に対して選択するように制御される場合、対応するレジスタ120または115はバイパスされてもよい。逆に、マルチプレクサがその対応するレジスタ120または115からのQ出力を選択する場合、パイプライン遅延の半サイクルが、それにしたがってDQバス140に追加される。適応パイプライン化DQバス140が、書き込み待ち時間の所定の値に対して適切なパイプライン遅延を有するように、メモリ制御装置175は、対応する制御信号155を通してマルチプレクサ150を制御するように構成されている。
[0021]
対応するパイプライン化DQバス125または140上で伝えられる各DQ信号は、ちょうど、対応するCA書き込みコマンドのように、複数ビットワードであることに留意されたい。したがって、各パイプライン化DQバス125または140は、それらが伝えるDQ信号のビットの幅に対応する複数の金属層トレースを備えていてもよい。これらの個々のトレースは、実例を明確にするために示されていない。したがって、レジスタ115および120は、対応するDQ信号の各個別ビットに対して複数のこのようなレジスタを備えている。
対応するパイプライン化DQバス125または140上で伝えられる各DQ信号は、ちょうど、対応するCA書き込みコマンドのように、複数ビットワードであることに留意されたい。したがって、各パイプライン化DQバス125または140は、それらが伝えるDQ信号のビットの幅に対応する複数の金属層トレースを備えていてもよい。これらの個々のトレースは、実例を明確にするために示されていない。したがって、レジスタ115および120は、対応するDQ信号の各個別ビットに対して複数のこのようなレジスタを備えている。
[0022]
SoC100のより詳細な図は、8クロックサイクルの書き込み待ち時間(WL)期間要件を有する外部DRAM220と組み合わせて図2中に示されている。このWL要件が与えられると、DRAM220は、CAエンドポイント130から対応するCA書き込みコマンドを受信した後の8クロックサイクルで、DQエンドポイント145から、所定の書き込み動作に対するDQ信号を受信しなければならない。メモリ制御装置101が、必要とされる書き込み待ち時間と各DQバス125に渡るパイプライン遅延との間の遅延差期間に対処することから、DQバス125のパイプライン化とCAバス110に対するパイプライン化の欠如とにかかわらず、この書き込み待ち時間は満たされる。SoC100において、各パイプライン化DQバス125が、12の半サイクルパイプラインステージ(図1Aに関して説明したレジスタ115および120)を含むので、パイプライン遅延(P)は6クロックサイクルである。代替インプリメンテーションに対するパイプライン遅延は、6クロックサイクルのこの例よりも長くても短くてもよいことが理解されるであろう。メモリ制御装置101は、必要とされる書き込み待ち時間(WL)に関して従来の方法で、往復遅延のようなコマンド遅延を計測するためのコマンドタイマ205を含む、タイミングおよびコマンド発生回路200において、書き込みコマンド(および読み取りコマンドのような他のコマンド)を発生させる。コマンドがCAエンドポイント130において受信され、それにしたがってDRAM220に駆動されるように、タイミングおよびコマンド発生回路200は、発生させたCA書き込みコマンドをバッファされるCAバス110上に駆動する。タイミングおよびコマンド発生回路200は、必要なCA発生およびタイミング機能を実行するように構成されている有限状態機械を実現するように、複数の論理ゲートを備えていてもよい。
SoC100のより詳細な図は、8クロックサイクルの書き込み待ち時間(WL)期間要件を有する外部DRAM220と組み合わせて図2中に示されている。このWL要件が与えられると、DRAM220は、CAエンドポイント130から対応するCA書き込みコマンドを受信した後の8クロックサイクルで、DQエンドポイント145から、所定の書き込み動作に対するDQ信号を受信しなければならない。メモリ制御装置101が、必要とされる書き込み待ち時間と各DQバス125に渡るパイプライン遅延との間の遅延差期間に対処することから、DQバス125のパイプライン化とCAバス110に対するパイプライン化の欠如とにかかわらず、この書き込み待ち時間は満たされる。SoC100において、各パイプライン化DQバス125が、12の半サイクルパイプラインステージ(図1Aに関して説明したレジスタ115および120)を含むので、パイプライン遅延(P)は6クロックサイクルである。代替インプリメンテーションに対するパイプライン遅延は、6クロックサイクルのこの例よりも長くても短くてもよいことが理解されるであろう。メモリ制御装置101は、必要とされる書き込み待ち時間(WL)に関して従来の方法で、往復遅延のようなコマンド遅延を計測するためのコマンドタイマ205を含む、タイミングおよびコマンド発生回路200において、書き込みコマンド(および読み取りコマンドのような他のコマンド)を発生させる。コマンドがCAエンドポイント130において受信され、それにしたがってDRAM220に駆動されるように、タイミングおよびコマンド発生回路200は、発生させたCA書き込みコマンドをバッファされるCAバス110上に駆動する。タイミングおよびコマンド発生回路200は、必要なCA発生およびタイミング機能を実行するように構成されている有限状態機械を実現するように、複数の論理ゲートを備えていてもよい。
[0023]
DQ発生回路210は、書き込み待ち時間とパイプライン遅延との間の遅延差を計算するように構成されており、この例では、2つのクロックサイクルである。書き込みコマンドを発することに続く書き込み待ち時間期間の満了において、従来のメモリ制御装置がどのようにそのDQ信号を発するのかに類似して、この遅延差は、DQ発生回路が遅延差期間の満了に応答して、DQ信号を発する「修正された書き込み待ち時間期間」であると考えてもよい。タイミングおよびコマンド発生回路200が書き込みコマンドを発した後の2クロックサイクルで、DQ発生回路210が、対応するDQ信号を発するように、DQタイマ215は、この2クロックサイクル差をそれにしたがって測定するように構成されている。DQ発生回路210は、例えば、必要なDQ発生およびタイミング機能を実行するように構成されている有限状態機械を実現するために、複数の論理ゲートを備えていてもよい。CA発生間の書き込み待ち時間(この例では、8クロックサイクル)と、DQ発生に関する修正された書き込み待ち時間(この例では、2クロックサイクル)は、したがって、切り離される。DQバス125はパイプライン化されているが、DQエンドポイント145からメモリ制御装置101への読み取りデータバスは、読み取り待ち時間を最小化するようにバッファされてもよいことに留意されたい。DQ発生回路210は、外部メモリに対する書き込み待ち時間期間とパイプライン遅延との間の遅延差期間を決定し、遅延差期間が満了すると、DQ信号をDQ信号DQバス125に駆動する手段を備えていると考えてもよい。
DQ発生回路210は、書き込み待ち時間とパイプライン遅延との間の遅延差を計算するように構成されており、この例では、2つのクロックサイクルである。書き込みコマンドを発することに続く書き込み待ち時間期間の満了において、従来のメモリ制御装置がどのようにそのDQ信号を発するのかに類似して、この遅延差は、DQ発生回路が遅延差期間の満了に応答して、DQ信号を発する「修正された書き込み待ち時間期間」であると考えてもよい。タイミングおよびコマンド発生回路200が書き込みコマンドを発した後の2クロックサイクルで、DQ発生回路210が、対応するDQ信号を発するように、DQタイマ215は、この2クロックサイクル差をそれにしたがって測定するように構成されている。DQ発生回路210は、例えば、必要なDQ発生およびタイミング機能を実行するように構成されている有限状態機械を実現するために、複数の論理ゲートを備えていてもよい。CA発生間の書き込み待ち時間(この例では、8クロックサイクル)と、DQ発生に関する修正された書き込み待ち時間(この例では、2クロックサイクル)は、したがって、切り離される。DQバス125はパイプライン化されているが、DQエンドポイント145からメモリ制御装置101への読み取りデータバスは、読み取り待ち時間を最小化するようにバッファされてもよいことに留意されたい。DQ発生回路210は、外部メモリに対する書き込み待ち時間期間とパイプライン遅延との間の遅延差期間を決定し、遅延差期間が満了すると、DQ信号をDQ信号DQバス125に駆動する手段を備えていると考えてもよい。
[0024]
CA書き込みコマンドと書き込みデータ(DQ)とを発する間に結果として生じる待ち時間が、連続するクロックサイクル0から11に対して図3中に表形式で示されている。クロックサイクル0では、CA書き込みコマンド(W)が、メモリ制御装置から発され、対応するCAエンドポイント(PHY(IN))で受信される。その後、図2に関して説明したように、書き込みデータ(W0)が、クロックサイクル2でメモリ制御装置から発せられる。対応するDQバス上のパイプライン遅延により、書き込みデータW0は、クロックサイクル8まで、対応するエンドポイントで受信されないので、8クロックサイクルの所望の書き込み待ち時間が満たされる。
CA書き込みコマンドと書き込みデータ(DQ)とを発する間に結果として生じる待ち時間が、連続するクロックサイクル0から11に対して図3中に表形式で示されている。クロックサイクル0では、CA書き込みコマンド(W)が、メモリ制御装置から発され、対応するCAエンドポイント(PHY(IN))で受信される。その後、図2に関して説明したように、書き込みデータ(W0)が、クロックサイクル2でメモリ制御装置から発せられる。対応するDQバス上のパイプライン遅延により、書き込みデータW0は、クロックサイクル8まで、対応するエンドポイントで受信されないので、8クロックサイクルの所望の書き込み待ち時間が満たされる。
[0025]
動作の方法を、図4中に示すフローチャートに関して説明する。方法は、最初の時間において、メモリ制御装置から、バッファされるコマンドバスを通して、第1の入力/出力(I/O)エンドポイントに、コマンド信号を駆動する動作400を含んでいる。メモリ制御装置110から、バッファされるCAバス110を通して、CAエンドポイント130に、CA書き込みコマンドを発することは、動作400の例である。方法は、外部メモリに対する書き込み待ち時間要件と、パイプライン化データバスを通してのパイプライン遅延との間の差に等しい遅延差を決定する動作405をさらに含んでいる。DQ発生回路210中の遅延差(WL−P)の計算は、動作405の例である。最後に、方法は、最初の時間に後続する遅延差の満了に応答し、メモリ制御装置から、パイプライン化データバスを通して、第2のI/Oエンドポイントに、データ信号を駆動することを含む動作410を含む。書き込みコマンドを発することに続く修正された書き込み待ち時間期間(WL−P)の満了の際に、DQ発生回路210によりDQ信号を発することは、動作410の例である。
動作の方法を、図4中に示すフローチャートに関して説明する。方法は、最初の時間において、メモリ制御装置から、バッファされるコマンドバスを通して、第1の入力/出力(I/O)エンドポイントに、コマンド信号を駆動する動作400を含んでいる。メモリ制御装置110から、バッファされるCAバス110を通して、CAエンドポイント130に、CA書き込みコマンドを発することは、動作400の例である。方法は、外部メモリに対する書き込み待ち時間要件と、パイプライン化データバスを通してのパイプライン遅延との間の差に等しい遅延差を決定する動作405をさらに含んでいる。DQ発生回路210中の遅延差(WL−P)の計算は、動作405の例である。最後に、方法は、最初の時間に後続する遅延差の満了に応答し、メモリ制御装置から、パイプライン化データバスを通して、第2のI/Oエンドポイントに、データ信号を駆動することを含む動作410を含む。書き込みコマンドを発することに続く修正された書き込み待ち時間期間(WL−P)の満了の際に、DQ発生回路210によりDQ信号を発することは、動作410の例である。
[0001]
今では当業者が認識するように、手近な特定のアプリケーションに依存して、その精神および範囲から逸脱することなく、多くの修正、置換、バリエーションを、本開示の、マテリアル、装置、コンフィギュレーション、および、デバイスの使用の方法においてすることができる。この観点から、いくつかの単なる例にすぎないので、ここで図示し、説明した特定のインプリメンテーションの範囲に、本開示の範囲を限定すべきではなく、むしろ、以下に添付した特許請求の範囲とその機能的均等物の範囲に十分に相応させるべきである。
今では当業者が認識するように、手近な特定のアプリケーションに依存して、その精神および範囲から逸脱することなく、多くの修正、置換、バリエーションを、本開示の、マテリアル、装置、コンフィギュレーション、および、デバイスの使用の方法においてすることができる。この観点から、いくつかの単なる例にすぎないので、ここで図示し、説明した特定のインプリメンテーションの範囲に、本開示の範囲を限定すべきではなく、むしろ、以下に添付した特許請求の範囲とその機能的均等物の範囲に十分に相応させるべきである。
Claims (21)
- 集積回路において、
バッファされるコマンドおよびアドレス(CA)バスと、
パイプライン遅延を有するパイプライン化データ(DQ)書き込みバスと、
最初の時間において、バッファされるCAバスに書き込みコマンド信号を駆動するように構成されているメモリ制御装置とを具備し、
前記メモリ制御装置は、外部メモリに対する書き込み待ち時間要件とパイプライン遅延との間の遅延差期間を決定し、前記遅延差期間の満了において、前記パイプライン化DQ書き込みバスにDQ信号を駆動するようにさらに構成されている集積回路。 - 複数のDQエンドポイントをさらに具備し、
前記パイプライン化DQ書き込みバスは、前記複数のDQエンドポイントに対応する複数のパイプライン化DQ書き込みバスを備え、
各パイプライン化DQ書き込みバスは、前記メモリ制御装置と前記対応するDQエンドポイントとの間に結合され、
前記DQ信号は、前記複数のDQエンドポイントに対応する複数のDQ信号を備え、
各DQエンドポイントは、外部メモリに前記対応するDQ信号を駆動するように構成されている請求項1記載の集積回路。 - 前記外部メモリは、ダイナミックランダムアクセスメモリ(DRAM)である請求項2記載の集積回路。
- 前記DQエンドポイントと前記メモリ制御装置との間に結合されているバッファされるDQ読み取りバスをさらに具備する請求項2記載の集積回路。
- 前記バッファされるCAバスは、非デフォルトルーティングルールにしたがってルーティングされる複数の金属層トレースに結合されている複数のバッファを備える請求項1記載の集積回路。
- メモリクロック信号を提供するように構成されているクロックソースをさらに具備し、
前記メモリ制御装置は、前記メモリクロック信号の第1のサイクルに応答して、前記最初の時間に、前記バッファされるCAバスに前記書き込みコマンドを駆動するように構成され、
前記メモリ制御装置は、前記メモリクロック信号の第2のサイクルに応答して、前記遅延差期間の満了において、前記パイプライン化DQ書き込みバスに前記DQ信号を駆動するようにさらに構成されている請求項1記載の集積回路。 - 前記パイプライン化DQ書き込みバスは、複数の第1のレジスタと複数の第2のレジスタとを備え、
前記第1のレジスタは、前記メモリクロック信号の立ち上がりエッジによってクロックされるように構成され、
前記第2のレジスタは、前記メモリクロック信号の立ち下がりエッジによってクロックされるように構成されている請求項6記載の集積回路。 - 前記パイプライン化DQ書き込みバスは、複数のレジスタと複数の対応するマルチプレクサとを備え、
各マルチプレクサは、前記対応するレジスタからの出力信号に対して、および、前記対応するレジスタをバイパスするバイパスパスに対して、選択するように構成され、
前記メモリ制御装置は、前記マルチプレクサによる前記選択を制御して、前記パイプライン遅延を調節するように構成されている請求項6記載の集積回路。 - 前記パイプライン遅延は、メモリクロックサイクルの整数Pに等しく、前記書き込み待ち時間要件は、前記メモリクロックサイクルの整数WLに等しく、前記遅延差期間は、WLとPとの差に等しい請求項6記載の集積回路。
- 前記メモリ制御装置は、メモリクロックでクロックされることに応答して、前記遅延差期間を測定するように構成されているDQタイマを備える請求項6記載の集積回路。
- 前記メモリ制御装置は、前記書き込み待ち時間要件における変化に応答して、前記パイプライン化DQ書き込みバスに対するパイプライン遅延を調節するように構成されている請求項1記載の集積回路。
- 方法において、
最初の時間において、メモリ制御装置から、バッファされるコマンドバスを通して、第1の入力/出力(I/O)エンドポイントに、コマンド信号を駆動することと、
外部メモリに対する書き込み待ち時間要件とパイプライン化データバスを通してのパイプライン遅延との間の差に等しい遅延を決定することと、
前記最初の時間からの前記遅延の満了において、前記メモリ制御装置から、前記パイプライン化データバスを通して、第2のI/Oエンドポイントに、データ信号を駆動することとを含む方法。 - 前記メモリ制御装置から、前記第2のI/Oエンドポイントに、クロック信号を駆動することをさらに含み、
前記方法は、前記クロック信号に応答して、前記第2のI/Oエンドポイントにおいて、前記データ信号をラッチすることをさらに含む請求項12記載の方法。 - 前記第2のI/Oエンドポイントから、前記外部メモリに、前記ラッチされたデータ信号を送信して、前記書き込み待ち時間要件を満たすことをさらに含む請求項13記載の方法。
- 前記コマンド信号を駆動することは、書き込みコマンド信号を駆動することを含む請求項12記載の方法。
- 前記最初の時間おいて、前記書き込みコマンド信号を駆動することは、クロック信号の第1のサイクルに応答する請求項15記載の方法。
- 前記書き込み待ち時間要件における変化に応答して、前記パイプライン遅延を変更することをさらに含む請求項12記載の方法。
- 前記パイプライン遅延を変更することは、前記パイプライン化データバス内の複数のマルチプレクサを制御することを含む請求項16記載の方法。
- 集積回路において、
メモリ制御装置と、
パイプライン遅延なく、前記メモリ制御装置から、コマンドおよびアドレス(CA)エンドポイントに、書き込みコマンド信号を伝搬する第1の手段と、
パイプライン遅延を有して、前記メモリ制御装置から、書き込みデータ(DQ)エンドポイントに、DQ信号を伝搬する第2の手段とを具備し、
前記メモリ制御装置は、外部メモリに対する書き込み待ち時間期間とパイプライン遅延との間の遅延差期間を決定し、前記遅延差期間の満了の際に、前記DQ信号を伝搬する手段に前記DQ信号を駆動する第3の手段を備える集積回路。 - 前記第3の手段は、メモリクロック信号のサイクルに応答して、前記遅延差期間を測定するように構成されている請求項18記載の集積回路。
- 前記第2の手段は、前記パイプライン遅延を有して、前記メモリ制御装置から、対応する複数のDQエンドポイントに、複数のDQ信号を伝搬するように構成されている請求項18記載の集積回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/861,114 | 2015-09-22 | ||
US14/861,114 US20170083461A1 (en) | 2015-09-22 | 2015-09-22 | Integrated circuit with low latency and high density routing between a memory controller digital core and i/os |
PCT/US2016/050824 WO2017053079A1 (en) | 2015-09-22 | 2016-09-08 | INTEGRATED CIRCUIT WITH LOW LATENCY AND HIGH DENSITY ROUTING BETWEEN A MEMORY CONTROLLER DIGITAL CORE AND I/Os |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018532193A true JP2018532193A (ja) | 2018-11-01 |
Family
ID=56940443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018515134A Pending JP2018532193A (ja) | 2015-09-22 | 2016-09-08 | メモリ制御装置デジタルコアとi/oとの間の短い待ち時間および高密度ルーティングを有する集積回路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20170083461A1 (ja) |
EP (1) | EP3353665A1 (ja) |
JP (1) | JP2018532193A (ja) |
KR (1) | KR20180054778A (ja) |
CN (1) | CN108027788A (ja) |
WO (1) | WO2017053079A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230070323A (ko) * | 2021-10-09 | 2023-05-22 | 션전 마이크로비티 일렉트로닉스 테크놀로지 컴퍼니 리미티드 | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468925B2 (en) | 2018-12-03 | 2022-10-11 | Rambus Inc. | DRAM interface mode with improved channel integrity and efficiency at high signaling rates |
CN110286860B (zh) * | 2019-06-28 | 2021-06-15 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
CN110286711B (zh) * | 2019-06-28 | 2021-04-13 | 联想(北京)有限公司 | 信息处理方法、信息处理装置、存储装置和电子设备 |
CN110569211B (zh) * | 2019-09-02 | 2022-09-13 | 飞腾信息技术有限公司 | 片上系统内部通讯方法 |
US11914863B2 (en) * | 2021-07-22 | 2024-02-27 | Rambus Inc. | Data buffer for memory devices with unidirectional ports |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59168999A (ja) * | 1983-03-17 | 1984-09-22 | Nec Corp | メモリ監視回路 |
US6834378B2 (en) * | 2002-10-03 | 2004-12-21 | International Business Machines Corporation | System on a chip bus with automatic pipeline stage insertion for timing closure |
US7290107B2 (en) * | 2004-10-28 | 2007-10-30 | International Business Machines Corporation | Direct deposit using locking cache |
US8654556B2 (en) * | 2008-03-31 | 2014-02-18 | Montage Technology Inc. | Registered DIMM memory system |
US8097956B2 (en) * | 2009-03-12 | 2012-01-17 | Apple Inc. | Flexible packaging for chip-on-chip and package-on-package technologies |
JP2010282511A (ja) * | 2009-06-05 | 2010-12-16 | Elpida Memory Inc | メモリモジュール及びこれを備えるメモリシステム |
US8930597B1 (en) * | 2010-06-02 | 2015-01-06 | Altera Corporation | Method and apparatus for supporting low-latency external memory interfaces for integrated circuits |
US8400845B2 (en) * | 2011-01-06 | 2013-03-19 | International Business Machines Corporation | Column address strobe write latency (CWL) calibration in a memory system |
US20120239874A1 (en) * | 2011-03-02 | 2012-09-20 | Netlist, Inc. | Method and system for resolving interoperability of multiple types of dual in-line memory modules |
CN104143356B (zh) * | 2014-07-25 | 2017-11-07 | 记忆科技(深圳)有限公司 | 一种具有存储控制器的dram |
-
2015
- 2015-09-22 US US14/861,114 patent/US20170083461A1/en not_active Abandoned
-
2016
- 2016-09-08 WO PCT/US2016/050824 patent/WO2017053079A1/en active Application Filing
- 2016-09-08 EP EP16766791.4A patent/EP3353665A1/en not_active Withdrawn
- 2016-09-08 CN CN201680054673.2A patent/CN108027788A/zh active Pending
- 2016-09-08 JP JP2018515134A patent/JP2018532193A/ja active Pending
- 2016-09-08 KR KR1020187010997A patent/KR20180054778A/ko unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230070323A (ko) * | 2021-10-09 | 2023-05-22 | 션전 마이크로비티 일렉트로닉스 테크놀로지 컴퍼니 리미티드 | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 |
KR102575572B1 (ko) | 2021-10-09 | 2023-09-06 | 션전 마이크로비티 일렉트로닉스 테크놀로지 컴퍼니 리미티드 | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP3353665A1 (en) | 2018-08-01 |
WO2017053079A1 (en) | 2017-03-30 |
CN108027788A (zh) | 2018-05-11 |
KR20180054778A (ko) | 2018-05-24 |
US20170083461A1 (en) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018532193A (ja) | メモリ制御装置デジタルコアとi/oとの間の短い待ち時間および高密度ルーティングを有する集積回路 | |
JP5819027B2 (ja) | メモリアクセス遅延トレーニングのための方法および装置 | |
KR101653035B1 (ko) | 데이터 블록에 명령을 제공하기 위한 명령 경로, 장치, 및 방법 | |
JP5238747B2 (ja) | ハブベースのシステムメモリにおける書込みコマンドを終了させる方法とシステム | |
JP6123017B2 (ja) | 可変レイテンシーメモリ動作用装置および方法 | |
TWI453593B (zh) | 網路架構控制電路及用於實現服務品質(QoS)的系統及方法 | |
US20160322964A1 (en) | Methods and apparatuses including command latency control circuit | |
KR100780962B1 (ko) | 다이나믹 odt 모드 테스트 방법 및 그 방법을 사용하는odt 모드 테스트 회로 | |
TW201539984A (zh) | 延遲線電路及其延遲方法 | |
JP2011060372A (ja) | 半導体装置及びこれを備えるデータ処理システム | |
JP5344408B2 (ja) | 高速dram中の信号を処理するためのシステムおよび方法 | |
JP2009237678A (ja) | メモリコントローラデバイス、メモリコントローラデバイスの制御方法およびデータ受信デバイス | |
JP6316977B2 (ja) | 干渉試験 | |
JP2012108979A (ja) | 半導体装置 | |
JP2010146252A (ja) | Ddrメモリコントローラ | |
TW201535412A (zh) | 具有繞回性至連續性讀取之記憶體子系統 | |
US9378791B2 (en) | Apparatuses and methods for controlling a clock signal provided to a clock tree | |
JP4757582B2 (ja) | データ転送動作終了検知回路及びこれを備える半導体記憶装置 | |
JP2004253123A (ja) | (n/2)ステージを有するアドレスバッファ | |
US20160180901A1 (en) | Data strobing circuit and semiconductor apparatus using the same | |
KR102326661B1 (ko) | 이퀄라이저 장치 및 이를 포함하는 메모리 장치 | |
US9571081B2 (en) | Strobe signal generation circuit and semiconductor apparatus using the same | |
TWI837222B (zh) | 時脈產生電路以及包含時脈產生電路的記憶體裝置 | |
US20230214669A1 (en) | Hybrid search to train memory and high-speed input/output interfaces | |
US9355707B2 (en) | Gapless pattern detection circuit and semiconductor device including the same |