缓冲器的多区段管理结构及管理方法技术

技术编号:2871251 阅读:174 留言:0更新日期:2012-04-11 18:40
一种缓冲器的多区段管理结构,使用于一光驱内的一缓冲器,其特征在于它包括:    一记忆单元,该记忆单元可储存多笔寄存器组数据,以及    一寄存器组,用以管理该缓冲器内的一特定区段;    其中,每一该缓存器组数据皆可恢复至该缓存器组且该缓存器组可备份至该些寄存器组资料其中之一。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种缓冲器的管理结构及管理方法,特别是用于光驱内的。
技术介绍
随着计算机硬件及网络技术的进步,如今对数据储存媒体的需求日益殷切,尤其是多媒体数据。例如影像或是音乐数据,即使经过压缩技术的处理,仍然占有相当大的空间。因此对于数据储存媒体,如MO(磁光盘)、可刻录光盘(CD-R,CD-RW)或是高容量软盘片(JAZZ)的开发不遗余力。尤其是光盘家族,由于音乐光盘(Audio CD)及只读数据光盘(CD-ROM)的普及,因此可刻录光盘(CD-R,CD-RW)也极易进入消费市场。尤其是随着刻录机(CD-recorder)及可刻录盘片价格的急速下降,以及光盘片普遍用于书籍及杂志的附赠数据,如今光盘片和光驱已成为日常生活中的常用物品。图1是现有可刻录光驱内的结构示意图。在刻录时,光驱的输入数据由ATAPI/SCSI接口90输入至缓冲器70,而ECC编码器40会在缓冲器70内对数据进行错误校正码(Error Correcting Code,以下简称ECC)编码。接着,缓冲器管理单元50会将有ECC编码的数据送至CIRC(Cross InterleavedReed-Solomon Code)编码器30进行CIRC编码。最后,光学头20将经过ECC编码以及CIRC编码的数据刻录至光盘片10中。在上述过程中,缓冲器管理单元50是用来管理缓冲器70内的ECC编码以及数据存取的时间。一般来说,缓冲器都是由动态随机存取存储器(DRAM)所组成。反之,当光驱要输出数据时,通过光学头20,被ECC编码以及CIRC编码的数据先送至CIRC译码器60进行CIRC译码。之后,数据则送至缓冲器70,而ECC译码器80将缓冲器70内的数据进行ECC译码。最后,缓冲器管理单元会将缓冲器70内的经过ECC译码的数据通过ATAPI/SCSI接口90输出光驱。在上述的过程中,缓冲器管理单元50是用来记录缓冲器70内的ECC译码以及数据存取的时间。一般来说,缓冲器管理单元50内有多个寄存器(Register)用以管理缓冲器70内的数据存取。包括接收数据区块指针寄存器(以下简称Buffer_ptr),译码数据区块指针寄存器(以下简称Decode_ptr),传送数据区块指针寄存器(以下简称Transmit_ptr),以及终点区块寄存器(以下简称End_BLK)。缓冲器70内的储存空间可以用一固定容量(如2 Kbyte)作为一个区块,所有的数据皆以整个区块来作存取。并且以End BLK来设定区块的总数目。举例来说,若End_BLK设定为N,则代表缓冲区内有N个区块(B0~BN-1),每个区块为2 Kbyte。图2(a)至图2(d)绘示的是现有缓冲器的管理结构及其动作流程,如图2(a)所示,在光驱读取数据的初始,Buffer_ptr、Decode_ptr、与Transmit_ptr均指向相同的初始区块。如图2(b)所示,当缓冲器70开始接收CIRC译码后的数据时,Buffer_ptr就会指向已储存数据的区块,并随着接收数据的增加继续指向接下来的区块。如图2(c)所示,当缓冲器70内的区块中有数据时,ECC译码器80就会以区块为单位来进行整个区块数据的ECC译码,并将译码后的数据放置回原区块,因此,Decode ptr就会指向已译码的区块,并随着译码数据的增加继续指向接下来的区块。如图2(d)所示,当缓冲器70内的区块中的数据已被译码完成时,缓冲器管理单元50就会以区块为单位来将整个区块的数据输出缓冲器70,并且以Transmit_ptr指向下一个要输出的区块,并随着输出数据的增加继续指向接下来的区块。现有缓冲器70是按环复(Ring)的方式来使用。举例来说,当Buffer_ptr指向最后一个区块(End_BLK设定),亦即BN-1区块之后,下一次即会指回初始区块,也就是B0区块,如此不断循环。同理,Decode_ptr与Transmit_ptr也按此环复的方式来运作。现有的缓冲器70还有预缓冲(Pre-Buffering)的功能。举例来说,假设主机端(Host,未绘示)仅需读取至B10区块内的数据,由于预缓冲的功能,B10区块之后的连续数据也会继续的被光学头读取并储存。此预缓冲的优点在于,当主机端再次发出读取Bi0之后的区块数据时,缓冲器管理单元可发出命中(Hit)信息并直接输出数据,因此可减少重新驱动光学头来寻找光盘片数据的时间。而当主机端所要读取的数据不在缓冲器70内时,亦即未命中(Miss)的情况,光学头必须再一次寻轨(Seek)至另一轨道来读取新的数据,此时Buffer_ptr、Decode_ptr。与Transmit_pir均会重新指向相同的初始区块(B0)。也就是说,原先储存于缓冲器70内的数据皆被丢弃了。然而,在光学头在读取过程中需暂时地离开原轨道读取其它轨道的数据后再回到原轨道继续读取的情况时。由于缓冲器70内原先的数据已被丢弃,因此在未命中的情况下,光学头必须再次读取在原轨道上已经丢弃的数据。上述情况在使用Mount_Rainier盘片时最常出现,此类盘片在连续写入数据产生问题时,会将有问题的数据段另行写在光盘片的一特定区域,因此会造成数据的不连续。而当光学头读取时,必须跳轨至此特定区域来寻找此数据段后再跳回原轨道继续读取,如此,才能保持数据的连续。但如此的跳轨动作在现有方式下不仅会造成光学头重复读取相同数据,更会大大降低光驱的效率。
技术实现思路
本专利技术提供一种缓冲器的多区段管理结构,用于光驱内的缓冲器,它包括记忆单元可储存多笔寄存器组数据;以及,一寄存器组用以管理该缓冲器内的特定区段;其中,每一笔寄存器组数据皆可恢复(Restore)至寄存器组且寄存器组也可备份至其中一个寄存器组数据。本专利技术的一种缓冲器的多区段管理结构也可以是包括具有多个区段的缓冲器,且每一个区段中有多个区块;多个寄存器组数据可分别对应至多个单一区段,用以记录每一区段内的至少起始区块与终点区块;以及记忆单元用以储存所有的寄存器组数据。本专利技术提出一种缓冲器的多区段管理方法,至少包括下列步骤提供第一初始区块位置与第一终点区块位置,使得第一数据能够在第一初始区块位置与第一终点区块位置之间作第一数据的环复运作;以及提供第二初始区块位置与第二终点区块位置,使得第二数据能够在第二初始区块位置与第二终点区块位置之间作环复运作。为进一步解释本专利技术的目的、特征和优点,以下通过较佳实施例并配合附图进行详细说明。附图说明图1是现有可刻录光驱内的结构示意图;图2(a)至图2(d)是现有缓冲器的管理结构及其动作流程,以及图3(a)和图3(b)是本专利技术缓冲器的多区段管理结构结构示意图。具体实施例方式由于现有缓冲器管理单元在数据未命中时,Buffer_ptr、Decode_ptr与Transmit_ptr皆会指向初始区块(B0),导致储存于缓冲器内的数据被迫丢弃的情况,本专利技术提出一种缓冲器的多区段管理结构来解决上述问题。本专利技术是在缓冲器管理单元中,另行提供一初始区块寄存器(以下简称Init_BLK),以及一记忆单元。这样,缓冲器能够在Init_BLK与End_BLK之间作环复,并且可以视状况利用记忆单元来备份(Backup)正在使用中Buffer_ptr、Decode_pt本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈凌风
申请(专利权)人:建兴电子科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1