RAMの歴史:起源、発明、用途、そしてコアメモリからDDR5までの世代

プログラムを開いたり、ブラウザのタブを切り替えたり、ゲームをしたりするたびに、コンピュータは一時的なデータをメモリに保存しています。プログラムが終了するか電源が切られると、そのデータは消えます。この種のメモリがRAM(Random Access Memory)で、初期のコンピュータから現在に至るまで、機械の反応の良さを左右してきました。この記事では、RAMがどのように始まり、どのように動くのか、世代を経てどう進化したのか、実際の用途にどの種類を選ぶべきかを説明します。

RAMとは何か、ストレージとの違い

RAMは、プロセッサが直接かつ高速に読み書きできるメモリです。データがどこにあっても、目的の場所に到達するまでの時間はほぼ同じです。「ランダム(Random)」という言葉はこの性質を表しています。特定の位置に到達するために順番に巻き戻す必要がある磁気テープとは対照的です。

RAMは、ハードディスクやSSDなどのストレージとは区別して考える必要があります。RAMははるかに高速ですが、電源を切ると内容が失われます。ストレージは遅いものの、データを永続的に保存します。机と書類棚にたとえると分かりやすいでしょう。机は今まさに作業している内容を置く場所で、多くの量を置けます。書類棚は何年も書類を保管できますが、取り出すのに時間がかかります。

初期のコンピュータ:ブラウン管、水銀遅延線、コアメモリ

メモリチップが登場する前、初期のコンピュータ設計者はデータを保存する別の方法を見つけなければなりませんでした。1948年、マンチェスター大学の Small-Scale Experimental Machine は、ビットを画面上の電荷の点として記憶するブラウン管、ウィリアムス管を使いました。このメモリは高速でしたが、電荷が薄れるため定期的なリフレッシュが必要で、信頼性に欠けていました。

別の方法は水銀遅延線で、水銀を満たした管の中に信号を送るものです。データは必要になるまで循環し続けます。英国のEDSACや米国のUNIVACなどがこの方式を使いましたが、データが戻ってくるまで待つ必要があるため、アクセスは遅いものでした。

初期でもっとも成功した技術は、磁気コアメモリです。1950年代初頭、MITでJay Forresterを中心に、Whirlwindコンピュータのために開発されました。メモリは、ワイヤーを通した何千もの小さなフェライトのリングで構成されていました。各リングは、磁場の向きが時計回りか反時計回りかによって1ビットを記憶しました。コアメモリは電源が失われても内容を保持したため、製造に手間とコストがかかったにもかかわらず、数十年にわたって使われ続けました。コンピュータからコアが姿を消した後も、「コア」という言葉は技術的な表現に残っています。

トランジスタからDRAMチップへ

1960年代にトランジスタと集積回路が広がると、データをシリコンチップに保存するという発想が続きました。1966年、IBMのRobert DennardはDRAM(Dynamic RAM)の原理を考案しました。各ビットは、1つのトランジスタと組になった小さなコンデンサの電荷として記憶されました。この設計は非常に省スペースでしたが、電荷は時間とともに漏れるため、データを定期的にリフレッシュする必要がありました。この要件が技術の名前の由来となっています。

商業的に販売された最初のDRAMチップは、1970年に発売されたIntel 1103で、容量は1キロビットでした。価格と信頼性が向上し、1970年代初頭にはコアメモリが置き換えられ始めました。他のメーカーも大容量のチップを続けて発表しました。Mostekの4キロビットのMK4096は1973年に登場し、16キロビットのMK4116は1977年に登場して、多くの初期のコンピュータで標準的な部品になりました。

DRAMと並んで、SRAM(Static RAM)はリフレッシュを必要とせずにトランジスタでデータを保持しました。定常状態では高速で消費電力も少ないものの、1ビットあたりに必要なトランジスタが多いため、高価で容量も小さくなりました。SRAMはプロセッサのキャッシュの標準となり、DRAMはシステムの主記憶として使われました。

初期のPCの時代:16キロバイトから数メガバイトへ

1981年のIBM PCは、基本メモリが16キロバイトまたは64キロバイトでした。DRAMチップはマザーボードに一つずつはんだ付けされていました。メモリを増設するには、チップを一つずつ追加する必要があり、ユーザー自身がそれを行うこともありました。

1980年代半ばには、複数のチップを小さな基板にまとめたSIMM(Single In-line Memory Module)という設計が登場しました。最初のSIMMは30ピンで、取り付けがずっと簡単になりました。1990年代半ばには72ピンのSIMMが主流となり、486やPentiumの世代のプロセッサに適した32ビットのデータ経路を提供しました。

容量はまだ小さいものでした。1990年代初頭には4メガバイトのコンピュータで十分とされていました。1995年に発売されたWindows 95は、少なくとも8メガバイトを推奨しており、実際には多くのマシンがそれ以上を必要としました。一般のユーザーがコンピュータのRAM量に注意を払い始めたのは、この頃からです。

SDRAM:クロックに同期したメモリ

古いDRAMは非同期で、システムのクロックに従わなかったため、プロセッサはしばしば待たされました。1990年代には、FPM DRAMやEDO DRAMが読み出し速度を少しずつ改善しました。より大きな進歩はSDRAM(Synchronous DRAM)で、メモリの動作をシステムクロックに結びつけ、読み書きをプロセッサと効率的に同期させられるようになりました。

SDRAMは1990年代初頭から普及し、1997年までには168ピンのDIMMが標準になりました。DIMMは64ビットのデータ経路を提供し、以前のモジュールより効率的なメモリ増設を可能にしました。同じ時期、Rambusは RDRAM を推進し、一時期Intelも支持しました。しかし高価で生産量も限られていたため、支持者が期待したほどの人気は得られませんでした。

DDRと数年ごとに変わる世代

Double Data Rate、すなわちDDRは、クロック信号の立ち上がりと立ち下がりの両方でデータを転送します。これにより、クロック周波数を大きく上げることなくデータレートを2倍にできます。DDR SDRAMは2000年にJEDECによって標準化され、同じ年に市場に登場しました。動作電圧は2.5ボルトでした。

それ以来、DDR規格はおよそ5年から7年ごとに新世代へと移行してきました。各世代は、消費電力と発熱を抑えるために動作電圧を下げ、同時にデータレートを上げてきました。

各世代は、エッジコネクタ上の切り欠きの位置が異なります。そのため、非常によく似ていても、ある世代のモジュールは別の世代向けのマザーボードには通常差し込めません。RAMはマザーボードに合わせて選ぶ必要があります。

SO-DIMM、ECC、LPDDR

ノートパソコンは、デスクトップのDIMMのおよそ半分の長さの、SO-DIMMと呼ばれる小型モジュールを使います。薄型の筐体に収まるようにするためです。

高い信頼性が必要なサーバーやワークステーションは、ECC(Error-Correcting Code)メモリを使います。これには、放射線や電気的ノイズによるビット誤りを検出して訂正する回路が追加されています。ECCと非ECCメモリは基本原理が同じですが、ECCは検査用データを保存する追加のチップを持っています。

スマートフォンやタブレットは、LPDDR(Low Power DDR)を使います。これはバッテリーを長持ちさせるため、消費電力を極力抑えるよう設計されています。多くの場合、チップのパッケージに直接はんだ付けされており、単独で交換することはできません。

グラフィックスメモリとHBM

グラフィックスカードは、非常に高い帯域幅のために作られたGDDRと呼ばれるメモリを使います。GDDR5、GDDR6、GDDR6X、GDDR7と進化してきました。GDDRは低遅延よりも、毎秒大量のデータを送ることを重視しており、グラフィックスや大規模な並列計算に適しています。

人工知能や高性能サーバーでは、HBM(High Bandwidth Memory)が使われます。これは複数のDRAMダイを縦に積み重ね、非常に幅の広いインターフェースでプロセッサに接続します。面積あたりの帯域幅はGDDRよりはるかに大きいものの、製造は高価で複雑です。

時間とともに変わる容量と速度

初期のころ、一般的なコンピュータのメモリはキロバイト単位でした。今日の一般的なパソコンは8〜32ギガバイト、ワークステーションやサーバーは数百ギガバイトのこともあります。DRAMの容量は、トランジスタの微細化や積層技術とともに増えてきましたが、微細化は年々難しく高価になっており、容量の伸びは初期の時代に比べて鈍化しています。

ユーザーが実際に感じる速度は、主にデータレートと遅延です。遅延はCLとして示されることが多く、これは命令からデータの準備完了までのクロックサイクル数です。同じデータレートでは、CLが小さいほど反応が速くなるため、周波数の数値だけでは全体を判断できません。

システム内でのRAMの動作

プロセッサは、データが必要になるたびにRAMを読みにいくわけではありません。L1、L2、L3の複数レベルのキャッシュを持ち、よく使うデータをコアの近くに保持しています。必要なデータがキャッシュにない場合にRAMから取得しますが、これはキャッシュより何倍も遅いものです。RAMにもデータがない場合、オペレーティングシステムは仮想メモリを使い、ストレージの一部を代わりに使います。これはさらに遅く、システムがデータを頻繁に行き来させると、すぐに動作が重く感じられます。

オペレーティングシステムは、RAMをページに分割してプログラムに割り当てて管理します。必要量が物理的な容量を超えると、一部のページが一時的にディスクに書き出されます。開くプログラムが多すぎるとコンピュータが遅くなるのはこのためです。

メーカーと価格の変動

DRAM市場は、Samsung、SK hynix、Micronなどの少数のメーカーに支配されています。この市場には、価格が上がったり下がったりする明確なサイクルがあります。生産能力が需要を上回ると価格は急落し、需要が供給を上回ると価格は上がります。そのため、自作派は短期間でRAMの価格が大きく変わるのをよく目にします。

用途に合わせたRAMの選び方

RAMを選ぶ際は、容量の数値だけを見るのでは不十分です。

RAMの歴史から学べること

まとめ

1950年代のブラウン管や磁気コアから、今日のDDR5チップまで、RAMは大型で高価な装置から、小型で安価で高速な標準部品へと進化しました。その構造を理解すると、マシンの選択や維持に役立ち、RAMを増やすことがプロセッサを交換するよりも快適さを大きく改善する理由が分かります。