ダーティページ書き戻し(だあてぃぺえじかきもどし)
最終更新:2026/4/28
ダーティページ書き戻しは、メモリ上で変更されたページを、後でディスクなどの永続記憶装置に書き戻す処理である。
別名・同義語 ライトバックキャッシュ遅延書き込み
ポイント
ダーティページ書き戻しは、書き込み性能の向上とデータ損失リスクの軽減を両立させるために、データベースやファイルシステムで広く用いられる。
概要
ダーティページ書き戻し(Dirty Page Writeback)は、コンピュータシステムにおけるキャッシュ管理の重要な技術の一つです。キャッシュは、CPUが頻繁にアクセスするデータを一時的に保存する高速な記憶領域であり、メインメモリやディスクからデータを読み込む際の遅延を削減します。しかし、キャッシュに保存されたデータは、元のデータソース(ディスクなど)と一致しなくなる可能性があります。ダーティページ書き戻しは、この不整合を解消するための仕組みです。
仕組み
ダーティページ書き戻しの基本的な流れは以下の通りです。
- データの変更: CPUがキャッシュ内のデータを変更します。
- ダーティフラグの設定: キャッシュコントローラは、変更されたページに「ダーティフラグ」を設定します。このフラグは、キャッシュ内のデータが元のデータソースと異なっていることを示します。
- 書き戻し: キャッシュコントローラは、ダーティフラグが設定されたページを、定期的にまたは必要に応じて元のデータソースに書き戻します。この書き戻し処理は、通常、バックグラウンドで実行されます。
メリット
- 書き込み性能の向上: ダーティページ書き戻しにより、CPUは頻繁にディスクに直接書き込む必要がなくなり、書き込み性能が向上します。
- データの一貫性: ダーティページ書き戻しにより、キャッシュと元のデータソースとの間でデータの一貫性が保たれます。
- システム全体の効率向上: キャッシュの効率的な利用により、システム全体のパフォーマンスが向上します。
デメリット
- データ損失のリスク: システムがクラッシュした場合、ダーティフラグが設定されたページがディスクに書き戻されていない場合、データが失われる可能性があります。このリスクを軽減するために、バッテリーバックアップ付きのキャッシュや、トランザクションログなどの対策が用いられます。
- 書き戻し処理のオーバーヘッド: ダーティページ書き戻し処理自体にもオーバーヘッドがあり、システムリソースを消費します。
応用例
- データベースシステム: データベースシステムでは、ダーティページ書き戻しは、トランザクションの永続性を保証するために重要な役割を果たします。
- ファイルシステム: ファイルシステムでは、ダーティページ書き戻しは、ファイルの書き込み性能を向上させるために用いられます。
- オペレーティングシステム: オペレーティングシステムでは、ダーティページ書き戻しは、メモリ管理の一部として機能します。