web-dev-qa-db-ja.com

CDまたはDVDを作成するときのハードドライブのボトルネックはどのようになっていますか?

CDやDVDを作成するときに、なぜ人々がバッファアンダーランを引き起こしたとしてハードドライブを非難し続けるのかといつも思っていました。より高速なハードドライブを使用したり、書き込みの前に必ずデフラグを実行したりするように言っている人をたくさん読んだことがあります。

それは私には意味がありません。ディスクの書き込み速度は関係ありません。ハードドライブの速度とデータスループットは常にどの光学ドライブよりも高速になります。 (私は回転するドライブについて話しているので、SSDについても気にしません!)

たとえば、CDを52xで書き込むには、7.6MBpsのデータストリームが必要になります。遅いハードドライブ(PIO2)でも、(8.3MBps)に追いつくことができるはずですanyUDMAドライブ(UDMA0は16.7MBpsを管理できます)安定した流れを手軽に供給できます。

現在の最速の24倍速でDVDを作成するのに必要なのは、約32MBpsだけですが、そのようなドライブを備えたシステムには、確かに桁違いに高速なハードドライブが搭載されます(SATA1は最大150MBpsを実行できるため、途方もなく断片化されたドライブでも十分に高速である必要があります)。

Blu-rayディスクでさえ54MBpsしか必要とせず、わずかなATA66 IDEハードドライブでも供給できます。

そして、それらの光学ドライブの速度は、最適な読み取り速度です。 実際の燃焼速度は通常、やや遅いです!

さて、シーク時間が重要であり、断片化によってアクセス時間が長くなることは認めますが、それでも、ドライブの定格が書き込み中のディスクの速度をわずかに上回っていない限り(たとえば、52xCD-RよりもPIO2の8.3MBps) 7.6MPbs =わずか716.8KBps速い)、その差はアクセス時間を無関係にするのに十分な大きさである必要があります(たとえば、24xDVDの32MPbs = 118MBpsよりもSATA1ドライブの150MPbsが速い!)

それで、取引は何ですか?なぜ人々は、光ディスクを書き込むときにハードドライブがボトルネックであるとほのめかし続けるのですか?問題の原因は何でしょうか。また、巨大なファイルを転送すると通常はちらつきが発生するだけなのに、書き込みソフトウェアがハードドライブの読み取りを開始すると、ドライブアクティビティLEDが常に点灯するのはなぜですか。

2
Synetech

ハードドライブがバッファアンダーランの背後にある理由である可能性があることを意味する重要なことがいくつかあります。

  1. IDEケーブルを使用していたハードドライブ。これは、1本のケーブルでデータがハードドライブからコピーされてからCD/DVDドライブに書き込まれることを意味します。これにより、使用可能なケーブルが実質的に半分になります。各デバイスとの間の帯域幅。これはSATAで変更されましたが、SATAバスコントローラーでまだ競合があります。これは私の2番目のポイントにつながります。

  2. 同時に何かを行おうとするプログラムがあるかもしれません。かなりの量のデータを読み書きする別のプログラムは、最初のポイントと同様の方法で、いずれかのデバイスの帯域幅を再び制限する可能性があります。シーケンシャル読み取りが大きすぎると、ハードドライブのI/Oが数秒以上完全にブロックされる可能性があります。

  3. オペレーティングシステムのメモリが不足しているということは、他のプログラムをディスクとの間でページインまたはページアウトする必要があることを意味し、ポイント2のようにI/Oをブロックする可能性のあるページファイルへの大きなシーケンシャル読み取りまたは書き込みを引き起こします。

これらすべてのことは、あなたが持っていると思う理論上のピーク帯域幅が常に利用できるわけではないことを意味します。

問題は、CDライターがハードドライブとCD-ROMの間の帯域幅を保証する必要がある場合に発生します。その帯域幅が、1〜2秒(CDライターの一般的なバッファーサイズ)を超えて不足している場合は、バッファーアンダーフローが発生します。発生します。ハードドライブの使用を要求するプログラムまたはオペレーティングシステムは、これが発生するのに十分な時間、CDライターへのデータの流れを中断するのに十分です。

バッファのアンダーランを防ぐために大幅に高速なハードドライブを推奨する主な理由は、高速のドライブがブロッキングI/Oをはるかに高速に通過し、CDに送信されるデータを読み取るタスクに戻ることができるためです。ライター。

-=編集=-

経験の浅いユーザーの多くが多数の「ヘルパー」アプリケーション(RealPlayer、クイックスターター、その他のマルウェアに近いアプリケーション)を使用しているため、使用可能なメモリが少なくなっているのは当然です。古いホームユーザーシステムは、通常、OSとプログラムを快適に実行するのに十分なメモリしかありませんでした。すべての役に立たないガベージプログラムと、独自の「快適な」量のメモリを必要とするCD書き込みソフトウェアを追加します。明らかに不快になります。

また、ウイルス対策ソフトウェアは、ハードディスクからのデータのすべてのビットをスキャンする必要があるため、ハードディスクの帯域幅にも影響を与える可能性があることに注意してください。これらのプログラムを閉じてシステムをクリアすることでリソースを解放することで、通常、CDライターは仕事を続けることができました。

アンダーランを実際に回避する主な理由は、CDライターが実際にドライブに書き込む方法でしたが。レーザーは書き込み中、「バッファにデータがあり、データを書き込みます」と馬鹿げています。

CDがセクターで書き込まれる場合でも、ブロックごとに書き込まれるわけではありません。書き込みプロセスは1つの長いトラックとして実行され、レーザーはバッファー内の内容をディスク上のセクターに出力するだけです。 CDライターのバッファーが突然新しいデータで更新されない場合(システムが何か他のことをしているため)、バッファー内の同じデータが何度も書き込まれ、制御ソフトウェアから停止する必要があるという兆候はありません。ずっと前にデータを書き込むと、ディスクにゴミができてしまいます。それは数百メガバイトのゴミかもしれませんし、ほんの数キロバイトかもしれません。どちらにしても、良いデータがどこで終わり、悪いデータがどこから始まったかを知ることができないので、ディスクは今では価値がありません。

書き込まれているデータのどれだけが実際にガベージであり、どれだけが実際に繰り返されることを意図していたかを正確に知る方法がないため、書き込まれているガベージから回復することは困難です。そもそもゴミが書き込まれるのを防ぐことができればはるかに良いでしょう、そしてこれはアンダーラン保護が行っていることです、それはバッファを監視し、それが空に近づくとレーザーに書き込みを停止するように指示します続行する前に、新しいデータが表示されるのを待ちます。

3
Mokubai

小さなファイルがたくさん書き込まれる場合、CDは連続して書き込まれるのに対し、ファイルは(おそらく)ディスク上に連続して配置されないため、CDバーナーはHDDよりも高速になります。したがって、HDD ランダム読み取りとCD シーケンシャル書き込みを比較することになります。後者の方がかなり高速です。

0
user541686

シーク時間、およびHDDがバーナーと同じチャネル上にあるかどうか。また、あなたが言ったように、それらは最大速度であり、最小ではありません。ソフトウェアも速度を低下させる可能性があり、フロッピーのように使用しない限り、CDには一定のデータを書き込む必要があります。ハードドライブが2倍以上の場合は、なんらかの理由で休憩をとることができます。

0
Canadian Luke