書き込みテストって何をしているの?

CD-Rライティングソフトで「書き込みテスト」という項目がありますが,これはどのような作業をしているのでしょうか。



「書き込みテスト」は,バッファアンダーランが生じる可能性があるかどうかをテストするためのものです。
 CD-Rドライブには,ホストとなるコンピュータから送られてきたデータを一時的に格納するバッファメモリがあります。このバッファが,ホスト側のデータ処理の遅れなどが原因で空の状態になることがあります。これをバッファアンダーランと呼びます。
 バッファアンダーランの原因となるホスト側の処理の遅れの原因はさまざまなものが考えられます。例えば,
・HDDの断片化
・記録するディレクトリの階層
・ファイルの数
・ホスト側の処理速度とCD-Rドライブの書き込み速度とのバランス
・一定時間経つと割り込んでくるスクリーンセーバーや自動化タスクなどのプログラムの起動
・スワップによるディスクアクセス
などが挙げられます。
 実際にCD-Rにデータを書き込んでいる最中にバッファアンダーランが生じると,CD-Rドライブは記録すべきものがないのに,CD-Rメディアを回し続けることになります。CD-Rはひとまとまりのデータは一気に書き込まなければならない仕様になっているため,バッファアンダーランが起きるとたちどころに書き込みエラーとなり,そのCD-Rメディアは廃棄するしかなくなります。
 そこで,実際のメディアに書き込まずに,ホストとCD-Rドライブとの間でデータ転送だけを行い,バッファアンダーランが起きないかどうかを調べるのが書き込みテストです。書き込みテストでは,実際の書き込みを行うときと同じ環境のシステムで,書き込みをシミュレートします。したがって,実際に書き込むのと同じだけ時間がかかります。
 最近ではCD-Rメディアの価格もだいぶ安くなってきているので書き込みに失敗してもダメージが少なくなってきてはいますが,不安を感じたときには「テスト書き込み」を使えば,CD-Rメディアをむだに捨てずに済むでしょう。
(岩井五郎)