定義
電源が入っている間だけデータを保持する、コンピュータの作業用メモリです。ごく小さなマス目ごとに微量の電気を溜めて0と1を記憶します。ただし、この電気は自然と漏れ出てしまうため、情報が消えてしまう前に絶えず電気を注ぎ足し続ける仕組みで動いています。
水が漏れる紙コップで文字を記録するとしたら
机の上に小さな紙コップを並べて、ひとつのルールを決めてみましょう。水が入っているコップは1、空っぽのコップは0とします。コップを順に見渡すだけで、そこに記録した内容をそのまま読み取ることができます。
ところが、このコップには目に見えないほど小さな穴が空いています。水をいっぱいに満たしても、時間が経つと少しずつ漏れ出してしまうのです。しばらく経ってから見返すと、このコップが1だったのか0だったのか分からなくなってしまいます。
DRAMとは、まさにこうしたコップを爪の先ほどの小さなチップの上に数十億個以上も敷き詰めた部品です。コップひとつが0または1を記録するマス目であり、コップに入っているのは水ではなく、ごくわずかな電気です。
コップひとつに蓄えられるのは0か1のたったひとつだけです。文字を1文字書くだけでも複数のコップが必要で、写真1枚となれば数え切れないほどのコップが必要になります。メモリの容量が大きいということは、それだけ多くのコップが並んでいるという意味なのです。
なぜわざわざ漏れるコップを使うのか?
漏れるコップと聞くと、一見すると不便に思えます。しかしこのコップは構造が非常にシンプルなため、極めて小さく作ることができます。同じ広さの机の上なら、はるかにたくさんのコップをぎっしり並べられるのです。
そのため、コストを抑えながら大容量を実現できます。そこでコンピュータは、DRAMを「いま行っている作業を広げておく作業机」として使います。ゲームを立ち上げたり写真を編集したりするときに必要なデータが、この机の上に広げられます。
机の上にあるデータは、すぐに手に取ることができます。マス目ごとに番地が振られているため、必要な場所にパッと手を伸ばせます。さらに、機械的な駆動や時間のかかる書き込み手順がなく電気信号で直接読み書きでき、コンピュータの頭脳であるCPUのすぐ近くにつながっているため、引き出し(ストレージ)をゴソゴソ探すよりも圧倒的に高速です。
机が狭いと、データを引き出しから出したりしまったりする作業が頻繁に発生し、そのたびに待たされることになります。引き出しを何度も開け閉めしていた状況なら、メモリ容量を増やすことでコンピュータの動作が見違えるほど速くなります。作業机を広くしたのと同じ効果が得られるからです。
もう少し正確にお話しすると
では、漏れるコップの中身はどうやって保たれているのでしょうか? コンピュータは、水が完全に漏れ出てしまう前にコップを順番に見回り、内容を読み取って、元の通りに水を注ぎ足しています。この注ぎ足し作業をリフレッシュと呼びます。
まばたきをする間にも、この注ぎ足し作業は絶え間なく繰り返されています。DRAMの名前にある「ダイナミック(動的)」という言葉も、このように放っておくと内容を維持できないという特徴から来ています。
そのため、電源を切るとコップの水はすぐに消え去ってしまいます。保存した写真がパソコンを再起動しても残っているのは、その写真がDRAMではなく引き出し(ストレージ)に書き込まれているからです。作業机と引き出しは、役割がまったく異なる場所なのです。
よくある誤解
メモリ容量が大きければ、写真やファイルをそれだけ多く保存できる。
DRAMは電源が切れるとデータが消える作業スペースです。写真や書類を長期間保存する場所はストレージ(SSDやHDD)であり、メモリを増やす目的とは異なります。
メモリに読み込まれたデータは、電源さえ入っていれば何もしなくてもそのまま残る。
各マス目に溜めた電気は自然と少しずつ漏れてしまうため、絶え間なく電気を注ぎ足し続けなければ記憶を保てません。この注ぎ足し(リフレッシュ)が止まると、電源が入っていてもデータは消えてしまいます。
日常で出会う場面
ゲームを起動すると、マップやキャラクターのデータがDRAM上に展開されるため、画面が途切れることなくスムーズに動きます。
文書の編集中に突然電源が落ちると未保存の内容が消えてしまうのは、そのデータがDRAM上にしか存在していなかったためです。
つまり ひとことで
電気を溜めた数十億個もの漏れるコップに絶えず注ぎ足しを行いながら、コンピュータがいま行う作業を広げておく作業机の役割を果たします。