メモリの種類と特徴

メモリ

メモリの種類と特徴を徹底解説:DRAM・SRAM・ROMから最新メモリ技術まで

コンピュータにおけるメモリは、 単なる「データを保存する場所」ではなく、 システム全体の性能や設計に大きな影響を与える重要な要素です。

CPUやストレージとの関係、アクセス速度、揮発性の有無など、 メモリにはさまざまな種類と特性が存在します。

本記事では、 主要なメモリの種類とその特徴を体系的に整理し、 アーキテクチャレベルで理解できるよう解説します。

メモリの分類(全体像)

メモリは大きく以下のように分類されます。

  • 揮発性メモリ(電源を切ると消える)
  • 不揮発性メモリ(電源を切っても保持)

さらに、 用途や構造によって細分化されます。

揮発性メモリ(Volatile Memory)

DRAM(Dynamic RAM)

DRAMは、 最も一般的に使われているメインメモリです。

特徴:

  • 高密度で大容量化が可能
  • 比較的低コスト
  • 定期的なリフレッシュが必要

構造的には、 コンデンサに電荷を蓄えることでデータを保持します。

代表例:

  • DDR4
  • DDR5

SRAM(Static RAM)

SRAMは、 高速動作を目的としたメモリです。

特徴:

  • 非常に高速
  • リフレッシュ不要
  • 高コスト・低密度

主にCPUキャッシュ(L1/L2/L3)として使用されます。

不揮発性メモリ(Non-Volatile Memory)

ROM(Read Only Memory)

ROMは、 読み出し専用のメモリです。

特徴:

  • 電源を切ってもデータ保持
  • 書き込みは制限される

用途:

  • ファームウェア
  • ブートコード

EEPROM / Flashメモリ

ROMの進化形として、 書き換え可能な不揮発性メモリがあります。

特徴:

  • 電気的に書き換え可能
  • フラッシュ単位で消去

用途:

  • SSD
  • USBメモリ
  • BIOS / UEFI

メモリ階層(Memory Hierarchy)

メモリは速度と容量のトレードオフにより、 階層構造になっています。

種類特徴
CPU内部レジスタ最速・極小容量
キャッシュSRAM高速・小容量
メインメモリDRAM中速・大容量
ストレージFlash低速・大容量

この階層構造により、 全体の性能とコストのバランスが最適化されています。

DRAMの種類と進化

DRAMは世代ごとに進化しています。

  • SDRAM
  • DDR(Double Data Rate)
  • DDR2 / DDR3 / DDR4 / DDR5

進化のポイント:

  • 帯域幅の増加
  • 消費電力の低減
  • 動作周波数の向上

特殊用途メモリ

VRAM(Video RAM)

GPU専用のメモリです。

特徴:

  • 高帯域幅
  • 並列処理に最適化

例:

  • GDDR6
  • HBM(High Bandwidth Memory)

NVRAM / NVMe関連メモリ

不揮発性でありながら高速アクセスを実現するメモリです。

例:

  • 3D XPoint(Optane)

DRAMとストレージの中間的な存在です。

キャッシュメモリ

CPUとメインメモリの速度差を埋めるためのメモリです。

  • L1(最速)
  • L2
  • L3(共有)

メモリ性能に影響する要素

  • レイテンシ(遅延)
  • 帯域幅(Bandwidth)
  • アクセスパターン(局所性)
  • キャッシュヒット率

特に、

メモリレイテンシはCPU性能に直結

します。

ECCメモリ

サーバー環境では、 ECC(Error Correcting Code)メモリ が重要です。

特徴:

  • ビットエラーの検出・訂正
  • 高信頼性

金融・医療・クラウド環境などで必須となります。

メモリの設計観点

システム設計では、 以下の観点が重要です。

  • 容量 vs レイテンシ
  • 帯域幅の確保
  • NUMA構成
  • キャッシュ効率

特にNUMA環境では、 メモリアクセスの場所が性能に大きく影響します。

まとめ

メモリは、 単なるデータ保存領域ではなく、 システム性能を左右する重要な要素です。

  • DRAM:メインメモリ
  • SRAM:高速キャッシュ
  • Flash:不揮発性ストレージ
  • VRAM:GPU専用

さらに、

  • 階層構造
  • レイテンシと帯域
  • キャッシュ効率

を理解することで、 システム全体の最適化が可能になります。

メモリの特性を正しく理解することは、 高性能なシステム設計とトラブルシューティングの基盤となります。