
コンピューティングにおいて、ダブルデータレート(DDR)とは、クロック信号の立ち上がりエッジと立ち下がりエッジの両方でデータを転送するコンピュータバスを指し、クロックサイクルごとにデータを2回転送することでメモリ帯域幅を2倍にします。[ 1 ] [ 2 ]これは、ダブルポンプ、デュアルポンプ、ダブルトランジション とも呼ばれます。トグルモードという用語は、NANDフラッシュメモリの文脈で使用されます。
クロック付き電子回路を設計する最も簡単な方法は、クロック信号の1サイクル(立ち上がりと立ち下がり)ごとに1回の転送を実行するようにすることです。しかし、この方法では、クロック信号は転送ごとに2回変化するのに対し、データラインは転送ごとに最大1回しか変化しません。高帯域幅で動作する場合、信号品質の制限によりクロック周波数が制限されます。 クロックの両端を使用することで、データ信号は同じ制限周波数で動作し、データ伝送速度を2倍にすることができます。
この技術は、マイクロプロセッサのフロントサイドバス、Ultra-3 SCSI、拡張バス(AGP、PCI-X [ 3 ])、グラフィックスメモリ(GDDR)、メインメモリ(RDRAMとDDR1からDDR5まで)、およびAMDのAthlon 64プロセッサのHyperTransportバスに使用されてきました。最近では、アナログ-デジタルコンバータ(ADC)の出力など、高速データ転送速度が要求される他のシステムにも使用されています。[ 4 ]
DDRは、各メモリチャネルが同時に2つのRAMモジュールにアクセスするデュアルチャネルとは混同してはならない。これら2つの技術は互いに独立しており、多くのマザーボードはDDRメモリをデュアルチャネル構成で使用することで、両方の技術を採用している。
ダブルポンピングやクワッドポンピングの代替手段として、自己クロック信号を使用する方法がある。この方法は、InfiniBandやPCI Expressで採用されている。
ダブルポンプバスの帯域幅を説明するのは紛らわしい場合があります。各クロックエッジはビートと呼ばれ、1サイクルあたり2ビート(アップビートとダウンビート)があります。厳密には、ヘルツは1秒あたりのサイクル数の単位ですが、多くの人は1秒あたりの転送回数を指します。通常、注意深く使用する場合は「500 MHz、ダブルデータレート」または「1000 MT/s 」と表現しますが、500 MHzより速い信号サイクルは存在しないにもかかわらず、多くの人が気軽に「1000 MHzバス」と表現します。
転送に文字「T」を使用するのは技術的に誤りです。Tは国際単位系で磁束密度の単位であるテスラに割り当てられているため、「MT/s」は磁場強度の変化率です。しかし、このような急速な磁場変化はキッカー磁石設計の専門分野に限られており、このような磁石は0.03 Tの磁場0.3 μs、[ 5 ]レート0.1 T/μs =0.1 MT/s の場合、実際には曖昧さは問題になりません。
DDR SDRAMは、バス帯域幅をメガバイト/秒(MB/秒)で表す手法を普及させました。これは、転送速度とバス幅(バイト単位)の積です。100MHz クロックで動作するDDR SDRAMは、データ転送速度が200MT/秒であることからDDR-200と呼ばれ 、同じデータ転送速度で動作する64ビット(8バイト)幅のDIMMは、ピーク(理論値)帯域幅が1600MB/秒であることからPC-1600と呼ばれます 。同様に、 転送速度が12.8GB/秒のDDR3-1600はPC3-12800と呼ばれます。
DDRモジュールの一般的な名称の例をいくつか挙げます。
DDR SDRAM は、データラインでのみダブルデータレート信号を使用します。アドレス信号と制御信号は、クロックサイクルごとに 1 回(正確にはクロックの立ち上がりエッジで) DRAM に送信され、CAS レイテンシなどのタイミングパラメータはクロックサイクルで指定されます。あまり一般的ではない DRAM インターフェイス、特にLPDDR2、GDDR5、およびXDR DRAMも、ダブルデータレートを使用してコマンドとアドレスを送信します。DDR5 は、各 DIMM に対して 2 つの 7 ビットダブルデータレートコマンド/アドレスバスを使用し、レジスタ付きクロックドライバ チップが各メモリ チップに対して 14 ビット SDR バスに変換します。