ディスクキャッシュ

読み:でぃすくきゃっしゅ / 英語表記:disk cache

主記憶と磁気ディスク装置などの補助記憶装置の間に置くバッファメモリ。よく使うデータを一時的に保存し、双方のアクセス速度の差を補う。

イマシルちゃんの解説

磁気ディスクはメモリより読み出しが遅いから、同じデータでも毎回読みに行くと待ち時間が増えてしまうんだ。
ディスクキャッシュは、ディスクのデータを一時的に保存する高速なメモリだよ。
例えばOSは、主記憶と呼ばれるメモリの一部をこの用途に使うんだ。
必要なデータがそこに残っていれば、ディスクを読み直さずに取り出せる。
なければディスクから読み込み、次に使えるよう保存しておくよ。
同じデータを繰り返し使うときの読み出しを速くするのが、この仕組みの役割なんだ。

より深い解説

定義

ディスクキャッシュは、補助記憶装置(磁気ディスク装置など)と主記憶の間でやり取りするデータを、高速なメモリに一時的に保持して、補助記憶装置へのアクセスの回数を減らし、見かけのアクセス速度を高める仕組みである。

置かれる場所

種類場所
装置内のキャッシュハードディスクやSSDの装置の中にあるメモリ
OSのキャッシュ(ページキャッシュ)主記憶の一部を、OSがディスクのデータのキャッシュとして使う
RAIDコントローラのキャッシュディスクアレイの制御装置にあるメモリ

読み込みと書き込み

処理動作
読み込みキャッシュにあれば(ヒット)すぐに返す。なければディスクから読んでキャッシュに置く。続きのデータを先読みすることもある
書き込み(ライトスルー)キャッシュとディスクの両方に書いてから完了とする。安全だが遅い
書き込み(ライトバック)キャッシュに書いた時点で完了とし、後でまとめてディスクに書く。速いが、停電でデータを失うおそれがある

ライトバック方式のキャッシュを持つRAIDコントローラなどは、停電に備えてバッテリーやフラッシュメモリでキャッシュの内容を守る仕組みを持つ。

実効アクセス時間

実効アクセス時間 = ヒット率 × キャッシュのアクセス時間 + (1 − ヒット率) × ディスクのアクセス時間

キャッシュメモリと同じ考え方で、ヒット率が高いほど、実効アクセス時間は短くなる。

記憶の階層の中の位置

階層高速化の仕組み
CPU ⇔ 主記憶キャッシュメモリ
主記憶 ⇔ 磁気ディスクディスクキャッシュ
主記憶の容量の不足仮想記憶(ディスクで主記憶を補う)

似た仕組みとの区別

仕組み内容
ディスクキャッシュ主記憶と磁気ディスクの間にバッファメモリを置き、アクセス速度の差を補う
メモリインタリーブ主記憶を複数のバンクに分け、アクセスを並列に処理する
DMA主記憶と入出力装置の間で、CPUを介さずにデータを転送する
仮想記憶外部記憶装置を使って、主記憶の容量を超えるメモリ空間を使えるようにする

実際の試験ではここに出る!全2問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑