ちえん‐かきこみ【遅延書(き)込み】
遅延書き込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/14 03:21 UTC 版)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2014年11月) |
遅延書き込み (Lazy Write Back) とは、キャッシュのアルゴリズムの一つで、頻繁に更新される内容をいったん高速なメモリ上で処理し、最終的に書き込み完了と判断された時点で、低速な媒体に書き込む事である。[1]
メモリキャッシュの遅延書き込み
キャッシュメモリはCPUのレジスタ速度よりは若干遅いものの、DRAMに比べると遥かに高速である。その為、頻繁に発生するメモリ書き込みをキャッシュ上で保持し、DRAMへの書き込みを行わない様にすると、書き込みに要するレイテンシが短縮され、CPUの処理能力は向上する。キャッシュメモリはCPUに直結された信頼できるメモリ領域であり、キャッシュラインの交代ないしは、命令によってDRAMへの出力を強制した時にキャッシュメモリからDRAMへの転記が行われる。この際、キャッシュライン全体にメモリアクセスを揃え、キャッシュラインの全体に揃わないメモリアクセスを一括する事により、DRAMのアクセスタイム全体に対するメモリアクセスの密度を高める事でさらにシステム全体の性能を向上させる事ができる。この実装は、インテルのCPUでは、P6マイクロアーキテクチャで採用され、その後の全てのCPUはこの機能を備えている。AMDもK6プロセッサ上で実現しており、DRAMのアクセスタイムにおけるレイテンシはキャッシュによって隠蔽される。
ファイルシステムの遅延書き込み
ファイルシステムでも遅延書き込みに対応している。この実装はまずハードディスクのコントローラー上で実装され、特にアクセスが集中するファイル管理領域へのアクセスをコントローラー上のキャッシュメモリで保持しておき、ハードディスクへのアクセスが中断されたアイドル時間中に管理領域の情報はハードディスクのプラッターに書き込まれる。[2]この機能は高性能なSCSIハードディスクで実装されたが、高価なキャッシュメモリを必要とされる為、低廉なIDEハードディスクではATA規格が策定され、SCSIコマンドがIDEハードディスクでも使える様になるまで実装されなかった。
この問題はコンシューマー向けオペレーティングシステムを開発しているマイクロソフトに影響を与え、SCSIハードディスクの遅延書き込みと同等の機能をMS-DOSで実現する、ハードディスクキャッシュドライバSmartdrvが開発された。Smartdrvは、管理領域や頻繁に更新される領域へのアクセスをいったんDRAMキャッシュメモリに保持し、ファイルのクローズやディスクへのフラッシュシステムコールが発行されるまで、ハードディスクには書き戻さない事で性能の高速化を図った。同時に既にNetwareで実装されていたエレベーターシーキングも実装している。互換性と信頼性の問題から、IDEハードディスクは依然としてキャッシュメモリによる遅延書き込みはATAコマンドが発行されるまで有効化されなかった。Appleは標準ハードディスクにSCSIハードディスクを採用していた為、この問題が顕著になる事はなく、結果としてSmartdrvが開発されるまでは、Macintoshが高性能ワークステーションとして評価された。
脚注
- ^ 日経クロステック(xTECH) (2023年3月23日). “USBの謎、Type-C端子はType-Aよりも絶対高速か?”. 日経クロステック(xTECH). 2024年1月20日閲覧。
- ^ alvinashcraft (2023年6月13日). “ファイル キャッシュ - Win32 apps”. learn.microsoft.com. 2024年1月20日閲覧。
遅延書き込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/08/15 22:27 UTC 版)
「デフラグメンテーション」の記事における「遅延書き込み」の解説
ディスクの書き込み時にはまずメモリのキャッシュ領域に書き込む。メモリのキャッシュ領域に書き込みが終了した時点で、ユーザーに書き込み完了を通知する。その後、バックグラウンドでメモリのキャッシュ領域からハードディスクに書き込む。断片化により書き込み時間が増加したとしても、ユーザーから見ると書き込み時間の遅延は感じられない。
※この「遅延書き込み」の解説は、「デフラグメンテーション」の解説の一部です。
「遅延書き込み」を含む「デフラグメンテーション」の記事については、「デフラグメンテーション」の概要を参照ください。
- 遅延書(き)込みのページへのリンク