一种用于光驱内的缓冲器的多区段管理结构及其方法

文档序号:9616209阅读:280来源:国知局
一种用于光驱内的缓冲器的多区段管理结构及其方法
【技术领域】
[0001]本发明涉及一种用于光驱内的缓冲器的多区段管理结构及其方法。
【背景技术】
[0002]随着计算机硬件及网络技术的进步,如今对数据储存媒体的需求日益殷切,尤其是多媒体数据。例如影像或是音乐数据,即使经过压缩技术的处理,仍然占有相当大的空间。因此对于数据储存媒体,如M0(磁光盘)、可刻录光盘(⑶-R,⑶-RW)或是髙容量软盘片(JAZZ)、的开发不遗余力。尤其是光盘家族,由于音乐光盘(Aud1⑶)及只读数据光盘(⑶-ROM)的普及,因此可刻录光盘(⑶-R,⑶-RW),也极易进入消费市场。尤其是随着刻录机(CD-recorder)及可刻录盘片价格的急速下降,以及光盘片普遍用于书籍及杂志的附赠数据,如今光盘片和光驱已成为日常生活中的常用物品。
[0003]图1是现有可刻录光驱内的结构示意图。在刻录时,光驱剪输入数据由ATAPI /SCSI接口 90输入至缓冲器70,而ECC编码器40会在缓冲器70内对数据进行错误校正码(Error Correcting Code,以下简称ECC)编码。接着,缓冲器管理单元50会将有编码的数据送至CIRC编码器进行CIRC编码。最后,光学头20将经过编码以及CIRC编码的数据刻录至光盘片10中。在上述过程中,缓冲器管理单元50是用来管理缓冲器70内的ECC编码以及数据存取的时间。一般来说,25缓冲器都是由动态随机存取存储器(DRAM)所组成。
[0004]反之,当光驱要输出数据时,通过光学头20,被ECC编码以及CIRC编码的数据先逶至CIRC译码器60进行CIRC译码。之后,数据则送至缓冲器70,而译码器80将缓冲器70内的数据进行ECC译码。最后,缓冲器管理单元会将缓冲器70内的经过译码的数据通过ATPAPI/SCSI接口 90输出光驱。在上述的过程中,缓冲器管理单元50是用来记录缓冲器70内的ECC译码以及数据存取的时间。
[0005]一般来说,缓冲器管理单元50内有多个寄存器(Register)用以管理缓冲器70内的数据存取。包括:接收数据区块指针寄存器(以下简称Buffer_ptr),译码数据区块指针寄存器(以下简称Decode_ptr),传送数据区块指针寄存器(以下简称Transmit_ptr),以及终点区块寄存器(以下简称End_BLK)。
[0006]缓冲器70内的储存空间可以用一固定容量(如作为一个区块,所有的数据皆以整个区块来作存取。并且以End_BLK来设定区块的总数目。举例来说,若End_BLK设定为N,则代表缓冲区内有N个区块(ΒΛ !>,每个区块为2Kbyte。图2_a至图2_b绘示的是现有缓冲器的管理结构及其动作流程,如图2-a所示,在光驱读取数据的初始,Buffer_ptr,Decode_ptr与Transmit_ptr均指向相同的初始区块。
[0007]如图2-b所示,当缓冲器70开始接收CIRC译码后的数据时,Buffer_ptr就会指向已储存数据的区块,并随着接收数据的增加继续指向接下来的区块。
[0008]如图所示,当缓冲器70内的区块中有数据时,ECC译码器80就会以区块为单位来进行整个区块数据的译码,并将译码后的数据放置回原区块,因此,就会指向己译码的区块,并随着译码数据的增加继续指向接下来的区块。
[0009]如图2-d所示,当缓冲器70内的区块中的数据已被译码完成时,缓冲器管理单元50就会以区块为单位来将整个区块的数据输出缓冲器70,并且以TranSmit_ptr指向下一个要输出的区块,并随着输出数据的增加继续指向接下来的区块。
[0010]现有缓冲器70是按环复(Ring)的方式来使用。举例来说,当Butter_ptr指向最后一个区块(End_BLK设定),亦即Bn !区块之后,下一次即会指回初始区块,也就是B。区块,如此不断循环。同理,Decode_ptr与Transmit_ptr也按此环复的方式来运作。
[0011]现有的缓冲器70还有预缓冲(Pre-Buffering)的功能。举例来说,假设主机端(Host,未绘示)仅需读取至匕。区块内的数据,由于预缓冲的功能,B10区块之后的连续数据也会继续的被光学头读取并储存。此预缓冲的优点在于,当主机端再次发出读取之后的区块数据时,缓冲器管理单元可发出命中(Hit)信息并直接输出数据,因此可减少重新驱动光学头来寻找光盘片数据的时间。而当主机端所要读取的数据不在缓冲器70内时,亦即未命中(Miss)的情况,光学头必须再一次寻轨(Seek)至另一轨道来读取新的数据,此时Buffer_ptr、Decode_ptr与Transmit_ptr均会重新指向相同的初始区块(B。)。也就是说,原先储存于缓冲器70内的数据皆被丢弃了。
[0012]然而,在光学头在读取过程中需暂时地离幵原轨道读取其它轨道的数据后再回到原轨道继续读取的情况时。由于缓冲器70内原先的数据已被丢弃,因此在未命中的情况下,光学头必须再次读取在原轨道上已经丢弃的数据。
[0013]上述情况在使用Mount Rainier盘片时最常出现,此类盘片在连续写入数据产生问题时,会将有问题的数据段另行写在光盘片的一特定区域,因此会造成数据的不连续。而当光学头读取时,必须跳轨至此特定区域来寻找此数据段后再跳回原轨道继续读取,如此,才能保持数据的连续。但如此的跳轨动作在现有方式下不仅会造成光学头重复读取相同数据,更会大大降低光驱的效率。

【发明内容】

[0014]为解决上述现有的缺点,本发明的主要目的在于提供一种实用的用于光驱内的缓冲器的多区段管理结构及其方法,用以管理一缓冲期内的多个区段,并且有效的管理缓冲器内各区段的数据。
[0015]为达成以上所述的目的,本发明的一种用于光驱内的缓冲器的多区段管理结构及其方法采取如下技术方案:
一种用于光驱内的缓冲器的多区段管理结构及其方法,使用于一光驱内的一缓冲器,其特征在于,它包括,记忆单元、寄存器组,所述记忆单元,该记忆单元可储存多笔寄存器组数据,所述寄存器组,用以管理该缓冲器内的一特定区段,其中,每一该缓存器组数据皆可恢复至该缓存器组且该缓存器组可备份至该些寄存器组资料其中之一。
[0016]所述的寄存器组至少包括有,起始区块寄存器、终点区块寄存器、接收数据区块指针寄存器、译码数据区块指针寄存器、传送数据区块指针寄存器,所述起始区块寄存器用以定义该缓冲器内的一起始区块位置,所述终点区块寄存器,用以定义该缓冲器内的一最终区块位置,所述接收数据区块指针寄存器,用以记录该缓冲器内的一已接收数据区块位置,所述译码数据区块指针寄存器,用以记录该缓冲器内的一已译码数据区块位置,所述传送数据区块指针寄存器,用以记录该缓冲器内的一已传送数据区块位置,该接收数据区块指针寄存器,该译码数据区块指针寄存器、与该传送数据区块指针寄存器是在该起始区块寄存器与该终点区块寄存器所定义的该特定区段作一环复运作,所述的缓冲器是动态随机存取存储器。
[0017]它包括,一缓冲器,该缓冲器具有多个区段,且每一该区段中有多个区块,多个寄存器组数据,每一该寄存器组数据可对应至该些区段其中之一,用以至少记录每一该区段内的一起始区块,一终点区块,以及一记忆单元,用以储存所有的该寄存器组数据,所述的寄存器组数据还包括一已接收数据区块位置,一已译码数据区块位置与一已传送数据区块位置,所述的缓冲器是一动态随机存取存储器。
[0018]至少包括步骤有,提供一第一初始区块位置与一第一终点区块位置,使得一第一数据能够在该第一初始区块位置与该第一终点区块位置之间作该第一数据的一环复运作,以及提供一第二初始区块位置与一第二终点区块位置,使得一第二数据能够在该第二初始区块位置与该第二终点区块位置之间作第二数据的该环复运作,还提供一记忆单元用以储存该第一终点区块位置、该第一初始区块位置、该第二终点
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1