テクノロジ系

メモリの階層構造とRAID — アクセス時間の計算と冗長化

導入

パソコンは高速なCPUを持っているのに、なぜ「メモリが足りない」と遅くなるのでしょうか。実はコンピュータのメモリは1種類ではなく、速度・容量・コストの違いから複数の層に分かれており、その設計がシステム全体の性能を左右しています。

くわしく知ろう

コンピュータのメモリは階層構造として設計されています。最も高速なCPU内部のレジスタ、次にキャッシュメモリ(SRAM)、その下に主記憶(DRAM)、さらに補助記憶の順に並びます。DRAMはコンデンサで情報を保持するため定期的なリフレッシュが必要で、安価・大容量という特性があります。SRAMはリフレッシュが不要で高速ですが高価なため、キャッシュメモリに使われます。

キャッシュメモリの効果を表す指標がヒット率 h です。実効アクセス時間 T は T = h×Tc + (1-h)×Tm(Tc:キャッシュ時間、Tm:主記憶時間)で求められます。ヒット率 0.9、キャッシュ 10ns、主記憶 100ns なら T = 0.9×10 + 0.1×100 = 19ns となります。

仮想記憶は補助記憶の一部を主記憶として見せかける仕組みです。固定長単位(ページ)で管理し、必要なページが主記憶にない場合はページフォールトが発生してスワッピング(ページ転送)が行われます。スワッピングが頻発するとスラッシングと呼ばれる性能低下につながります。

RAIDは複数ディスクを組み合わせる技術です。RAID 0は高速化のみで耐障害性なし、RAID 1はミラーリングで1台故障に耐え、RAID 5はデータとパリティ(XOR演算)を分散して1台故障から復元でき、RAID 6はパリティ2重で2台同時故障まで対応します。

具体例

たとえばRAID 1はサーバーのOSディスクに多く使われ、1台が壊れてもサービスを止めずに交換できます。一方、RAID 5は3台以上でパリティを分散するため容量効率も高く、ファイルサーバーの用途で広く採用されています。

まとめ・試験ポイント

  • DRAM=主記憶、安価・大容量・リフレッシュ必要。SRAM=キャッシュ、高速・高価・リフレッシュ不要
  • 実効アクセス時間の公式:T = h×Tc + (1-h)×Tm(h:ヒット率、Tc:キャッシュ時間、Tm:主記憶時間)
  • 仮想記憶:ページング(固定長管理)・ページフォールト(ページ未存在)・スワッピング(ページ転送)
  • RAID 0=高速化のみ(冗長性なし)、RAID 1=ミラーリング(1台故障まで)、RAID 5=パリティ分散(1台故障まで)、RAID 6=パリティ2重(2台故障まで)
  • 試験ではヒット率計算、RAID各方式の特徴の違い、ページフォールトの用語が頻出

学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。

入門試験100問に挑戦する