メモリとストレージの違いは? 「8GB」と「256GB」の意味
仕様表の「メモリ 8GB」は、いま動かしているアプリや作業中のデータを置く場所の大きさです。速く読み書きできますが、電源を切ると中身は消えます。「ストレージ 256GB」は、写真やアプリをしまっておく場所の大きさで、電源を切っても中身が残ります。
この記事でわかること
- 仕様表の「メモリ」と「ストレージ」の数字が、それぞれ何を表すか
- メモリ(DRAM)とストレージ(フラッシュメモリ)が、チップの中でデータを覚えるしくみ
- 両者の速さの差がどれくらいで、なぜ両方が必要なのか
- メモリが足りなくなると何が起きるか、「256GB」が少なく表示される理由
前提知識: 特にありません。CPUを「プログラムの命令を実行する部品」と知っていると読みやすくなります。
身近なところでは: 仕様表に並ぶ2つの「GB」
スマホやパソコンの仕様表には、「メモリ 8GB」「ストレージ 256GB」のように、GBのつく数字が2つ並びます。単位が同じなので、同じものの量に見えます。しかし、この2つはまったく別の部品の大きさです。店で「256GBと512GBのどちらに?」と聞かれるのは、ふつうストレージのほうです。
GB(ギガバイト)は、データの量の単位です。1バイトで、英字なら1文字分を表せます。G(ギガ)は10億を表すので、1GBはおよそ10億バイトです。正確な数え方には2通りあり、後で説明します。
メモリは「いま使っているもの」を置く場所
CPUは、プログラムの命令を1つずつ取り出して実行する部品です(「CPUとは?」)。CPUが作業する間、命令とデータを置いておく場所がメモリです。「主記憶」や「メインメモリ」とも呼びます。
アプリを起動すると、アプリの中身が、次に説明するストレージからメモリに読み込まれます。CPUは、メモリの上のデータで作業します。ブラウザで開いているページや編集中の文書も、メモリの上にあります。メモリの容量が大きいほど、多くのアプリやデータを同時に置いておけます。
いまのメモリには、ほぼ必ずDRAM(ディーラム)という種類の半導体チップが使われています。DRAMは、とても速く読み書きできる代わりに、電源を切ると中身が消えます。
電源を切ると中身が消える性質を「揮発性」と呼びます。書きかけの文書を保存せずに電源が落ちると、その部分が失われるのはこのためです。「保存」とは、メモリの上のデータを、次に説明するストレージへ書き移すことです。
ストレージは「しまっておく」場所
ストレージは、写真、動画、アプリ、文書などを、電源を切っても残しておく場所です。電源がなくても記憶を保てる性質を「不揮発性」と呼びます。
スマホのストレージには、NAND型フラッシュメモリという半導体チップが使われています。以下では、短く「フラッシュメモリ」と呼びます。USBメモリやSDカードの中身も、同じ種類のチップです。
いまのパソコンの多くは、フラッシュメモリを使ったストレージを積んでいます。これをSSDと呼びます。ストレージはメモリよりずっと容量が大きく、同じ容量なら値段も安いのが特徴です。その代わり、読み書きはずっと遅くなります。
なぜ分けるのか: 速さ・容量・値段のかね合い
速くて、大きくて、安くて、電源を切っても消えない。そんな理想の記憶装置があれば、メモリとストレージを分ける必要はありません。しかし、いまの技術では、速いものほど容量あたりの値段が高く、大きくて安いものほど遅くなります。
そこでコンピュータは、性質の違う記憶装置を何段にも重ねて使います。CPUに近い段ほど速くて小さく、遠い段ほど遅くて大きくなります。この並びを「メモリ階層」と呼びます。図の右の数字は、データを1回読み出すのに待つ時間の目安です。1ナノ秒は10億分の1秒、1ミリ秒は1,000分の1秒です。
いちばん上のレジスタは、CPUの中にある、計算中の数を入れておくごく小さな記憶場所です。数はわずかですが、CPUは待たずに使えます。
その次のキャッシュは、メモリの中でよく使う部分の写しを、CPUのすぐそばに置いたものです。プログラムは同じデータを短い間にくり返し使うことが多いので、この工夫がよく効きます。
いちばん下のHDD(ハードディスク)は、回転する円盤に磁気で記録する装置です。読み取る部品を動かし、読みたい場所が回ってくるのを待つので、時間がかかります。安く大容量にできるため、保存用に今も使われています。
しくみ① DRAMは「電気をためる小さな入れ物」
ここからは、チップの中でデータを覚えるしくみを見ます。コンピュータのデータは、0と1の並びで表します。0か1かの1つ分を「ビット」と呼び、8ビットで1バイトです。
DRAMは、1ビットを、小さなスイッチ1個と、電気をためる小さな入れ物1個で覚えます。スイッチはトランジスタ(「トランジスタとは?」)で、入れ物は「キャパシタ」という部品です。入れ物に電気がたまっていれば1、空なら0というように区別します。このしくみは、1966年にIBMのロバート・デナードが考え出しました。
1ビットを覚える1組を「セル」と呼びます。DRAMのセルは部品が2つだけなので、とても小さく作れて、チップにぎっしり並べられます。8GBのメモリなら、セルの数は約690億個にもなります。
ただし、この入れ物からは、ためた電気が少しずつ漏れていきます。放っておくと、1だった入れ物が0と見分けられなくなります。そこでDRAMは、中身が消える前に定期的に読み出して、同じ値を書き直します。これをリフレッシュと呼びます。
パソコン用のメモリでは、すべてのセルを数十ミリ秒ごとに1回ずつ書き直します。ふつうの温度で、DDR4という規格なら64ミリ秒、新しいDDR5なら32ミリ秒ごとです。DRAMの「D」(ダイナミック)は、このように絶えず手入れが必要なことを表しています。
電源を切ると、リフレッシュも止まります。漏れた電気は戻らないので、中身はやがて消えます。これが、メモリが揮発性である理由です。
しくみ② フラッシュメモリは「電子を閉じ込める部屋」
フラッシュメモリのセルは、少し変わったトランジスタ1個でできています。トランジスタには、オン・オフを切り替えるための電極があり、これをゲートと呼びます。このトランジスタは、ゲートの下に小さな「部屋」を持っています。
部屋のまわりは、電気を通さない膜で囲まれています。この膜を「絶縁膜」と呼びます。部屋に電子(電気を運ぶ小さな粒)を閉じ込めると、トランジスタはオンになりにくくなります。
読み出すときは、ゲートに決まった大きさの電圧をかけます。オンになれば電子なし、ならなければ電子あり、と見分けます。部屋は絶縁膜で囲まれているので、電源を切っても電子は外へ出にくく、データが残ります。
この部屋は、昔ながらの方式ではフローティングゲート(浮いた電極)と呼ばれます。いまの大容量の製品の多くは、部屋の代わりに、電子をとらえて離さない性質の膜を使います。Samsungが2013年に量産を始めた、セルを縦に積み重ねた製品も、この方式です。
NAND型フラッシュメモリは、1987年に東芝の舛岡富士雄さんらのチームが発表したものです。セルを数珠つなぎにして場所を節約するので、大容量を安く作れます。
書き込むときは、強い電圧をかけて、電子を絶縁膜の向こうの部屋へ押し込みます。消すときも、強い電圧で電子を引き抜きます。これをくり返すと膜が少しずつ傷み、電子を閉じ込める力が弱っていきます。フラッシュメモリに書き換えの回数の限界があるのは、このためです。
そこで、SSDやスマホの中の制御用のチップは、同じ場所にばかり書き込みが集中しないよう、書き込む場所を散らしています。この工夫をウェアレベリングと呼びます。
メモリが足りなくなると何が起きる?
開いているアプリが多すぎると、メモリに入りきらなくなることがあります。このときの動きは、コンピュータ全体を管理する基本ソフト(OS)によって違います。ここでは代表的な例を、単純化して説明します。
Windowsのパソコンでは、しばらく使われていないデータを、メモリからストレージ上の専用の場所へ一時的に移します。この場所を「ページファイル」と呼びます。空いたメモリを、いま使うアプリに回せます。ただ、移したデータを再び使うときはストレージから読み戻すので、その間は動きが重くなります。
Androidの開発者向け資料によると、Androidはストレージをこの目的に使いません。頻繁な書き込みでフラッシュメモリが傷むからです(一部のメーカーは、ストレージを使う機能を独自に加えています)。代わりに、メモリの中でデータを圧縮して詰めたり、裏で開いたままのアプリを終了させたりして、メモリを空けます。iPhoneのiOSも、メモリが足りなくなるとアプリを終了させます。
終了させられたアプリは、次に開いたときに、ストレージから読み込み直されます。しばらくぶりに切り替えたアプリが最初の画面から始まったり、表示に時間がかかったりするのは、このためです。メモリに余裕があるほど、アプリを終了させる必要は減ります。
「256GB」なのに少なく表示されるのはなぜ?
256GBのスマホを買っても、設定の画面で使える量は、それより少なく表示されます。理由の1つは、OSやはじめから入っているアプリが場所を使っているからです。もう1つは、「GB」の数え方が2通りあることです。
ストレージのメーカーは、1GBを10億バイトとして数えます。一方、コンピュータの世界では、2倍ずつ増える数で区切るほうが都合がよいことが多くあります。そこで、1GBを2の30乗(1,073,741,824)バイトとして数えるソフトもあります。この数え方では、256GBは約238GBになります。
Seagateの説明によると、Windowsは後者の数え方で容量を表示します。一方、Appleによると、いまのiPhoneやMacは10億バイトの数え方です。同じストレージでも、どの機器で見るかで表示の数字が変わるわけです。
2つを区別するため、IEC(国際電気標準会議)は1998年、2の30乗バイトを「GiB(ギビバイト)」と呼ぶと決めました。ただ、実際には今も、どちらも「GB」と書かれることがほとんどです。なお、メモリの「8GB」は、半導体の規格を決める業界団体JEDECの定義に沿って、2の30乗の数え方を使うのが慣例です。
よくある誤解
誤解: メモリとストレージは同じもので、どちらも「保存できる量」の数字
実際は、メモリは作業中のものを置く速い場所で、電源を切ると消えます。ストレージは、電源を切っても残しておく場所です。混同されやすいのは、どちらもGBで書かれ、言葉もまぎらわしいからです。例えばUSBメモリはストレージですが、中のチップがフラッシュ「メモリ」なので、こう呼ばれます。仕様表では「メモリ」「RAM」は作業用、「ストレージ」「容量」は保存用と読むのが目安です。
誤解: ストレージの容量が大きいスマホほど、動作が速い
実際は、ストレージの容量は「どれだけしまえるか」の数字で、動作の速さを直接は決めません。値段の高い型ほど速そうに見えることが、誤解のもとです。ただし、容量の大きい型にだけメモリを多く積む機種もあり、その場合はメモリの差が効きます。また、空きがほとんどないと、アプリの更新や一時的なデータの置き場に困り、動作に影響することはあります。パソコン用のSSDには、容量の大きい型ほど書き込みが速い製品もあります。
誤解: SSDは動く部品がないので、すり減らない
実際は、フラッシュメモリには書き換えの回数の限界があり、SSDにも寿命があります。メーカーは、保証する書き込みの総量を、TB(1TBは1,000GB)の単位で示します。これをTBWと呼びます。例えばSamsungの「990 PRO」の1TBの型は600TBW(保証は5年まで)です。毎日100GBずつ書き込んでも、600TBに届くまで約16年かかる量です。TBWは保証の目安で、超えるとすぐ壊れるわけでも、それまで必ずもつわけでもありません。
数字で見る
| 項目 | 数字 | くらべると |
|---|---|---|
| キャッシュ(CPUにいちばん近い段)の読み出し | 約1ナノ秒 | 1秒に拡大すると: 1秒 |
| メモリ(DRAM)の読み出し | 約100ナノ秒 | 約100秒(2分弱) |
| SSDの読み出し | 約0.1ミリ秒 | 約1日 |
| HDDの読み出し | 約10ミリ秒 | 約4か月 |
| 256GBを2の30乗で数えると | 約238GB | 約7%少なく見える |
| 990 PRO 1TBが保証する書き込み量(TBW) | 600TB | 全容量を約600回書き換える量 |
上の4行は、1回の読み出しを待つ時間の目安です。キャッシュの1ナノ秒を1秒に引きのばすと、メモリは約100秒、SSDは約1日、HDDは約4か月待つことになります。メモリからSSDへ1段下がるだけで、待ち時間はおよそ千倍になります。
SSDの値は、フラッシュメモリのチップの読み出し時間(東芝メモリの2019年の資料で約0.05ミリ秒)と同じ程度です。なお、1秒あたりに運べる量は別の数字で、990 PROは続けて読むと最大で毎秒7,450MBです。それでも、1回ごとの待ち時間ではメモリにかないません。
もっと詳しく学ぶ
- 違いを表で見る: DRAMとNANDフラッシュの違い、DRAMとSRAMの違い(キャッシュに使うメモリ)、SSDとHDDの違い、NAND型とNOR型の違い、NVMeとSATAのSSDの違い
- 次の一歩の用語: 3D NAND(セルを縦に積む)、TLC(1つのセルに3ビット)、LPDDR(スマホ向けのDRAM)、仮想記憶(メモリを管理するしくみ)
- 数字で試す: 画像・音声・動画のデータ量の計算ツール(ストレージにどれだけ入るかの目安)
- 図で見る: メモリ階層・DRAMのセル・NANDのセルの並びは、図解の一覧にあります
- 土台から読む: 「半導体とは?」