コンピュータは どこに おぼえて いるの?

コンピュータは、どこに覚えているのか

コンピュータの記憶 ── キャッシュからSSDまで、速さと大きさの階段

分野:技術

パソコンや スマートフォンの 中には、おぼえて おく ための ぶひんが、なんしゅるいも 入って います。

どうして 1つでは だめなのでしょうか。それぞれ どんな しくみで、どう つかいわけられて いるのでしょうか。

この きじでは、コンピュータの おぼえる ぶひんを、はやさと 大きさの ちがいから 見て いきます。

パソコンやスマートフォンの中には、キャッシュ、メモリ、SSD、ハードディスクなど、何種類もの記憶装置が入っています。

どうして1種類ではだめなのでしょうか。それぞれどんなしくみで、どう使い分けられているのでしょうか。

この記事では、速さと大きさの「階段」を手がかりに、記憶装置のしくみと歴史を見ていきます。

コンピュータには、キャッシュ、メインメモリ、SSD、HDDなど、性質のちがう記憶装置が何段にも重ねて使われている。なぜ1種類にまとめないのか。

この記事では、アクセス時間と容量の「階段」を手がかりに、DRAMやHDD、フラッシュメモリのしくみと、磁気コアメモリから半導体メモリへの移り変わりをたどる。

読み方を切り替えられます。画面の上にある「よみかた」のボタンで、小学校低学年むけ小学校高学年むけ中学生むけの3つの書き方に切り替わります。むずかしいと思ったら、いつでもやさしい方に戻ってください。選んだ読み方はブラウザが覚えているので、次に別の記事を開いたときも同じ読み方で始まります。

1. おぼえる ぶひんは、1つでは ない

1. 記憶装置は、主記憶と補助記憶に分かれる

1. 記憶装置は、主記憶・補助記憶と、揮発性・不揮発性で分けられる

電気を きると、おぼえた ことが きえて しまう ぶひんと、きえない ぶひんが あります。

たとえば、つくえの 上、ほんだな、としょかんを 思いうかべて ください。つくえの 上は すぐ 手が とどきますが、せまいです。としょかんは ひろいですが、行くのに 時間が かかります。

コンピュータの おぼえる ぶひんも、これに にて います。はやい ものほど せまく、ひろい ものほど おそい ように、いくつかを くみあわせて つかって います。

コンピュータの記憶装置は、大きく2つに分けられます。「主記憶」と呼ばれるメインメモリと、ディスクなどの大きな「補助記憶」です[3]

電源を切るとデータが消えるものを「揮発性」、消えないものを「不揮発性」といいます。レジスタ、キャッシュ、DRAMは揮発性で、ROM、フラッシュメモリ、ハードディスクは不揮発性です[3]

階段のように並べる

記憶装置は、CPUに近いものほど小さくて速く、遠いものほど大きくて遅い、という階段のように並べて使います[3]。速い記憶は、同じ費用で作れる量が少なくなりがちです[5][8]

コンピュータの記憶装置は、役割で大きく2つに分けられる。主記憶(プライマリストレージ)はメインメモリのことで、補助記憶(セカンダリストレージ)は、ディスクなどの大容量の記憶装置のことだ[3]

電源を切るとデータが失われる記憶を「揮発性」、電源を切っても残る記憶を「不揮発性」という。レジスタ、キャッシュ、DRAMは揮発性、ROM、フラッシュメモリ、HDDは不揮発性だ[3]

階段のように並べる

記憶装置は、CPUに近いものほど小さくて速く、遠いものほど大きくて遅い、という階層をなしている[3]。速い記憶は、同じ費用で作れる容量が小さくなりがちで、たとえばDRAMはSRAMよりも、費用あたりのビット数を大きくできる[5]。HDDは容量あたりの価格がSSDより安い[8]

2. 「1びょう」に なおして くらべる

2. 速さと大きさの階段を数字で見る

2. 記憶装置ごとのアクセス時間と容量の階段

コンピュータの 中で、いちばん CPUに ちかい おぼえる ばしょが 1回 はたらく 時間を、1びょうに なおして みましょう。

すると、メモリ(ラム)は 1分と ちょっと、SSDは 2日と ちょっと、ハードディスク(HDD)は 48日ぐらい かかる ことに なります。

どれも 人間には 一しゅんの 時間ですが、コンピュータには それだけ ちがいが あるのです。

2020年代のパソコン用CPU(AMDのZen 4)の例では、いちばんCPUに近いL1キャッシュが約1ナノ秒、メインメモリが約82.5ナノ秒、SSDが約0.2ミリ秒、ハードディスクが約4.16ミリ秒で読み出せます[3]。1ナノ秒は10億分の1秒です。

1ナノ秒を1秒に引きのばすと

この差を実感するために、L1キャッシュの1ナノ秒を1秒に引きのばしてみます。すると、メインメモリは約82秒(1分ちょっと)、SSDは約2日と7時間、ハードディスクは約48日かかることになります(この換算は、この記事のために計算したものです)。

容量のほうは反対に、L1キャッシュは1コアあたり約32キロバイト、メインメモリは約64ギガバイト、SSDは2テラバイト、ハードディスクは18テラバイトと、遅いものほど大きくなります[3]

ある2020年代のパソコン用CPU(AMD Zen 4)では、各層の容量とアクセス時間(レイテンシ)がおおよそ次のようになる[3]

  • レジスタファイル:18,432ビット、0.25ナノ秒(1サイクル)
  • L1データキャッシュ:1コアあたり32キビバイト、1ナノ秒(4サイクル)
  • L2キャッシュ:1コアあたり1メビバイト、3.5ナノ秒(14サイクル)
  • L3キャッシュ:16〜32メビバイト(8コアで共有)、11.75ナノ秒(47サイクル)
  • メインメモリ:64ギビバイト、82.5ナノ秒
  • SSD:2テラバイト、0.2ミリ秒
  • HDD:18テラバイト、4.16ミリ秒

キビ・メビ・ギビは2進法にもとづく単位で、1ギビバイトは2の30乗バイト(約1.07ギガバイト)にあたる。SSDとHDDはテラバイトで表される。

1ナノ秒を1秒に引きのばすと

L1キャッシュの1ナノ秒を1秒に引きのばして換算すると、メインメモリは約82.5秒、SSDは約2.3日(0.2ミリ秒=20万ナノ秒)、HDDは約48日(4.16ミリ秒=416万ナノ秒)になる(この換算は本記事の計算)。記憶装置の段が1つ下がるごとに、待ち時間は桁ちがいに大きくなる。

3. キャッシュと メモリ

3. キャッシュの役割と、メインメモリのしくみ

3. キャッシュの役割と、DRAMのしくみ

CPUの すぐ そばに、キャッシュと いう、ちいさくて とても はやい おぼえる ばしょが あります。よく つかう ものの コピーを おいて おく ばしょです。

メモリ(DRAM)は、ちいさな コンデンサ(電気を ためる ぶひん)に、電気が あるか ないかで、1と 0を おぼえて います。でも、電気は すこしずつ にげて しまうので、なんども かきなおして います。電気を きると、きえて しまいます。

キャッシュは、CPUの近くにある、小さくてとても速い記憶で、よく使うデータのコピーをおいておきます。メインメモリは数十倍から数百倍遅いので、コピーがキャッシュにあれば、遠くまで取りにいかずにすみます[4]

ほしいデータがキャッシュにあることを「キャッシュヒット」、なくてメインメモリからコピーしてくることを「キャッシュミス」といいます[4]。キャッシュを使う仕組みは、1960年代のコンピュータにもすでにありました[4]

メモリは小さなコンデンサ

メインメモリに使われるDRAMは、1つのトランジスタと1つのコンデンサで、1ビットを覚えます。コンデンサに電気がたまっているかどうかが、0と1にあたります[5]

ところが、コンデンサの電気は少しずつ漏れていくので、放っておくとデータが消えてしまいます。そこで、決まった間隔でデータを書きなおす「リフレッシュ」が必要です。DRAMが揮発性なのは、このためです[5]。キャッシュにはリフレッシュのいらないSRAMが使われます[5]

CPUキャッシュは、メインメモリへのアクセスにかかる平均のコスト(時間やエネルギー)を減らすための、CPU側のハードウェアだ。メインメモリは数十倍から数百倍遅いため、よくアクセスされるメモリ位置のデータのコピーを、プロセッサコアに物理的に近い、小さくて速いメモリに置いておく[4]

要求されたデータがキャッシュにあれば「キャッシュヒット」で、すぐに読み書きできる。なければ「キャッシュミス」で、キャッシュが新しい項目を確保して、メインメモリからデータをコピーしてくる[4]。多くのCPUはL1・L2・L3と複数段のキャッシュを持ち、L1はコアにいちばん近くて最速、L2・L3は物理的に離れていて遅いがより大きくできる[4]。キャッシュを使った初期の例には、1960年代のAtlas 2やIBM System/360 Model 85がある[4]

DRAMは、コンデンサに電荷を蓄える

DRAMは、1つのトランジスタと1つのコンデンサで1ビットを記憶する。コンデンサが充電されているか放電されているかが、ビットの2つの値にあたる[5]

コンデンサの電荷は徐々に漏れるため、介入しなければデータはすぐに失われる。そこで外部のリフレッシュ回路が、定期的にデータを書き直して元の電荷に戻す。このためDRAMは揮発性で、電源が切れるとすぐにデータを失う。一方、キャッシュに使われるSRAMはリフレッシュが要らない。DRAMは、費用あたりのビット数を非常に高い密度にできる利点がある[5]

4. ドーナツの ような メモリから、チップへ

4. ドーナツ形のメモリから半導体へ

4. 磁気コアメモリから、DRAMへ

むかしの メモリは、ドーナツの ような ちいさな じしゃくの わを、はりがねに とおして、あみの ように ならべた ものでした。じきコアメモリと いいます。

1966年、アメリカの ロバート・デナードさんが、いまの メモリと おなじ しくみを かんがえました。1970年ごろに チップの メモリが うられる ように なると、じきコアメモリは だんだん つかわれなく なりました。

昔のメインメモリは、「磁気コアメモリ」でした。磁性体でできた小さなドーナツ形の部品を、銅の線に通して、格子のように並べたものです。1949年にMITで作られた磁気コアメモリは、コンピュータ用として最初の信頼できる高速なランダムアクセスメモリとされます[1][2]

1人の発明が、時代を変えた

1966年、IBMのロバート・デナードが、1つのトランジスタと1つのコンデンサで1ビットを覚える、いまのDRAMの形を考えました。1967年に特許を出願し、1968年に取得しています[10]

DRAMは、磁気コアより単純で費用も消費電力も低く、磁気コアメモリをあっという間に時代おくれにしました[2]。最初の商用DRAMチップは、1970年に発売されたIntel 1103(1キロビット)です[5]

DRAMの前に主流だったのは、磁気コアメモリだ。ドーナツ形のフェライトの小さな部品を、銅線で格子状に配線したもので[2]、1949年にMITの磁気コアメモリが最初の信頼できる高速ランダムアクセスメモリとなり、1953年のWhirlwind計算機でも使われた[1]

1トランジスタ・1コンデンサの発明

1966年、IBMのロバート・デナードが、MOSトランジスタ1つとコンデンサ1つで1ビットを記憶する、現代的なDRAMの構造を発明した。1967年7月14日に特許を出願し、1968年6月4日に米国特許3,387,286号「Field-effect transistor memory」として登録されている[10]

DRAMは、磁気コアメモリより単純で、低コスト・低消費電力だったため、従来技術をほぼ瞬時に陳腐化させた[2]。最初の商用DRAMチップは、1970年10月のIntel 1103で[5]、Computer History Museumはこの1キロビットのチップを「磁気コアメモリの使用の終わりの始まり」と位置づけている[1]

5. まわる まるい いた ── ハードディスク

5. 回る円盤に記録する ── ハードディスク

5. HDD ── 回転する円盤と磁気ヘッド

ハードディスク(HDD)は、じしゃくの ちからを もつ ざいりょうを ぬった まるい いたを、ぐるぐる まわして、ヘッドと いう ぶぶんで よみかきする そうちです。電気を きっても おぼえて います。

1956年の さいしょの ハードディスクは、れいぞうこ 2だいぶんの 大きさで、おぼえられる 大きさは やく 5メガバイトでした。いまは もっと 小さい 3.5インチの ハードディスクで、30テラバイトに なる ものも あります。

ただし、ゆれや しょうげきに よわい ところが あります。

ハードディスク(HDD)は、磁性体をぬった円盤を高速で回し、磁気ヘッドを動かして、データを記録したり読んだりする装置です。回転数は、5,400や7,200回転(毎分)などが主流です[6]

冷蔵庫2台ぶんの最初のHDD

世界で最初のHDDは、1956年のIBM 350(RAMAC)です。大きさは台所の冷蔵庫2台ぶん、重さは1トン以上で、記憶できたのは約500万文字(約5メガバイト)でした[9][6]

その後、1980年にはSeagateのST506が5メガバイトで、フロッピーディスクの5倍の容量でした。2007年には、最初の1テラバイトのHDDが登場しました[1]。いまは3.5インチのサイズで最大30テラバイトのものがあります[6]

衝撃に弱い

HDDは、衝撃やほこり、熱に弱い装置です。落とすなどして磁気ヘッドが円盤にぶつかると(ヘッドクラッシュ)、円盤に傷がつくなどして壊れます[6]

HDDは、磁性体を塗布した円盤を高速に回転させ、磁気ヘッドを移動させることで、情報を記録・読み出す装置だ。回転数は、3,600・4,200・5,400・7,200・10,000・15,000 rpmが主流とされる[6]

冷蔵庫2台ぶんの最初のHDD

世界初のHDDは、1956年のIBM 305 RAMACに搭載されたIBM 350とされる。装置は台所の冷蔵庫2台ぶんの大きさで、重さは1トン以上、約500万文字(約4.8メガバイト)を記憶した[9][6]

その後、1980年のSeagate ST506は5メガバイトで、標準的なフロッピーディスクの5倍の容量だった。2007年には、日立のDeskstar 7K1000(200ギガバイトの3.5インチ円盤5枚、7,200 rpm)が、最初の1テラバイトのHDDになった[1]。2024年現在、3.5インチのサイズで最大30テラバイトに達している[6]。最初の約4.8メガバイトと30テラバイトを比べると、およそ600万倍になる(この倍率は本記事の概算)。

衝撃に弱い

HDDは、外部からの衝撃、ダスト、熱に弱い。落下などで磁気ヘッドが円盤面に衝突する(ヘッドクラッシュ)と、円盤に傷が付くなどして故障する[6]

6. ぱっと けす メモリ ── フラッシュと SSD

6. 電気を切っても残るメモリ ── フラッシュとSSD

6. 電源を切っても残るフラッシュメモリと、それを使ったSSD

フラッシュメモリは、電気を きっても おぼえて いる メモリです。1980年代に、東芝とうしば舛岡ますおか富士雄ふじおさんが はつめいしました。

まとめて ぱっと けせる ので、カメラの フラッシュに ちなんで、この 名前が つきました。

SSDは、フラッシュメモリで つくった、ハードディスクの かわりの そうちです。まわる ぶぶんが ないので、ゆれに つよく、はやいです。でも、かきかえられる 回数には かぎりが あります。

フラッシュメモリは、電気を切ってもデータが残るメモリです。1980年代に、東芝の舛岡ますおか富士雄ふじおが発明しました。先にNOR型が、そのあとNAND型が発明されています[7][11]

「フラッシュ」という名前は、消去を一括して「ぱっと」行えるところが、写真のフラッシュを思わせたことから付いたとされます[7]。USBメモリやSDカード、SSDなどに使われています[7]

動く部品のない「ディスク」

SSDは、集積回路にデータを記録する装置で、動く部品がなく、主にNANDフラッシュメモリを使います。回転や探す動作がいらないので、HDDより速く、物理的な衝撃にも強く、消費電力も少なめです[8]

ただし、フラッシュメモリには、書き換えられる回数に限りがあります[8]。フラッシュメモリを使った最初のSSDのモジュールは、1990年代の初めにSanDiskが作っています[1][8]

フラッシュメモリは、電源を切ってもデータが残る不揮発性メモリだ。東芝の舛岡ますおか富士雄ふじおが1980年代に発明した(Computer History Museumは1984年の発明として紹介している)。NOR型が先に、その後NAND型が発明された[1][7][11]。NOR型は読み出しが速く書き込みが遅く、NAND型は書き込みが速く高集積化に向く[7]

記憶のしくみは、浮遊ゲートMOSFETという半導体素子の浮遊ゲートに電子を蓄えてデータを記録するというものだ。消去を一括して行える特徴を写真のフラッシュに見立てて、「フラッシュメモリ」と命名された[7]

動く部品のないストレージ

SSDは、集積回路を使ってデータを永続的に保存する固体ストレージデバイスで、可動部品がなく、主にNANDフラッシュメモリを使う。回転や位置探しが不要で電子的にアクセスできるため、HDDより高速で、物理的な衝撃に強く、消費電力はHDDの半分から3分の1程度とされる[8]

一方、書き込み(P/Eサイクル)の回数には限りがある。一般的なフラッシュメモリはおよそ10万回のP/Eサイクルに耐えるよう保証されるとされるが、セルの種類によって大きく異なる[7][8]。フラッシュメモリを使った最初のSSDのモジュールは、1990年代の初めにSanDisk(当時の社名はSunDisk)が製造した[1][8]

7. つかいわけの ちがい

7. 使い分けの考え方

7. なぜ使い分けるのか

ここまでの ことを まとめると、こう なります。キャッシュと メモリは、はやい けれど、電気を きると きえて しまいます。SSDと ハードディスクは、おそい かわりに、電気を きっても おぼえて いて、たくさん おぼえられます。

SSDは はやく、ハードディスクは、おなじ 大きさの ねだんが やすい、と いう ちがいも あります。

ここまでを整理すると、キャッシュとメインメモリは、速い代わりに、電源を切ると消えてしまう「作業用」の記憶です。SSDとハードディスクは、遅い代わりに、電源を切っても残り、たくさん覚えられる「保存用」の記憶です[3]

保存用の中でも、SSDは速く、HDDは容量あたりの値段が安い、という差があります。1ギガバイトあたりの値段は、2025年後半の目安で、SSDが約0.05〜0.10ドル、HDDが約0.01〜0.03ドルです[8]

このように、どれか1つがすべてにいちばんよいわけではないので、性質のちがう記憶装置を階段のように重ねて使っています。

ここまでを整理すると、キャッシュ・DRAMは高速だが揮発性で容量が小さい作業用、SSD・HDDは低速だが不揮発性で大容量の保存用、という分担になる[3]

保存用のなかでも、SSDは速度と耐衝撃性、消費電力で優れ、HDDは容量あたりの価格で優れる。2025年後半の目安では、1ギガバイトあたりSSDが約0.05〜0.10ドル、HDDが約0.01〜0.03ドルとされる[8]

性質のちがう記憶装置を階層にして組み合わせるのは、どれか1つがすべての点で最良ではないからだ。速さ、容量、価格、電源を切ったときにデータが残るかどうか、という条件を、段ごとに分担している。

じぶんでも やって みる

自分でも調べてみたくなったら

自分でも調べてみたくなったら

おうちの パソコンや スマホで、おぼえる ぶひんの 大きさを しらべて みましょう。

あんぜんな ばしょで できる こと

  • 「せってい」を 見て みる。おうちの 人と いっしょに、メモリと ストレージの 大きさを 見て みましょう。
  • ふるい きかいと くらべて みる。ふるい スマホや パソコンが あれば、大きさの ちがいを 見て みましょう。
メモの すすめ

きょう 出て きた ことばを 1つだけ ノートに 書いて おきましょう。「キャッシュって なに?」だけで じゅうぶんです。

自分のパソコンやスマホの中にある記憶装置を、調べてみましょう。

今日できること

  • 設定を見てみる。家の人と一緒に、パソコンやスマホの設定で、メモリ(RAM)とストレージの大きさを見てみましょう。
  • 古い機械と比べてみる。古いスマホやパソコンがあれば、メモリとストレージの大きさが、いまのものとどれくらいちがうか比べてみましょう。
メモのすすめ

気になった言葉を1つだけ書いておくと、あとで調べる入口になります。「キャッシュって、CPUの中にあるの?」だけでも十分です。

自分の機器の記憶装置を調べたり、この記事の階段の数字を自分の環境で確かめたりすると、内容がより具体的につかめる。

手を動かして確かめる

  • 使っているCPUのキャッシュの大きさを調べる。OSの情報画面や、CPUメーカーの仕様ページで、L1・L2・L3の容量が確認できる。
  • この記事の階段を、自分の環境の数字で作りなおす。メモリの種類・容量、ストレージの種類・容量を調べ、1ナノ秒を1秒に引きのばした換算を試してみる。

一次情報にあたる

Computer History Museumの「Memory & Storage」年表には、磁気テープやドラムメモリ、磁気コア、フロッピーディスクなど、この記事で扱わなかった記憶装置の歴史が年ごとに並んでいる。

メモのすすめ

気になった数字や言葉を1つだけノートに記録しておこう。「HDDは1956年、約5メガバイト」という一文でもかまわない。

しらべた もとの じょうほう

参考にした情報源

参考にした情報源と、その使い方

この記事は、下にあげた公開情報をもとに書いています。文章や図を無断で転載してはいません。もっと正確に知りたいときは、必ず下の出典にあたってください。リンク先の内容や、リンク先で起きたことについて、当サイトは責任を負いません。

出典について:博物館・企業の歴史ページ、特許、百科事典(Wikipedia)を使っています。数値は資料ごとの年代や条件がちがうので、本文に年代を書いています。

  1. Computer History Museum「Timeline of Computer History: Memory & Storage」。 https://www.computerhistory.org/timeline/memory-storage/ (磁気コアメモリ、Intel 1103、Seagate ST506、フラッシュメモリの発明、最初のSSD、1テラバイトのHDDなどの年表)
  2. IBM「DRAM」(IBMの歴史ページ)。 https://www.ibm.com/history/dram (デナードによるDRAMの発明と、磁気コアメモリを置きかえた経緯についての解説)
  3. Memory hierarchy - Wikipedia(英語版)。 https://en.wikipedia.org/wiki/Memory_hierarchy (主記憶・補助記憶、揮発性・不揮発性、各層の容量とアクセス時間の例についての解説)
  4. CPU cache - Wikipedia(英語版)。 https://en.wikipedia.org/wiki/CPU_cache (キャッシュの役割、ヒットとミス、L1・L2・L3、初期の例についての解説)
  5. Dynamic random-access memory - Wikipedia(英語版)。 https://en.wikipedia.org/wiki/Dynamic_random-access_memory (DRAMの構造、リフレッシュ、SRAMとの違い、最初の商用チップについての解説)
  6. Wikipedia「ハードディスクドライブ」。 https://ja.wikipedia.org/wiki/ハードディスクドライブ (HDDの記録のしくみ、最初のHDD、現在の容量、衝撃に弱いことについての解説)
  7. Wikipedia「フラッシュメモリ」。 https://ja.wikipedia.org/wiki/フラッシュメモリ (フラッシュメモリの発明、NOR型とNAND型、記憶のしくみ、名前の由来、書き換え回数についての解説)
  8. Solid-state drive - Wikipedia(英語版)。 https://en.wikipedia.org/wiki/Solid-state_drive (SSDの構造、HDDとの速度・耐衝撃性・消費電力・価格の比較、書き込み回数の制約についての解説)
  9. IBM「RAMAC」(IBMの歴史ページ)。 https://www.ibm.com/history/ramac (1956年のRAMACの大きさ・重さ・記憶容量についての解説)
  10. 米国特許3,387,286号「Field-effect transistor memory」(Robert H. Dennard、Google Patents)。 https://patents.google.com/patent/US3387286A/en (1967年出願・1968年登録の、1トランジスタ・1コンデンサのメモリセルについての特許)
  11. Wikipedia「舛岡富士雄」。 https://ja.wikipedia.org/wiki/舛岡富士雄 (読み仮名、東芝でのNOR型・NAND型フラッシュメモリの発明についての解説)

なおした ところ

更新履歴

更新履歴(改版の記録)

  •  初版を公開。

このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。