説明

多重データレートRAMメモリコントローラ

多重データレートRAMメモリモジュールのメモリコントローラを備える。前記コントローラは、参照クロック(ref clk)から異なるクロック位相(clk、clk90、clk180)を生成するためのPLLユニット(PLL)を含む。さらに、ストローブ信号(dqs)を遅延させるための制御可能な遅延ユニット(CDU)を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多重データレートRAMメモリコントローラ及び上記メモリコントローラを含むデータ処理システムに関する。
【背景技術】
【0002】
マイクロプロセッサの処理速度の増加に伴い、メモリアーキテクチャも改善していかなければならない。例えば、2重データレート(DDR)同期式ダイナミックランダムアクセスメモリSDRAMのコントローラは、一般的に、標準的なDDR SDRAMメモリ装置に対するインタフェースを含む。コントローラは、SDRAMへのアクセスを制御するために設けられ、バス調停、コマンド解釈、バンクインターリービング及び時間制御を行う機能を果たす。コントローラは、DDRデータバスからの書き込み及び読み出しを行うときに、DDRインタフェースに指示する。インタフェース、すなわち、DDRインタフェースは、双方向DDRデータバスを保持し、全てのアドレス及びSDRAMに対するコマンド信号をアサートする。
【0003】
図6では、DDR SDRAMとASICコントローラの間のインタフェースの基本的な説明が示される。特に、よく知られたインタフェース信号が示される。ASICコントローラは、クロック信号clkp、clkn、アドレス及びコマンド信号addr/cmd、並びにマスク信号dqmを発行する。データ信号dqだけでなくストローブdqsが、書き込みコマンドのためのASICコントローラ又は読み出しコマンドのためのSDRAMから発生しても良い。
【0004】
図7は、図6のインタフェース信号の一致するタイミングを示す。特に、書き込み及び読み出しコマンドwrt、rdのタイミングが図示される。クロックサイクル毎に1ピンあたり2ビットが転送される。クロック信号の上昇エッジ及び下降エッジは、ストローブ信号dqsを伴うデータを取り込むために使用される。このストローブは、クロックclkpと同じ周波数を有する。遅延補償を実現するために、ストローブdqsはデータと共に伝わる。従って、インタフェースは、最大で450Mbit/s/pin、又はそれより高速で処理され得る。ストローブ信号dqsは、データソースにより生成される。従って、データを読み出すためのメモリ装置SDRAM及びデータを書き込むためのコントローラがストローブ信号dqsを生成する。ストローブ信号dqsとデータdqの間の配列は、読み出し及び書き込みコマンドと異なることに注目されたい。
【0005】
図8では、先行技術に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図が示される。特に、位相ロックループPLLユニットPLL及び遅延ロックループDLLユニットDLLが図示される。PLLユニット及びDLLユニットは直列に接続され、PLLユニットはクロック信号clkをDLLユニットに出力する。DLLユニットは、プロセッサとSDRAMの間のクロックスキューを取り除き、図6及び7に図示された書き込み信号を生成するため、又は読み出しデータを取り込むためのクロック信号clkから多重クロック位相を生成する働きをする。インタフェースロジック(図示されない)に必要とされる位相は、クロック信号clk、clk90(90°)、clk180(180°)及びストローブ信号dqs90(90°)、dqs270(270°)である。ストローブ信号DQSは、外部メモリから発生し、データを読み出している間のみ存在する。
【0006】
DLLユニットDLLは、マスタDLLユニットMDLL及びスレーブDLLユニットSDLLを含む。マスタDLLは、フィードバックループを有するDLLユニットであるので、PLLユニットPLLの受信クロック信号clkに対してロックすることができる。従って、DLLユニットの遅延線の遅延は、クロック周期の遅延に一致する。スレーブDLLユニットSDLLの遅延線は、次に、マスタDLLユニットMDLLの遅延線に一致する。
【0007】
スレーブDLLユニットSDLLは、受信データを取り込むために使用され得るように、受信ストローブ信号DQSを90度位相、すなわち、4分の1クロック周期シフトするために使用される。結果として、ストローブ信号の位相シフトは4分の1クロック周期に極めて正確に等しくなるが、このことは、タイミングが極めて重大になることから重要である。
【0008】
上記のクロック位相の全ては、主にフリップフロップから成るインタフェースロジックに必要とされることに注目されたい。このロジックは、書き込み信号を生成し、読み出しデータを取り込む働きをする。各クロック位相の明確な目的はクロック位相の生成に関係しないので、詳細な説明は省略する。
【0009】
しかしながら、上記の解決方法におけるDLLユニットは、かなりの量のチップ面積及び電力を消費する。このことは、とりわけ、モバイルDDR SDRAMのインタフェースの解決方法にとって次第に問題となってきている。
【0010】
従って、本発明の目的は、必要とされるチップ面積及び電力消費を低減した多重データレートRAMのメモリコントローラを提供することである。
【0011】
この目的は、請求項1に記載の多重データレートRAMメモリコントローラ、及び請求項8に記載のデータ処理システムにより達成される。
【0012】
従って、多重データレートRAMメモリモジュールのメモリコントローラを備える。上記コントローラは、参照クロックREFCLKから異なるクロック位相clk、clk90、clk180を生成するためのPLLユニットPLLを含む。さらに、ストローブ信号dqsを遅延させるための制御可能な遅延ユニットCDUを備える。
【0013】
従って、異なるクロック位相clk、clk90及びclk180は、例えば、先行技術にあるようなDLLユニットの代わりにPLLから生成される。さらに、先行技術の複数のDLLユニットが単一の遅延素子に置換されるので、導入コストもより安い。
【0014】
本発明の態様によれば、制御可能な遅延ユニットCDUの遅延が上記PLLユニットPLLの遅延に一致する。従って、より安価な実施が、必要とされる精度を犠牲にすることなく実現される。
【0015】
本発明の好ましい態様によれば、上記制御可能な遅延ユニットCDUは、ストローブ信号dqsを90度遅延させるために適応させられる。
【0016】
本発明の追加の態様によれば、上記PLLユニットPLLは、2つの単一遅延ユニットCDU1を有する4位相発振器OSCを含む。従って、4位相の供給は、より小さいチップ面積を要件として実施されても良い。
【0017】
さらに、本発明の追加の態様によれば、上記PLLユニットPLLは、さらに、制御信号Vctrlを出力する位相比較器COMPを含み、全ての遅延ユニットCDU、CDU1が、入力信号として上記制御信号Vctrlを受け取る。従って、DDR SDRAMに対するインタフェースの信号は正確に時間制御され得る。
【0018】
本発明は、また、上記メモリコントローラの1つを含むデータ処理システムにも関する。
【0019】
本発明の追加の態様は、従属請求項に記載される。
【0020】
上記及びその他の本発明の態様は、下記の実施例から明らかになり、下記の実施例を参照することにより解明されるであろう。
【発明の開示】
【0021】
図1は、第1の実施例に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図を示す。上記コントローラは、例えば、単一チップ上又は複数チップ上のデータ処理システムにおけるプロセッサとDDR SDRAMメモリモジュールの間に配置される。コントローラは、PLLユニットPLLと、制御される遅延ユニットCDUと、を含む。これらのユニットは、図8の対応するユニットと同じ機能を実行するものであり、すなわち、メモリからデータが読み出されるときに、異なるクロック位相clk、clk90及びclk180、並びにストローブ信号dqs90、dqs270の異なる位相を供給するものである。ここでは、制御可能なユニットCDUの遅延は、PLLユニットの90度遅延素子の遅延に一致させられている。
【0022】
図2は、図1のPLLユニットの発振器OSCの略ブロック図を示す。発振器は、2つの遅延ユニットCDUを含む。2つの制御される等価の遅延ユニットCDUの遅延は、制御電圧Vctrlにより制御される。各遅延ユニットは、1/4Tの遅延、すなわち、入力クロックclkに対して90度の遅延を導くことができる。発振器の周波数は、単一遅延素子CDUの遅延の4倍になる。
【0023】
図3は、図2の発振器のタイミングを示す。特に、ノードでの信号、すなわち、クロック信号clk、信号clk90(90度シフトされたクロック信号)、信号clk180(180度シフトされたクロック信号)及び信号270(270度シフトされたクロック信号)が示される。
【0024】
図4は、第2の実施例に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図を示す。ここでは、図2の発振器OSC及び制御される遅延ユニットCDUが示される。この構成の目的は、図8の構成の目的に対応するものであって、すなわち、プロセッサとDDR SDRAMメモリの間のインタフェースにおける信号を互いに正確に時間制御することである。発振器OSCは、クロック信号clk、clk90、clk180、clk270、すなわち、クロック信号、並びに90度、180度及び270度シフトされた信号をそれぞれ生成する。遅延ユニットCDUは、制御信号Vctrl及びストローブ信号DQSを入力信号として受け取り、dqs90及びdqs270を出力する。好ましくは、制御される遅延ユニットCDUは、簡素な1/4T遅延ユニットである。従って、受信ストローブ信号は、dqs90及びdqs270信号(90度及び270度シフトされたストローブ信号)をそれぞれ生成するために遅延させられる。従って、図8に初めて示された全ての位相が存在する。制御電圧Vctrlは、PLLのフィードバックループにより制御される。バッファB1−B7は、実際のレイルトゥレイルロジック信号における遅延ユニットCDUの差動(アナログ)信号を変換するために追加される。それらの信号は、(図示されない)上記のインタフェースロジックに使用され得る。
【0025】
3つの遅延ユニットCDU1、CDUの全てに対して制御信号Vctrlが使用されるので、遅延ユニットCDUはPLLユニットの遅延に一致する。
【0026】
図5は、図1のPLLユニットの略ブロック図を示す。位相比較器COMP及び発振器OSCが示される。図2により実施され得る発振器OSCの出力は、位相比較器COMPの入力にフィードバックされ、参照クロックref_clkと比較される。位相比較器COMPは制御電圧Vctrlを出力する。制御電圧Vctrlは、遅延ユニットCDU1、CDUの制御入力としての働きもする。
【0027】
従って、ストローブ信号dqsのようなDDR SDRAMインタフェース信号は、正確に時間制御され得る。さらに、簡素なT/4遅延素子が、例えば、先行技術にあるようなDLLユニットの代わりに用いられ得る。
【0028】
換言すれば、電力及び面積に関して既存の解決方法よりも効果的な外部DDR SDRAMメモリに対する物理的なインタフェースの解決方法が提供される。物理的なインタフェースでは、通常、1つのPLL及び多くのDLLが必要とされる。必要とされるDLLの数は、外部インタフェースの幅に依存する。1バイトあたり1つのDLLが必要とされるので、32ビットインタフェースでは4つのDLLが必要とされる。しかしながら、本発明によれば、複数のDLLが単一の遅延素子に置換される。それらの遅延素子は、電力及び面積に関してより効果的であるので、解決方法の効果を改善する。典型的には、複数のDLL(標準的な遅延素子ではない)が高いタイミング精度を達成するために使用される。しかしながら、この精度は、本発明による影響をほとんど受けない。
【0029】
従って、DDR SDRAMインタフェースの物理的な実施面積及び電力効果が改善される。通常、物理的な実施は、PLLユニット及び4つのDLLユニットを含む。本発明によれば、PLLユニットは、単一の遅延素子を伴う4位相発振器を含む。複数のDLLユニットが単一の遅延ユニットに置換されるので、面積及び電力は、4つのDLLユニットに比べて約8倍も低くなる。先行技術に係るインタフェースでは、クロック周期の一定の端数の極めて正確な遅延を供給するために複数のDLLユニットが使用されるのに対して、本発明に係る単一の遅延ユニットは、その精度を維持するPLLユニットの遅延に一致させられる。
【0030】
上記のコントローラは、標準的なDDR SDRAMと同じ物理的なインタフェース概念を有する、すなわち、1クロックサイクルあたり2ビットが伝送され、1バイトあたり1ストローブが使用され、ストローブとデータの間の配列が等しいので、モバイルDDR SDRAMに実施されても良い。
【0031】
先行技術の複数のDLLユニットは、8つの同程度の遅延素子、すなわち、マスタDLLに4つとスレーブDLLに4つを含むので、1つの遅延ユニットだけの供給により面積利得8という結果をもたらす。複数のDLLを置換する単一の遅延素子の遅延は、4分の1クロックサイクルの遅延を伴うPLLの遅延素子に一致する。
【0032】
追加の本発明の実施例によれば、第1及び第2の実施例に記載されたようなメモリコントローラの構成及び動作は、さらに、4重データレートQDR SRAMに適応させられ、又は実施される。QDRメモリモジュールに関するより詳細な情報は、http://www.qdrsram.comを参照されたい。
【0033】
代替的には、第1及び第2の実施例に係るメモリコントローラの構成及び動作は、他の多重データレートRAMメモリコントローラ、特に、多重データレートSRAMメモリコントローラに実施されても良い。
【0034】
上記の実施例は、本発明を限定するよりもむしろ例示するものであって、当業者は、添付の特許請求の範囲の範囲から逸脱することなしに、多くの代替的な実施例を設計することができる。特許請求の範囲では、括弧内に記載されたいかなる参照符号も請求項を限定するものとして解釈されるべきではない。「含む(comprising)」という語は、請求項に列挙された要素又はステップ以外の存在を除外するものではない。「a」又は「an」という語は、複数の上記要素の存在を除外するものではない。幾つかの手段を列挙する装置クレームでは、これらの手段の幾つかは、同一のハードウェアの項目により実施され得る。特定の手段が互いに異なる従属項に列挙されるという事実のみで、これらの手段の組み合わせが生かされ得ないということを示すわけではない。
【0035】
その上、特許請求の範囲のいかなる参照符号も特許請求の範囲の範囲を限定するものとして解釈されるべきではない。
【図面の簡単な説明】
【0036】
【図1】第1の実施例に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図を示す。
【図2】図1のPLLユニットの発振器の略ブロック図を示す。
【図3】図2の発振器のタイミングを示す。
【図4】第2の実施例に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図を示す。
【図5】図1のPLLユニットの略ブロック図を示す。
【図6】DDR SDRAMとコントローラの間のインタフェースの基本的な説明を示す。
【図7】図6のインタフェース信号の一致するタイミングを示す。
【図8】先行技術に係る多重クロック位相を生成するためのDDR SDRAMコントローラの関連部の略ブロック図を示す。

【特許請求の範囲】
【請求項1】
参照クロックから異なるクロック位相を生成するためのPLLユニットと、
ストローブ信号を遅延させるための制御可能な遅延ユニットと、を含む多重データレートRAMメモリモジュールのメモリコントローラ。
【請求項2】
請求項1に記載のメモリコントローラであって、
前記メモリコントローラは、2重データレートSDRAMメモリモジュールに適応させられるメモリコントローラ。
【請求項3】
請求項1又は2に記載のメモリコントローラであって、
前記制御可能な遅延ユニットの遅延は、前記PLLユニットの遅延に一致するメモリコントローラ。
【請求項4】
請求項1〜3のいずれか1項に記載のメモリコントローラであって、
前記制御可能な遅延ユニットは、ストローブ信号を90度遅延させるために適応させられるメモリコントローラ。
【請求項5】
請求項3又は4に記載のメモリコントローラであって、
前記PLLユニットは、2つの単一の遅延ユニットを有する4位相発振器を含むメモリコントローラ。
【請求項6】
請求項5に記載のメモリコントローラであって、
前記PLLユニットは、さらに、制御信号を出力する位相比較器を含み、
全ての遅延ユニットは、入力信号として前記制御信号を受け取るメモリコントローラ。
【請求項7】
請求項1に記載のメモリコントローラであって、
前記メモリコントローラは、4重データレートRAMメモリモジュールに適応させられるメモリコントローラ。
【請求項8】
請求項1〜7のいずれか1項に記載のメモリコントローラを含むデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2007−536773(P2007−536773A)
【公表日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願番号】特願2007−510212(P2007−510212)
【出願日】平成17年4月26日(2005.4.26)
【国際出願番号】PCT/IB2005/051353
【国際公開番号】WO2005/106888
【国際公開日】平成17年11月10日(2005.11.10)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】