DRAMのDLL/PLL

背景

CPU速度の増加に伴い、メモリ性能がシステム性能のボトルネック要因となりました。 システム性能を向上させるためには、メモリ性能も向上させなければなりません。 メモリ性能を向上させる場合の重要な点は、メモリシステム内のDRAMとデータを送受信する速度の向上です。 1990年初頭、RambusはDLLとPLLを組み込んだ最初のDRAMを設計しました。これは500MHzの信号速度を実現する重要な革新技術であり、当時一般的だったDRAM転送速度よりも8倍以上も高速でした。

最近のシステムでは、同期通信を使うことによって、メモリシステム内のDRAMとの高速データ転送を可能にしています。 同期通信を行うシステムは、この基準との既知の相関を使って、データの送受信ができるようにクロック信号をタイミング基準として使用します。 この相関を維持する場合の問題は、プロセス、電圧および温度の変化によって、クロック信号とデータ信号間の時差相関が変化することがあり、それによって、タイミングマージンが減少するということです。 信号速度の向上に伴ってこの問題は悪化し、高速時におけるシステムのデータ通信能力を制限するようになります。

プロセス、電圧および温度の変化による、データ有効ウィンドウへの影響

低速および高速の信号速度時において、プロセス、電圧および温度がタイミングマージンにどのように影響を与えるかを図1に示します。 低速の信号速度の場合(図1の左側)、データPVT1 は、特定の動作条件におけるデータ有効ウィンドウ(受信機が確実にデータをサンプリングできる期間)とクロックの相関関係を示しています。 同じようにデータPVT2は、別の動作条件におけるデータ有効ウィンドウとクロック間の相関関係を示しています。 この2つの動作条件は、デバイスが動作する運用上の極端なケースを表しています。 一般的に受信機の回路では、送信機でのプロセス、電圧および温度の変化により、データ有効ウィンドウがどのように変化するかは認識されません。 このため、受信機の回路は、全ての動作許容条件において、データが有効なタイムウィンドウ内でデータをサンプリングするように設計されています。 データPVT1とデータPVT2が(クロック信号との相対により)最新のデータ有効ウィンドウを表している場合、受信機側においては、データ有効ウィンドがこの2つのデータの交点であるという前提で、このデータ有効ウィンドウ内でサンプリングポイントが選択されます。このデータ有効ウィンドウはプロセス、電圧、および温度が変化しても有効です。

図1には、低速信号時では、データ有効ウィンドウ(受信機が確実にデータを受信できる期間)が大きくなる可能性があることも示されています。 動作上の究極的なケースでデータ有効ウィンドウに大きな変化があっても、生成されるデータ有効ウィンドウはデータの送受信が確実に実行するのに十分な大きさがあります。 これはSDRAMなどのDRAMテクノロジの場合です。 ただし、RDRAMやDDRなどの高速DRAMテクノロジの場合、プロセス、電圧、および温度の変化により、データ有効ウィンドウが失われる可能性があります。 図1の右側には、高速信号時において、データPVT1とデータPVT2のデータ有効ウィンドウが小さくなり、高速な信号速度で短時間に情報を送信しなければならないという事実が示されています。 データ有効ウィンドウは小さくなりますが、(製造上の改善や動作環境での変化がないと仮定した場合)ウィンドウはプロセス、電圧、および温度の変化に伴い、同じだけシフトします。 データ有効ウィンドウは小さくなるため、受信機の回路が確実にデータをサンプリングできる期間中、生成されたデータ有効ウィンドウの交点によって、データ有効ウィンドウがさらに生成されることはありません。

データ有効ウィンドウの縮小の原因となるタイミング変化のソース

図1に示ししたタイミングシフトのソースの1つを図2に示します。 プロセス、電圧、および温度が変化すると、出力ロジックと出力ドライバのタイミング特性が変化するため、データ有効ウィンドウがシフトします。 高速でデータの送受信を行うには、このタイミングの変化に対処しなければなりません。

DLLとPLLとは

DLL(Delay Lock Loop)およびPLL(Phase Lock Loop)の使用目的はほとんど同じで、処理、電圧、および温度の変化によって時間の経過と共に信号間の関係に変化が生じる環境において、信号間の固定タイミングを維持することです。 DLLとPLLは、2つの信号間の関係を継続的に比較し、信号間のタイミングを調整して維持するようにフィードバックを返すことによって動作します。 RambusのDRAMはDLLとPLLを組み込んだ最初のDRAMで、これは他のDRAMテクノロジと比較して、信号速度の向上をもたらす重要な革新的技術でした。

DLLの使用によるデータ有効ウィンドウの速度向上

図3に、クロック信号と出力データ信号間の時差相関の維持を目的としたDLLの使用方法を示します。 DLLの重要な要素は、位相検出器です。位相検出器は、クロックと出力データ間の位相の違いを検出します。 位相検出器は、このような位相の違いを検出して、目的の時差相関を維持するため、ローパスフィルタを介して、内部クロックのタイミングを調整するさまざまな遅延線へ制御情報を送信します(PLLは電圧制御発振器を使って、この時差相関を調整します)。 こうした2信号間の位相関係を維持することが難しい理由の1つは、位相検出器にフィードバックを提供するループによって、出力ロジックと出力ドライバのタイミング特性を処理しなければならないということです。 出力ドライバによって駆動されるクロックとデータ間の位相差違はループによって推定されるため、これは重要です。 これを実現するため、出力ロジックと出力ドライバの動作特性を模倣する回路を、このフィードバックループに挿入して、タイミング遅延モデル化と、処理、電圧、および温度の変化による動作の変更を行います。 DLLとPLLを使用して、このようにクロックと出力データ間の時差相関を維持することにより、タイミングマージンが向上し(図4参照)、信号速度の向上に対する重要な制限が対処されます。

PLLはDLLに似ていますが、外部システムクロック周波数の分周や逓倍に使用して、チップの他の部分で使用することができます。 PLLは、インタフェイスが高速のクロック周波数で動作している場合でも、DRAMのコアに低速のクロック周波数を提供することができます。 PLLをこのように使用することにより、DRAMコアのプリフェッチが可能になります。このため、システムパフォーマンスを向上させるためにインタフェイスは高速で動作させたまま、DRAMコアは低速の周波数で動作できるようになります(DRAMの歩留まりが向上します)。

DLLの使用によるタイミングマージンの向上

1993年、Rambusは500MHz PLL設計の詳細を、回路設計の最高会議である国際固体素子回路会議(ISSCC:International Solid State Conference)で発表しました。 1年後の1994年、Rambusは500MHz DLLの詳細に関する論文を、ISSCCにおいて発表しました。 どちらの論文も、論文に記述されている草分けとなる革新技術が認められて、栄えあるBest Paper賞を受賞しました。

Who Benefits?

DRAMにDLLとPLLを組み込むことによって、以下に示すさまざまなグループに利益をもたらします。

  • エンドユーザ: クロック信号とデータ信号間のタイミングが固定されるため、DRAM性能が向上し、それに伴いシステム性能も向上します。
  • DRAMメーカ: プロセス、電圧、および温度の変化により時差相関の調整が行われるため、タイミングマージンの向上により、DRAMの歩留まりが向上し、生産コストを削減できます。
  • コントローラとボードの設計者: DLLとPLLを使うことにより端子単位で高い転送速度が実現できるため、コントローラの設計者は、I/O端子数を減らすことができ、これにより、実装コスト、コンポーネント数、ルーティングエリア、およびルーティングの複雑さが軽減されます。
  • システムインテグレータ: DLLとPLLの機能のおかげで時差相関が固定されるため、コンポーネントメーカやシステムインテグレータは、仕様を緩和できます。 温度特性や電圧特性が変動するシステムでは、システムの温度要件と電力要件を緩和しても、DRAMは優れたタイミングマージンを維持することができます。同時に、サーマルソリューション、電源、およびシステム製造の各コストも削減できます。
さらに詳細の情報をリクエストする