刻录 CD 或 DVD 时硬盘如何成为瓶颈?

刻录 CD 或 DVD 时硬盘如何成为瓶颈?

我一直想知道为什么人们总是将刻录 CD 或 DVD 时缓冲区不足归咎于硬盘。我读到过很多人建议使用更快的硬盘或确保在刻录前对其进行碎片整理等。

这对我来说毫无意义。我不在乎你刻录光盘的速度有多快,硬盘的速度和数据吞吐量才是最重要的总是比任何光驱都快。(我说的是旋转驱动器,我们甚至不用 SSD!)

例如,以 52 倍速刻录 CD 需要 7.6MBps 的数据流。即使是慢速硬盘 (PIO2) 也应该能够跟上 (8.3MBps),更不用说任何UDMA 驱动器(UDMA0 可以管理 16.7MBps)可以轻松提供稳定的流量。

即使以目前最快的 24 倍速刻录 DVD 也只需要大约 32MBps,但具有这种驱动器的系统肯定会有一个速度快几个数量级的硬盘(SATA1 可以达到 150MBps,因此即使是碎片化严重的驱动器也应该足够快)。

即使是蓝光盘也只需要 54MBps,即使是微不足道的 ATA66 IDE 硬盘也可以提供。

这些光驱速度是最佳,阅读速度;实际,燃烧速度通常会慢一些!

好吧,我承认寻道时间确实起了作用,而且碎片会增加访问时间,但即便如此,除非驱动器的额定速度略高于刻录光盘的速度(例如,PIO2 的 8.3MBps 比 52x CD-R 的 7.6MPbs = 仅快 716.8KBps),否则差异应该足够大,甚至使访问时间都无关紧要(例如,SATA1 驱动器的 150MPbs 比 24x DVD 的 32MPbs = 快 118MBps!)

那么到底是怎么回事呢?为什么人们总是暗示硬盘是刻录光盘的瓶颈?是什么原因导致了这个问题?为什么刻录软件开始读取硬盘时驱动器活动 LED 总是常亮,而传输大型文件通常只会导致它闪烁?

答案1

有许多关键因素可以表明硬盘可能是缓冲区不足的原因。

  1. 硬盘曾经使用 IDE 电缆,这意味着在一条电缆上,数据从硬盘复制,然后写入 CD/DVD 驱动器。这实际上会将每个设备的可用带宽减半。虽然这种情况随着 SATA 的出现而改变,但 SATA 总线控制器中仍然存在争用。这引出了我的第二点

  2. 可能有些程序试图同时执行某些操作,另一个程序读取或写入大量数据可能会再次限制任一设备的带宽,方式与第一点类似。过大的连续读取可能会完全阻塞硬盘 I/O 数秒或更长时间。

  3. 操作系统内存不足意味着它需要将其他程序从磁盘调入或调出到磁盘,从而导致对页面文件进行大量连续读取或写入,从而可能阻塞 I/O,如第 2 点所述。

所有这些因素都意味着,无论您认为拥有多少理论峰值带宽,都并非始终可用。

问题在于,当您的 CD 刻录机必须保证硬盘和 CD-ROM 之间的带宽时,如果该带宽不足超过一两秒(CD 刻录机上的典型缓冲区大小),则会发生缓冲区下溢。要求使用硬盘的程序或操作系统足以中断流向 CD 刻录机的数据流,并导致这种情况发生。

我们建议使用速度更快的硬盘来防止缓冲区欠载,主要原因是速度更快的硬盘能够更快地越过阻塞 I/O 并重新执行读取要发送到 CD 刻录机的数据的任务。

-=编辑=-

您说得对,很多缺乏经验的用户会使用大量“辅助”应用程序(RealPlayer、快速启动程序和其他各种近似恶意软件的应用程序),这意味着可用内存更少。较旧的家庭用户系统通常只有足够的内存供操作系统和一两个程序舒适地运行,再加上所有无用的垃圾程序和需要大量缓冲区的 CD 写入软件,“舒适”的内存量变得非常不舒服。

还要注意的是,防病毒软件也会对硬盘带宽产生影响,因为它们必须扫描来自硬盘的每一位数据。通过关闭这些程序并清除系统来释放资源通常可以让 CD 刻录机继续工作。

然而,导致欠载运行的主要原因是 CD 刻录机实际写入驱动器的方式。激光在写入时是愚蠢的:“缓冲区中有数据,我写入数据”。

它不是逐块写入的,尽管 CD 是按扇区写入的,但写入过程是作为一个长轨道进行的,激光只是将缓冲区中的内容输出到磁盘上的扇区。如果 CD 刻录机上的缓冲区突然没有更新新数据(因为系统正在执行其他操作),那么缓冲区中的相同数据将被多次写入,而控制软件不会发出任何信号表明它早就应该停止写入数据,最终磁盘上就会出现垃圾。可能是几百兆字节的垃圾,也可能只有几千字节,无论哪种情况,磁盘现在都毫无价值,因为无法分辨好数据在哪里结束,坏数据在哪里开始。

从写入的垃圾中恢复很困难,因为您无法分辨写入的数据中有多少是垃圾,有多少是真正需要重复写入的。如果我们能够从一开始就阻止写入垃圾,那就更好了,这就是欠载保护正在做的事情,它会监视缓冲区,当缓冲区接近空时,它会告诉激光停止写入,等待新数据出现后再继续。

答案2

寻道时间,以及硬盘是否与刻录机在同一通道。另外,正如您所提到的,这些是最大速度,而不是最小速度。软件也会减慢速度,并且 CD 需要不断写入数据,除非您像软盘一样使用它。如果硬盘驱动器的容量超过两倍,那么它可以忍受因任何原因而休息

答案3

如果您要刻录大量小文件,则 CD 刻录机的速度将比 HDD 更快,因为文件(可能)不会连续位于磁盘上,而 CD 会连续刻录。因此,您需要比较 HDD随机读取与 CD顺序写入,后者通常更快。

相关内容