可変バースト長

背景

多種多様のコンピュータシステムでDRAMが使用されています。 異なった種類のコンピュータシステムが同一のDRAMを使用する場合の利点は、規模の経済によって設計費用および製造費用が償却されることです。 異なったコンピュータ使用分野でもDRAM性能の要件が似通っている場合もありますが、それぞれのコンピュータ使用分野で独自の要件も存在します。 このような要件の1つに、メモリの読み込み/書き込みの処理でのデータ転送量、バースト長があります。 コンピュータ使用分野には、比較的短いバースト長が必要なメモリシステムアーキテクチャを用いるものがある一方、比較的長いバースト長を用いるものもあります。 さまざまなユーザが満足できることを目的にした新しい技術では、DRAMでバースト長を変えられるようになりました。 可変バースト長では、システムの要件に応じて使用するバースト長をコンピュータシステムで選択できます。 Rambusは1990年代の初期に可変バースト長を用いた最初のDRAMを発表しました。これによって、システム製品製造会社は1回の要求でのデータ転送量を自由に設定できるようになりました。 可変バースト長が採用されることによって、1つのDRAMが複数のシステムアーキテクチャに対応できるように設計および製造できるようになり、その結果費用が低減されるとともにシステムの柔軟性が大幅に向上しました。

フラッシュメモリは、多くのコンピュータシステムで使用されるもう1つの一般的なメモリ技術です。 可変バースト長は、数種のフラッシュメモリ装置でも採用されています。 可変バースト長は、DRAMメモリ装置とフラッシュメモリ装置では類似した方法で動作し、これらの機能を用いてシステムに同様の利益をもたらします。

可変バースト長とは

DRAMがメモリ読み込み要求を受け取ったとき、返すデータはメモリバスの各信号線に乗せられます。 要求に対して返される転送データブロックの大きさは、DRAMのバースト長によって決まります。 図1では、バースト長が4の場合とバースト長が8の場合が示されています。 図でわかるように、バースト長8(図1の後半)を用いたDRAMでは、バースト長4を用いたDRAMで読み込み要求に対して返される場合と同じデータ量が、2回で返されています。

図1. バースト長4および8を用いた読み込み処理

図1の説明のように、DRAMからの読み込みまたは書き込みのために転送する要求データ量が異なるメモリシステムで、同一のDRAMを使用する場合に可変バースト長は有効です。 バースト長4を用いたDRAMは2回の読み込み処理を実行して信号線ごとに8ビットのデータを転送するために使用できますが、このためには2回の転送を開始するためにアドレスと制御信号の帯域幅も2回要求します。 アドレスや制御信号の帯域幅が制限されているシステムでは、最大のデータスループットを確保するために十分なアドレス/制御信号の帯域幅を得ることが困難な場合があります(二重バス速度テクノロジの情報を参照)。 可変バースト長では、データ転送に必要なアドレスおよび制御信号の帯域幅の数を削減することによってこの問題を解決しています。

図2および3では、同一のDRAM装置を使用した2つの異なるメモリシステムで可変バースト長をどのように使用できるかを示しています。 図2のコンピュータシステムにはCPU、メモリコントローラ、およびメモリが含まれており、これらがメモリモジュール上に置かれています。 このシステムは、小さなフォームファクタまたは最小規模のPCに対応している可能性があります。 このシステムでは、メモリバスのデータ部は64ビット幅になっていて、CPUは64バイト単位でデータアクセスします。これは、CPUの内部キャッシュ内のキャッシュラインの大きさに対応しています。 このシステムの効率を最適化するために、DRAMはメモリコントローラによってバースト長8を使用するように設定されます。これは、この設定によって64バイトのデータブロックがメモリコントローラからの1回の要求に対応するだけでメモリから転送できる(8x64ビット=64バイト)ためです。

図2. DRAMバースト長8を用いた小さなフォームファクタ/小規模PC

図3は、大規模PC、ブレード、またはサーバに見られるアーキテクチャを図示しています。 このメモリシステムでは、メモリバスのデータ部は128ビット幅になっています。 このシステムでは図2のシステムの2倍のデータ線を使用していますが、どちらのアーキテクチャも同じデータブロックサイズ要件を持つ同一CPUを使用できるので、CPU製造会社は1つのCPUデザインを複数の市場に対して投入できます。 このシステムでは、バースト長が8に設定された場合、メモリコントローラからの1回の要求に対応してメモリモジュールでは128バイトが処理されます。これは、CPUの要求より多くメモリの帯域幅の無駄遣いになります。 しかし、メモリ装置のバースト長を4(4x128ビット=64バイト)に設定できる柔軟性を持たせることによって、各メモリ装置の出力はバースト長が8のときの半分になります。 これにより、必要なデータを1回の要求で得られるとともに不必要な余剰データの発生がなくなり、メモリコントローラによってメモリシステムの効率を最大にすることが可能になります。

図3. DRAMバースト長4を用いた大規模PC/ブレード/サーバ

可変バースト長によって同一DRAM装置を複数のシステムアーキテクチャで使用でき、必要なDRAM装置およびモジュールアーキテクチャの数を削減できます。 同一DRAM装置を多くのシステムで使用できることにより製造費用および在庫費用が削減でき、システム製品製造会社だけでなく消費者にも利益があります。 可変バースト長で実現する柔軟性によって、システムの必要性に最も適したバースト長の値が確実に使用され、これによって制御信号の帯域幅を削減しメモリバスを効率的に使用できます。

だれが利益を得るか

以下は、可変バースト長によってどのような人達が利益を得るのかを示しています。

  • CPU設計者。 可変バースト長によって、単一のDRAMまたはフラッシュメモリのデザインを複数のメモリシステムアーキテクチャに使用できます。 これによってCPUを複数の市場に対応した設計にでき、これによって規模の経済にもとづいて開発費用と製造費用を軽減でき、在庫費用も減らすことができます。
  • システム製品製造会社。 複数の市場に製品を投入しているシステム製品製造会社は、複数の製品ラインに対して1つのDRAMまたはフラッシュメモリを採用して在庫すればすむようになります。 これによって在庫管理費用が削減できます。
  • メモリ製造会社 可変バースト長を使用することで、メモリ製造会社は1つのDRAMまたはフラッシュメモリのデザインを複数の市場に投入でき、CPU設計者が得る利益と同様の費用面での利益(開発、製造、および在庫費用の削減)を得ることができます。
さらに詳細の情報をリクエストする