记得刻录机出现可不是很晚的事情了,最早的刻录机出现于1993年,但由于价格昂贵的问题使得刻录机很难普及。不过随着价格的降低,目前刻录机已经成为很多用户标准的数据备份手段了,不过即使这样困扰着的大家的总是有这个一个问题Buffer Under Run(缓存欠载),因为这个情况出现以后,就会导致刻录盘片报废,浪费我们的金钱和时间。不过好在目前已经有很多技术可以很好的克服这钟错误了,今天我们就一起来看看这些技术。 缓存欠载问题的产生原因 CD-RW驱动器一般以恒定线速度不停地进行刻录。一旦开始刻录,主计算机就必须不断地以比CD-RW驱动器刻录速度更快的速度发送刻录请求。由于系统工作负载不断变化而使数据传输率不可能是一个恒定的速度,因此,CD-RW驱动器先将系统传来的数据存储在缓存中,从而高速调节了数据刻录与系统不稳定的数据传输速度间的差异。在理想情况下,缓冲区中应始终保持有刻录所需要的数据,这就要求驱动器最好有650MB容量的缓冲区,而这是不可能的,一般情况下缓冲存储器是2M~4MB。当驱动器刻录所需数据小于缓冲区大小时就不会发生刻录缓冲错误,而当驱动器刻录所需数据大于缓冲区大小时,驱动器开始刻录后就需要不断从系统获得数据。因此,当数据的传输由于某些原因发生延迟时,驱动器没有了足够的数据,将无法继续维持正常的刻录过程,因此这种错误就是“缓存欠载”。 解决方法 当然解决这个问题有两种方法:第一种:就是扩大缓存容量,但提高缓存容量势必要增加刻录机的成本,并且大容量的缓存控制起来也并不是很方便。第二种方法就是在刻录进行前就避免缓存欠载的出现。 而目前一般采用的就是当缓存欠载的时候停止刻录机工作,等到数据充分则继续开始刻录,这种功能主要通过集成在驱动控制电路中的硬件和代码实现的。其保护功能主要表现为当刻录开始后,驱动器内的控制芯片一直监视缓冲的状态,当驱动器判断可能发生刻录缓冲错误时,驱动器会暂停刻录,并根据光盘的桔皮书规范把光头停泊到适当的位置,并处于暂停状态时,不过这个时候驱动器仍不断从主系统接收数据,一旦接收到足够的数据,便通过访问原来刻录的数据准备重新开始刻录。驱动器首先比较盘片上已刻录的数据和缓冲区中的数据,以便进行数据同步。当探测到最后一次刻录位置时,驱动器就重新开始刻录。由于驱动器中的控制芯片中存储了刻录暂停时的数据,所以,它可以控制缓冲区的状态以及电机的运转,使驱动器从原来暂停的地方重新开始,而不会丢失数据。
(出处:http://www.sheup.com)