記憶階層(主記憶と補助記憶)

目次

さまざまな記憶装置

コンピュータにおいて、データを保存し、読み取るための装置のことを記憶装置といいます。

記憶装置について抑えるべき特徴としては、アクセス速度(読み書きの速度)や容量などのほか、揮発性なのか不揮発性なのかといった点が重要になります。

揮発性と不揮発性

揮発性とは、電源の供給が途絶えると記憶装置の中に保存されているデータが消えてしまうことを指します。

一方、不揮発性とは、電源を切ってもデータが残り続けることを指します。

主記憶

主記憶装置(メインメモリ)は、コンピュータが実行中に使用するデータやプログラムを一時的に格納するための装置で、CPUが直接アクセスして読み書きを行います。

単に主記憶(メモリ)とも呼ばれています。

電源を切るとデータが消える揮発性メモリであり、主記憶装置1枚の記憶容量は数GB~数十GBが主流です。

主記憶装置(DRAM)

キャッシュメモリ

上述したように、CPUは命令を実行するためにメモリからデータを読み込みますが、ここで一つ大きな問題に遭遇します。

それは、CPUと主記憶装置(メインメモリ)との速度差です。CPUは非常に高速に動作しますが、メインメモリの動作速度がCPUと比べて遅いため、CPU側に待ち時間が生じ、その結果、全体の性能を低下させてしまうのです。

つまり、CPUがその処理速度をフルに活かすためには、同じく高速にデータを供給できるメモリが必要になります。

ここで登場するのがキャッシュメモリです。

キャッシュメモリはCPUと同じチップ上に存在する高速なメモリで、CPUが頻繁にアクセスするデータや指令を保存しておきます。これにより、CPUがデータを必要としたとき、遅いメインメモリからではなく、高速なキャッシュメモリから取得できるようになります。

この効果は「局所性の原理」とも呼ばれる現象によります。プログラムが動作する際、一度使用したデータや指令は再度使われる可能性が高いという特性があります(これを「時間的局所性」)、またあるデータが使われるとその近辺のデータが使われる可能性が高い(これを「空間的局所性」といいます)。

つまり、キャッシュメモリはCPUとメインメモリとの速度差を埋める役割を果たし、これによってCPUが待つ時間を減らし、全体の性能を向上させることができるのです。

また、一般にキャッシュメモリは、1次キャッシュ、2次キャッシュ、3次キャッシュなどのレベルに分かれています。レベルが低いキャッシュメモリほど速度が速く、容量が小さくなります。

レジスタ

レジスタは、コンピュータのCPU内にある非常に高速な記憶領域で、プロセッサが直接アクセスできます。

レジスタは、計算結果の一時保存、指示の実行に必要なデータの保持、プログラムカウンタ(次に実行する指示のアドレスを保持)など、さまざまな目的で使用されます。

その容量は小さいものの、そのアクセス速度は最も速いです。(上図のピラミッドの頂点に位置します)

補助記憶

補助記憶装置は、主記憶装置では扱いきれない大容量のデータを永続的に保存するための装置であり、電源が切れてもデータを保持し続ける不揮発性の特徴を持ちます。

ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、光ディスクなどが代表的な補助記憶装置として広く使用されています。

補助記憶装置は主記憶装置とは異なり、データの読み書きに時間がかかる反面、大容量かつ安価であるため、一時的に使用しないデータや永続的に保存する必要があるデータを保管する際に使用されます。

補助記憶装置の種類

種類特徴記憶媒体の例
磁気
ディスク
円盤状のプラッタに磁気記録層を塗布したもの。データは磁気ディスク上を磁気ヘッドが移動して読み書きする。HDD(ハードディスクドライブ)
フラッシュ
メモリ
半導体素子に記憶セルを配列した記憶装置で、電気信号によって情報の書き込みや読み出しが行われる。SSD(ソリッドステートドライブ)、USBメモリ、SDカード
光ディスクデータを光で読み取るディスク状の記憶媒体。ディスク上には微小なピットと呼ばれる溝が刻まれており、光学的な読み取り装置がこれを読み取ってデータを復元する。CD、DVD、BD

ハードディスク装置

HDD(ハードディスクドライブ)は、磁気を利用してデータを読み書きする補助記憶装置の一種です。

HDDは、磁気ヘッドと呼ばれるアームが、高速回転する磁気ディスクに対して上下に動くことで、磁気ディスクの表面に記録された情報を読み書きします。

HDDの磁気ディスクには、複数の円盤が重ねられていて、それらの表面には磁性体が塗られています。磁気ディスクは高速で回転し、磁気ヘッドは微小な電気信号を使って磁性体に情報を書き込んだり、読み出したりします。

比較的高速なデータのアクセスが可能で、容量が大きく、比較的低コストで製造できることから、一般的なパソコンやサーバーでよく使用されます。ただし、機械的な動作部分が存在するため、衝撃や振動に弱く、故障のリスクがあります。

容量は数GB~数TBが主流です。

RAID

RAID (レイド:Redundant Array of Independent Disks) とは、複数のハードディスクを一つの論理的なドライブとしてまとめて使う技術です。

RAIDを利用することで、以下の2つのメリットの両方、あるいはどちらかが得られます。

  • データの読み書きの高速化(パフォーマンス向上)
  • データの冗長化(耐障害性)

これにより、ハードディスクの読み書きが遅くて壊れやすいという弱点をある程度カバーすることができます。

複数のハードディスクをまとめる方法として、以下のような方式があります。

RAID0(ストライピング)

RAID0は①のパフォーマンス向上を目指した方法で、データを複数のハードドライブに均等に分散して保存します。これにより、複数のドライブから同時にデータを読み書きすることが可能になり、データ転送速度が大幅に向上します。

ただし、いずれかのドライブが故障すると、全てのデータが失われるリスクがあるため、②のデータの冗長性は低下します。

ストライピングのプロセスでは、データをストライプ(縞模様)のように保存します。

RAID1(ミラーリング)

RAID1は②のデータの冗長性と信頼性を高めるための方法で、少なくとも2つのハードドライブに同じデータを書き込むことで、ミラーリングを行います。これにより、1つのドライブが故障しても他のドライブからデータを取り出すことができ、データの損失を防げます。

しかし、ミラーリングのためのストレージ容量が必要なため、ストレージ効率はRAID0に比べて低下します。

RAID5

RAID5はパフォーマンスとデータの冗長性をバランス良く確保する方法で、①と②のメリットを同時に得られます。

少なくとも3つのハードドライブが必要で、データとパリティ(エラーチェック・修復情報)を交互に各ドライブに分散して書き込みます。

どれか1つのドライブが故障してもパリティ情報を利用してデータを再構築できます。これにより、RAID0のような高速なデータ転送と、RAID1のような冗長性をある程度両立できます。ただし、ドライブが故障した場合の再構築には時間がかかるという欠点があります。

なお、RAID5では、搭載したHDDの-1台分のデータが使用できます。例えば、4台のHDDを使い、1台あたりのHDDの容量が1Tバイトのとき、およそ3Tバイトのデータが保存可能です。


以上のように、RAIDを使うことで、高速化やデータの安全性が実現できますが、複数のハードディスクを必要とするため、コストが高くなることがあります。

フラッシュメモリ

フラッシュメモリは、情報を電子的に保存・読み出しする半導体メモリの一種です。

電源を切っても情報が消えない、つまり不揮発性を持っているため、USBメモリ、デジタルカメラのメモリーカード(SDカード)、ソリッドステートドライブ(SSD)、スマートフォンなどに利用されています。

フラッシュメモリは読み書きが速く、耐久性があり、また物理的な動きを伴わないために衝撃に強いといった特徴を持っています。

これらの特性から、従来のハードディスクドライブ(HDD)に代わるデータ保存メディアとして広く採用されています。また、省電力な点もフラッシュメモリの利点となり、モバイルデバイスでの使用に適しています。

USBメモリ
SDカード
SSD

SSD

SSD(Solid State Drive)は、フラッシュメモリと同様に半導体メモリを使用する補助記憶装置です。

HDDと比較すると、データの読み書き速度が高速で、動作音がほとんどなく、機械式の部品を持たないことから衝撃に強いという特徴があります。また、消費電力が低いため、ノートパソコンやタブレット、スマートフォンなどの携帯端末にも採用されています。

ただし、価格が高く、容量が小さいという欠点があります。最近では、SSDの性能向上により、HDDと同様の大容量モデルも登場していますが、まだまだ高価な傾向があります。

SSD(2.5インチ)
SSD(M.2)

光ディスク

光ディスクは、レーザー光を用いてデータを読み書きする記憶媒体です。

ディスクの表面には、微細なピットと呼ばれる溝があり、レーザー光の反射によって情報が読み取られます。

CD、DVD、Blu-ray Disc(ブルーレイディスク)などの種類が存在し、それぞれに異なる容量と用途があります。

主にCDは音楽やデータの保存に、DVDは映像の保存に、Blu-rayディスクは高画質映像の保存に利用されます。

光ディスクの種類

CD
(Compact Disc)
CDは、初めて広く採用された直径12cmの光ディスクメディアです。1980年代に開発され、最初は音楽の保存と再生用途で使用されました。その容量は約700MB(メガバイト)で、これは約80分の音楽を保存するのに充分な量です。
音楽、データ、写真などをデジタル形式で保存するために使用されますが、主に音楽の保存と再生に使用されます。
DVD
(Digital Versatile Disc)
DVDはCDの後継として登場し、音楽、データ、写真、映像などをデジタル形式で保存するために使用されます。DVDはCDと同じ直径12cmですが、データの密度が高いために大きな容量を持っています。一層のDVDは約4.7GB、二層のDVDは約8.5GBのデータを保存することができます。DVDは主に映画の配布に使われ、DVDプレーヤーやコンピュータで再生することができます。
※versatileは「多用途」という意味です。
BD
(Blu-ray Disc)
BDは青紫色半導体レーザーを使用する光ディスクで、DVDの後継として登場しました。音楽、データ、写真、映像などをデジタル形式で保存するために使用されます。BDはCDやDVDと同じ直径12cmですが、さらに高密度なデータ記録が可能であり、大容量のデータを保存できます。一層のBDは約25GB、二層のBDは約50GBのデータを保存することができます。BDは特に高解像度の映像、例えば映画やゲームの配布に使われ、BDプレーヤーやコンピュータで再生することができます。

光ディスクの記憶方式

再生専用型この種類のディスクは、工場で一度だけデータが記録され、それ以降は読み取り専用となります。消去や再記録はできません。このようなディスクは、大量生産が可能であるため、音楽CDや映画DVD/BDなど、一般的な販売用メディアに使われます。

例としては、CD-ROM、DVD-ROM、BD-ROMなどがあります。
追記型この種類のディスクは、ユーザーが自分でデータを記録することができますが、一度記録したデータを書き換えたり消去したりすることはできません。ただし、まだ記録されていない部分には容量が許す限り何度でもデータを追加することができます。記録する際には特殊な光ディスクドライブが必要です。

例としては、CD-R、DVD-R、BD-Rなどがあります。
書き換え型この種類のディスクは、ユーザーが自分でデータを記録し、それを何度でも消去して再記録することができます。記録と消去には特殊な光ディスクドライブが必要です。

例としては、CD-RW、DVD-RW、DVD-RAM、BD-REなどがあります。
追記型・書き換え型の原理

追記型(R)の光ディスクでは、初めてデータを記録するとき、ディスク上の記録層に特殊な色素がレーザーにより加熱され、その結果色素が化学反応を起こしデータの「0」と「1」を表すピット(小さな凹み)が作られます。一度記録したデータは消去することができず、空いている部分にのみ新たなデータを追記することができます。CD-RやDVD-Rなどがこのタイプに該当します。

書き換え型(RW)の光ディスクでは、ディスク上の記録層に特殊な合金が使われており、高温のレーザーでこの合金を結晶状から無秩序なアモルファス状に変化させることでピットを形成し、データを記録します。また、合金をより高温に加熱することでアモルファス状から結晶状に戻し、ピットを消去し、新たなデータを書き込むことができます。CD-RWやDVD-RWなどがこのタイプに該当します。

両者に共通しているのは、高温のレーザーを用いるという点です。

目次