|
|
Direct RDRAMは、SDRAMがFPM-DRAMやEDO-DRAMに取って代わったように、SDRAMに取って代わり主流となることを目指して開発されたRAMの一種です。
SDRAMのデータ幅は64ビット、つまり1クロックで転送できるデータ量は64ビット(8バイト)ですが、Direct RDRAMの登場時のデータ幅は16ビットでした。メモリバスのようなパラレルなバスの場合、バス幅を狭くすると、広い場合よりも信号の遅延などの条件が良くなるため、動作周波数を上げやすくなります。Direct RDRAMはデータ幅を狭めるかわりに動作周波数を向上させ、さらにデータの転送をDDR(Double Data Rate)とすることで転送能力の向上を図っています。当初の駆動クロック周波数は300MHz(PC600)、356MHz(PC700)、400MHz(PC800)というものでした。
Direct RDRAMはまず、Intel820チップセット用のメモリとして採用されました。i820は一世を風靡したIntel440BXの後継と目されていましたが、結局メインメモリとしてDirect RDRAMを採用したことが仇となった形で、あまり普及することもないまま忘れ去られてしまうこととなりました。これについて詳しくは、別の項目(Intel820)で述べています。
PCのメインメモリとしてのDirect RDRAMの登場についてまず書いておかなければならないのは、誰もそれを歓迎しなかったということです。その最大の理由としては、あまりにも価格が高価だったことが挙げられます。Direct RDRAMが登場した頃、広く用いられていた128MBのメモリモジュールの市場での価格は、SDRAM DIMMの1万円台前半に対し、Direct RDRAM RIMMはなんと8万円前後でした。当初、Direct RDRAMは、SDRAMの少なくとも5倍程度の価格だったのです。5倍の価格で5倍といわずとも、せめて2倍程度の性能差があったなら、その性能差に投じるコストを厭わない人も少なくはなかったでしょう。確かにDirect RDRAMはSDRAMと比較すれば、高い性能を発揮します。しかしその差はごくわずかで、目をつぶれば分からない程度のものでしかなかったのです。
Direct RDRAMが歓迎されなかった理由としてもうひとつ重要なのは、その導入に伴い、Intelがその頃出始めていたPC133 SDRAMを一切サポートしないと発表したことでした。市場にはすでにFSB133MHzに対応したPentiumIIIが、延期の重なったi820チップセットを待つ形で出荷されていました。当時主流だった440BXチップセットは100MHzのFSBとPC/100 SDRAMにしか対応しておらず、市場では133MHzのFSBとPC133 SDRAMに対応できるチップセットが渇望されていました。しかしIntelはそれらの需要をすべて無視して新しいCPUを使うためには新しいメモリモジュールを使うしかないという状況を作り出し、強引にDirect RDRAMの普及を図ろうとしたのです。安価なPC133 SDRAMへの対応を期待していたユーザーの多くは、これに当然反発しました。
IntelはDirect RDRAMが普及すれば量産効果でコストは下がると説明していました。Intelの影響力ならば、そのような戦略もあるいは成功するかもしれないと思われましたが、結果は失敗に終わりました。Direct RDRAMは主流にはならなかったのです。他ではあまり語られることはないのですが、この失敗は技術的な視点に立って見ることもできます。Intelは明らかにDirectRDRAMの導入時期を誤りました。中でも決定的な失敗は、CoppermineコアのPentiumIIIと同時期にDirect RDRAMを導入しようとしたことです。
現代のCPUの性能には、メモリアクセス性能が非常に大きく影響します。高クロックで動作すればするほど、メモリアクセスを待っている間CPUが停止するだけで、処理能力の大幅な損失となります。この損失を軽減すべく設けられているのが、キャッシュメモリです。KatmaiコアのPentiumIIIではCPUダイの外にコアの動作周波数の2分の1の周波数で動作する2次キャッシュが搭載されていますが、Coppermineコアになり、2次キャッシュはCPUダイに内蔵され、CPUの動作周波数と等速で動作するようになりました。1次キャッシュについては変更されていませんが、2次キャッシュの容量が半分になったにもかかわらず、スピードを上げたことで劇的に性能が上がりました。このことを見ても、メモリアクセス性能、特にできる限りCPUを待たせないことがシステムの性能を大幅に左右するということが分かります。したがって、Direct RDRAMのような性能の高いメモリをメインメモリに採用すること自体は理にかなっているわけです。ところが、Coppermine PentiumIIIのフルスピード2次キャッシュの前では、Direct RDRAMだろうがSDRAMだろうが、大差ないということになってしまいます。
ここでちょっと帯域幅を計算してみましょう。ここではレイテンシを考慮していないので実際とはやや異なる値であることを最初に断っておきます。KatmaiコアPentiumIIIの2次キャッシュインタフェースは64ビット幅、600MHz動作時の動作クロック周波数は300MHzです。このときの帯域幅は約2.34GB/secです。CoppermineコアPenitumIIIの2次キャッシュインタフェースは256ビット幅、600MHz動作時の動作クロック周波数は等速で600MHzです。このときの帯域幅は18.75GB/secです。PC133 SDRAMのデータ幅は64ビット、動作クロック周波数は133MHzなので、帯域幅は約1.04GB/secです。PC800のDirect RDRAMでは、データ幅16ビット、動作クロック周波数は400MHzのDDRなので800MHz相当です。帯域幅は約1.56GB/secということになります。帯域幅だけが性能のめやすではないのですが、PC133 SDRAMとPC800 Direct RDRAMの帯域幅の差はせいぜい500MB/sec程度、対してKatmaiコアとCoppermineコアのPentiumIIIの2次キャッシュの帯域幅は最低でも数GB/sec以上の差となります。また、一説には、通常の処理ならば多くの場合、利用されるデータは2次キャッシュの容量である256KBに収まるといわれているため、CPUがCoppermine PentiumIIIであれば、SDRAMをDirect RDRAMに変更するだけでシステム全体のパフォーマンスが劇的に向上するというのは妄想であると言わざるを得ません。つまり、メインメモリの性能差程度なら、ほとんどの場合、CPUに内蔵されているキャッシュに吸収されてしまうわけです。また、これも重要な部分ですが、PentiumIIIはFSBが100MHz/133MHzであるため、帯域幅はFSB133MHzでも1.04GB/sでしかありません。Direct RDRAMでメモリの帯域幅のみが向上しても、データを受け取る側のプロセッサバスの能力が追いつかないため、さほど性能が向上しなかったようでした。
i820チップセットが出荷されてからしばらくの後、Direct RDRAMの設計元であるRambus社は、次世代メモリとして当時最も期待されていたDDR SDRAMが同社の特許を侵害しているとして、いくつかのメーカーを提訴しました。時期と状況を鑑みると、たとえ特許の侵害が事実であったとしても、見方によってはDDR SDRAMがDirect RDRAMよりも期待されていることへの八つ当たりと取ることもできる行為で、これもまた多くのユーザーの反発を招きました。また面白いことに、かなり後になってから、この問題についてRambus社は逆に提訴されてもいます(関連リンク参照)。
その後市場の要求に折れる形で、結局IntelはPC133 SDRAMをサポートしたIntel815チップセットをリリースします。このi815チップセットは大人気を博し、Direct RDRAMの急速な普及を目論むIntelの思惑は雲散霧消してしまいます。それでもIntelはDirect RDRAMにこだわり続けました。次の世代のCPUであるPentium4ではDirectRDRAMのみサポートするとの姿勢を崩さなかったのです。いわば、その頃のIntelにとってPentium4がDirect RDRAM普及の最後の切り札だったのかも知れません。
ではなぜIntelはそうまでしてDirect RDRAMにこだわり続けなければならなかったのでしょうか。一説には、その理由はRambus社との契約にあるといわれています。これについてはWeb上の報道でもあちこちで見ることができるので、ある程度の信憑性がある情報なのかも知れません(いずれ書きます)。
このように順調に普及が進んだとは決していえないDirect RDRAMですが、Pentium4が主流になる頃になって、ようやく存在意義が広く認められるようになりました。その主な要因は、コストが下がってDDR SDRAMの2倍程度に落ち着いたことと、Pentium4のFSBがQDR(Quad Data Rate)動作によって非常に広い帯域を持っていたことです。最初のPentium4のFSBは、400MHz相当の動作で、約3.1GB/secの帯域幅を持っていました。それに対しPC/100やPC133のSDRAMはいうまでもなく、PC2100 DDR SDRAMであっても約2GB/secの帯域幅でしかないため、CPU側に対してメモリ側の帯域幅が不足していることは明らかでした。一方Direct RDRAMをサポートしたチップセットであるIntel850は、PC800 Direct RDRAMを2チャネル化することによりCPUと同等の帯域幅を実現し、メモリの帯域幅がボトルネックとなってCPU本来の性能が発揮できないという事態を防ぐことができました。その後さらにPentium4のFSBは動作周波数を533MHzに引き上げられましたが、同時期に533MHzのDDR駆動であるPC1066という新規格のDirect RDRAMが登場し、これを2チャネル用いることで対応しました。こうして、Pentium4の本来の性能を引き出すにはDirect RDRAMが最適であるという図式が出来上がったのです。
しかし、結局のところ、Athlonの台頭などによりDDR SDRAMが無視できないほど普及してきた頃、IntelはPentium4用のチップセットにおいて、DDR SDRAMをサポートすることを決定したのです。それはi815のときと同じように、常に勝者であり続けたIntelが、再び市場に敗北した瞬間だったのかも知れません。中でも、Intel自身がリリースしたPentium4用DDR SDRAM対応チップセットIntel845 Bステップは、拍手喝采で市場に迎えられました。かなり大げさにいえば、Direct RDRAMの動作クロックが上がり帯域幅が広がっても誰も喜ばなかったが、DDR SDRAMの導入は大いに歓迎されたということになります。
実はDDR SDRAMも2チャネル化して利用し帯域幅を広げること自体は、技術的に不可能ではありません。事実Athlon用のチップセットではNVIDIAがnForceチップセットでDDR SDRAMの2チャネル駆動を実現しています。さらにIntel自身もサーバ用にはDDR SDRAMの2チャネル駆動を採用したチップセットをリリースしています。つまりIntelがその気なら、Pentium4の帯域幅に対応するために必ずしもDirect RDRAMを用いる必然性はなく、DDR SDRAMでもほぼ同等のことが実現できたということです。SDRAMの次の世代のメモリとして、市場の期待を一身に背負ったDDR SDRAMを陽の立場とするなら、対照的に嫌われてしまったDirect RDRAMは陰の立場といえるでしょう。
Intelは市場をDirect RDRAMの実験台にした。悪く言えばそうなるでしょうか。結局、Direct RDRAMは市場に嫌われてしまったことによって、すべての運命が決定付けられてしまったのかも知れません。Intelがあれほどまでに強引な戦略を取らなければ、またRambusがもう少し黙っていられたなら、また違う運命をたどった可能性もあったでしょう。しかし、Direct RDRAMの歴史はまだ終わってはいません。今後この嫌われたメモリ技術がどう進化していくのか、あるいは近い未来に終焉を迎えてしまうのか、もうしばらくは見守っていきたいと思います。
| 項目 | 内容 |
|---|---|
| Direct Rambus DRAM | |
| 駆動クロック周波数(DDR動作) | 300MHz(PC600),356MHz(PC700),400MHz(PC800),533MHz(PC1066) |
| データ幅 | 16bit/32bit |
| アクセス時間 | 45ns(PC800-45,従来のPC800),40ns(PC800-40) |
| 公称帯域幅 | 1.6GB/sec(PC800),2.1GB/sec(PC1066) |