>?“Buffer Under Run Error”就是在刻录过程失败时,刻录软件出现的错误提示。 每次刻录的过程,首先在PCA区(Power Calibration Area,激光能量校正区)调整最适合的激光刻录能量,在PMA区(Program Memory Area,程序存储区)写入这次光盘轨Track的开始/结束位置(Multi Session当然有Multi Track,即使没有Multi Session的刻录盘也有一个track)。接下来Lead-in(引入)时,写入上一次Session的目录结构(如果有上个Session的话)以及这次的目录结构于TOC内,之后才写入真正的资料,在最后写入一段Lead-out(引出)区,以便与下次刻录Session区别。这些过程必需平稳、循序地进行,才能刻录成功。如果在资料区写入时,负责供应资料来源的硬盘及光驱速度跟不上,例如硬盘因为资料分布过于散乱,硬盘因为读写臂移动的机械动作限制造成读取速度变慢。由于刻录机是先将要写入资料从储存媒体(硬盘/光驱)读入主存储器,再存入刻录机内部的缓冲区内。刻录机的缓冲区有点像是一个小型的积水池,主要功能是在做数据与刻录机之间的缓冲空间。如果内部缓冲区的资料量无法保持一定的水准,还逐渐下降的话,一旦内部缓冲区容量变零,刻录机读写头没资料可刻,就会出现“Buffer Under Run”现象(这时候还没作Lead-out动作),这张无法读取的光盘片就会变成飞盘了。发生Buffer Under Run Error的流程图(如图1所示)。

根据橙皮书的规范,光盘片中的扇区空隙不能大于100μm,因此当资料的传输出现问题时,刻录机的激光头必须在这100μm的空间内将资料接续并且继续刻录。这样一来,光驱在读取时就会将所刻录出来的盘片视为没有空隙的,并且正常读取出来。可是往往资料的稳定传输程度及品质是无法控制的,比如硬盘或光驱的数据传送到刻录机缓冲区内的数据流过慢,一旦缓冲区没有暂存储的数据,就会使刻录扇区的空隙过大,当然就会造成“Buffer Under Run Error”刻录失败的现象。因为刻录的工作一直在进行,并不一定说缓冲存储器完全没有资料时才会发生这样的错误,一般来说当缓冲区资料存储量小于10%时,就有可能发生“Buffer Under Run Error”。 简单一点的说法就是当计算机传送资料的速度小于刻录的速度时,就可能会发生这种错误。为了防止“Buffer Under Run Error”的情形发生,有些刻录机厂商往往都是增大缓冲区容量的方式。像Disk Jugger这类软件通过划分一块内存空间,作为刻录机内建缓冲区的延伸(类似第2级缓冲区),空间大小由1MB到650MB可以自由设定。随着刻录速度成倍提高,这些方法并不能从根本上解决问题。于是,有些厂商各自开发出防刻死技术(如:BURN-Proof、JustLink、Seamless Link)。
“Buffer Underrun”一般发生在刻录光盘的过程中,刻录数据传送跟不刻录机刻录的需求时产生,产生时会中断刻录过程,造成刻录失败 。
防止发生“Buffer Underrun”的主要措施有: 使用更高速的硬盘,最好使用SCSI接口的硬盘; 使用较慢的速度进行刻录; 刻录时不要在计算机上进行任何操作; 刻录前关闭所有正在运行的其它程序; 关闭光盘驱动器自动检测功能; 尽量使用映象文件进行刻录; // |