コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「遅延書き込み」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
9行目: 9行目:
ファイルシステムでも遅延書き込みに対応している。この実装はまず[[ハードディスクドライブ|ハードディスク]]の[[コントローラー]]上で実装され、特にアクセスが集中するファイル管理領域へのアクセスをコントローラー上のキャッシュメモリで保持しておき、ハードディスクへのアクセスが中断されたアイドル時間中に管理領域の情報はハードディスクのプラッターに書き込まれる。この機能は高性能な[[Small Computer System Interface|SCSI]]ハードディスクで実装されたが、高価なキャッシュメモリを必要とされる為、低廉な[[IDE]]ハードディスクでは[[Advanced Technology Attachment|ATA]]規格が策定され、[[SCSIコマンド]]がIDEハードディスクでも使える様になるまで実装されなかった。
ファイルシステムでも遅延書き込みに対応している。この実装はまず[[ハードディスクドライブ|ハードディスク]]の[[コントローラー]]上で実装され、特にアクセスが集中するファイル管理領域へのアクセスをコントローラー上のキャッシュメモリで保持しておき、ハードディスクへのアクセスが中断されたアイドル時間中に管理領域の情報はハードディスクのプラッターに書き込まれる。この機能は高性能な[[Small Computer System Interface|SCSI]]ハードディスクで実装されたが、高価なキャッシュメモリを必要とされる為、低廉な[[IDE]]ハードディスクでは[[Advanced Technology Attachment|ATA]]規格が策定され、[[SCSIコマンド]]がIDEハードディスクでも使える様になるまで実装されなかった。


この問題はコンシューマー向け[[オペレーティングシステム]]を開発している[[マイクロソフト]]に影響を与え、SCSIハードディスクの遅延書き込みと同等の機能を[[MS-DOS]]で実現する、ハードディスクキャッシュドライバ[[Smartdrv]]が開発された。Smartdrvは、管理領域や頻繁に更新される領域へのアクセスをいったんDRAMキャッシュメモリに保持し、ファイルのクローズやディスクへのフラッシュシステムコールが発行されるまで、ハードディスクには書き戻さない事で性能の高速化を図った。同時に既に[[Netware]]で実装されていた[[エレベーターシーキング]]も実装している。互換性と信頼性の問題から、IDEハードディスクは依然としてキャッシュメモリによる遅延書き込みはATAコマンドが発行されるまで有効化されなかった。[[アップル (企業)|アップル]]は標準ハードディスクにSCSIハードディスクを採用していた為、この問題が顕著になる事はなく、結果としてSmartdrvが開発されるまでは、[[Macintosh]]が高性能[[ワークステーション]]として評価された。
この問題はコンシューマー向け[[オペレーティングシステム]]を開発している[[マイクロソフト]]に影響を与え、SCSIハードディスクの遅延書き込みと同等の機能を[[MS-DOS]]で実現する、ハードディスクキャッシュドライバ[[Smartdrv]]が開発された。Smartdrvは、管理領域や頻繁に更新される領域へのアクセスをいったんDRAMキャッシュメモリに保持し、ファイルのクローズやディスクへのフラッシュシステムコールが発行されるまで、ハードディスクには書き戻さない事で性能の高速化を図った。同時に既に[[Netware]]で実装されていた[[エレベーターシーキング]]も実装している。互換性と信頼性の問題から、IDEハードディスクは依然としてキャッシュメモリによる遅延書き込みはATAコマンドが発行されるまで有効化されなかった。[[Apple]]は標準ハードディスクにSCSIハードディスクを採用していた為、この問題が顕著になる事はなく、結果としてSmartdrvが開発されるまでは、[[Macintosh]]が高性能[[ワークステーション]]として評価された。





2021年5月20日 (木) 12:45時点における版

遅延書き込み (Lazy Write Back) とは、キャッシュアルゴリズムの一つで、頻繁に更新される内容をいったん高速なメモリ上で処理し、最終的に書き込み完了と判断された時点で、低速な媒体に書き込む事である。

メモリキャッシュの遅延書き込み

キャッシュメモリCPUレジスタ速度よりは若干遅いものの、DRAMに比べると遥かに高速である。その為、頻繁に発生するメモリ書き込みをキャッシュ上で保持し、DRAMへの書き込みを行わない様にすると、書き込みに要するレイテンシが短縮され、CPUの処理能力は向上する。キャッシュメモリはCPUに直結された信頼できるメモリ領域であり、キャッシュラインの交代ないしは、命令によってDRAMへの出力を強制した時にキャッシュメモリからDRAMへの転記が行われる。この際、キャッシュライン全体にメモリアクセスを揃え、キャッシュラインの全体に揃わないメモリアクセスを一括する事により、DRAMのアクセスタイム全体に対するメモリアクセスの密度を高める事でさらにシステム全体の性能を向上させる事ができる。この実装は、インテルのCPUでは、P6マイクロアーキテクチャで採用され、その後の全てのCPUはこの機能を備えている。AMDK6プロセッサ上で実現しており、DRAMのアクセスタイムにおけるレイテンシはキャッシュによって隠蔽される。

ファイルシステムの遅延書き込み

ファイルシステムでも遅延書き込みに対応している。この実装はまずハードディスクコントローラー上で実装され、特にアクセスが集中するファイル管理領域へのアクセスをコントローラー上のキャッシュメモリで保持しておき、ハードディスクへのアクセスが中断されたアイドル時間中に管理領域の情報はハードディスクのプラッターに書き込まれる。この機能は高性能なSCSIハードディスクで実装されたが、高価なキャッシュメモリを必要とされる為、低廉なIDEハードディスクではATA規格が策定され、SCSIコマンドがIDEハードディスクでも使える様になるまで実装されなかった。

この問題はコンシューマー向けオペレーティングシステムを開発しているマイクロソフトに影響を与え、SCSIハードディスクの遅延書き込みと同等の機能をMS-DOSで実現する、ハードディスクキャッシュドライバSmartdrvが開発された。Smartdrvは、管理領域や頻繁に更新される領域へのアクセスをいったんDRAMキャッシュメモリに保持し、ファイルのクローズやディスクへのフラッシュシステムコールが発行されるまで、ハードディスクには書き戻さない事で性能の高速化を図った。同時に既にNetwareで実装されていたエレベーターシーキングも実装している。互換性と信頼性の問題から、IDEハードディスクは依然としてキャッシュメモリによる遅延書き込みはATAコマンドが発行されるまで有効化されなかった。Appleは標準ハードディスクにSCSIハードディスクを採用していた為、この問題が顕著になる事はなく、結果としてSmartdrvが開発されるまでは、Macintoshが高性能ワークステーションとして評価された。