光盘的缓冲区管理方法

文档序号:6760942阅读:158来源:国知局
专利名称:光盘的缓冲区管理方法
技术领域
本发明涉及一种光盘的缓冲区,特别是涉及一种光盘的缓冲区管理方法。
背景技术
一直以来,存储介质在计算机系统中均扮演着不可或缺的角色,因此科技界不断地投入存储介质的研究,也获得了极大的进展,这种进展不仅包括存储介质的种类,还包括其稳定性及存储容量等。近来由于光盘的高稳定度及高存储容量的优点,于是各种不同特性的光盘产品不断地推陈出新,其应用范围更是日益普及。随着计算机系统及影音系统对于光盘产品的依赖,其稳定度及效能的提高尤为重要,其中,关于光盘缓冲区的管理便是一重要的课题。

发明内容
有鉴于此,本发明提供一种光盘的缓冲区管理方法,可用以管理光盘的缓冲区,并符合光盘对于缓冲区的稳定度与效能的要求。
本发明提供了一种光盘的缓冲区管理方法,此缓冲区包括多个存储区(cache或sector)、一写入管线索引(write pipe index简称WPIDX)、一解码管线索引(decode pipe index简称DPIDX)、一主管线索引(host pipe index简称HPIDX)以及一缓冲区已满(buffer full)标志,该方法包括下列步骤当写入管线索引WPIDX追上主管线索引HPIDX、且缓冲区已满标志的一检查设定功能致能时,设定缓冲区已满标志;当有试解需求时,设定写入管线索引WPIDX及解码管线索引DPIDX指向一试解存储区位置,及将主管线索引HPIDX指向试解存储区位置的下一存储区位置,并关闭缓冲区已满的检查设定功能;以及当缓冲区已满的检查设定功能关闭时,如写入管线索引WPIDX或解码管线索引DPIDX移动,则致能缓冲区已满的检查设定功能。
本发明的较佳实施例中,其有试解需求时,例如当收到读取数据命令,且发生错失存储区(cache miss)的情形下,此时因读取数据命令欲读取的数据并非位于缓冲区内,故必须重设写入管线索引WPIDX、解码管线索引DPIDX及主管线索引HPIDX,以清除缓冲区的数据,并重新试解光盘的数据格式。本发明较佳实施例还包括一硬件电路自动检测功能,用以自动检测写入管线索引WPIDX或解码管线索引DPIDX是否已移动。此外,本发明较佳实施例还包括一自动标志,用以选择是否致能硬件电路自动检测功能,并且当硬件电路自动检测功能检测到写入管线索引WPIDX或解码管线索引DPIDX已移动时,将自动标志设定为禁能。
本发明的较佳实施例中,每写入一存储区的数据时,则递增写入管线索引WPIDX,且当缓冲区已满标志设定时,停止写入数据至缓冲区。
本发明的较佳实施例中,每读取一存储区的数据时,则递增主管线索引HPIDX,且当主管线索引HPIDX追上解码管线索引DPIDX时,设定一无已解码存储区标志。其中当无已解码存储区标志设定时,暂停读取缓冲区的数据。
本发明的较佳实施例中,每译码一存储区的数据时,则递增译码管线索引DPIDX,且当解码管线索引DPIDX追上写入管线索引WPIDX时,设定一无待解码存储区标志。其中当无待解码存储区标志设定时,暂停译码缓冲区的数据。而其中的每一存储区包括2352字节。
由上述的说明中可知,本发明藉由维护与检查写入管线索引WPIDX、解码管线索引DPIDX及主管线索引HPIDX的状态,并于适当时机关闭缓冲区已满的检查设定功能,以避免误判缓冲区已满的情形发生,且以硬件电路自动检测是否已可致能缓冲区已满的检查设定功能,实现迅速恢复缓冲区已满检查的目的,以符合光盘对于缓冲区的稳定度与效能的要求。
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。


图1示出了根据本发明较佳实施例的缓冲区操作时的索引示意图;图2示出了根据本发明较佳实施例的缓冲区试解时的索引示意图;图3A示出了根据本发明较佳实施例的缓冲区管理方法主流程图;图3B示出了根据本发明较佳实施例的缓冲区管理方法读取步骤流程图;以及图3C示出了根据本发明较佳实施例的缓冲区管理方法解码步骤流程图。
附图标号说明HPIDX主管线索引DPIDX解码管线索引WPIDX写入管线索引S305~S385本发明的方法步骤具体实施方式
请参考图1所示,其为根据本发明一较佳实施例的缓冲区操作时的索引示意图。由图中可知,此一较佳实施例的缓冲区是由N个存储区,且每个存储区包括2352个字节所组成,此缓冲区包括一写入管线索引WPIDX、一解码管线索引DPIDX、及一主管线索引HPIDX,分别作为写入数据、译码数据及读取数据时的索引,且必须先依写入管线索引WPIDX的指示写入数据至缓冲区后,再依解码管线索引DPIDX的指示将数据译码,才可依主管线索引HPIDX的指示读取缓冲区的数据。其中的运作方式请合并参考图3A、3B及3C,其为本发明较佳实施例的缓冲区管理方法流程图。首先对一般情形下,将数据写入存储区、执行译码、以及由存储区读出的操作进行说明。如上所述,图1中的写入管线索引WPIDX是作为数据应写入哪一存储区的指示用。当数据写入存储区后(S315),必须递增此写入管线索引WPIDX(S320)。当写入管线索引WPIDX追上主管线索引HPIDX时(S330),视为缓冲区已填满,故设定一缓冲区已满标志(S335),如要防止继续写入数据导致覆盖未读出的数据,可于此时停止写入数据的操作。译码管线索引DPIDX是作为应译码哪一存储区的数据指示用,当完成存储区的数据译码后(S350),必须递增此解码管线索引DPIDX(S355)。当解码管线索引DPIDX追上写入管线索引WPIDX时(S360),视为已无待解码存储区,故设定一无待解码存储区标志(S365),此时可暂停解码的操作。主管线索引HPIDX则作为应读取哪一存储区的数据指示用,当存储区的数据已传出后(S370),必须递增此主管线索引HPIDX(S375)。当主管线索引HPIDX追上解码管线索引DPIDX时(S380),视为无可读出的存储区,故设定一无已解码的存储区标志(S385),此时可暂停读取的操作。
以上的说明仅适用于收到读取数据命令且欲读取的扇区(sector)数据已位于缓冲区内,也就是一般称为存储区符合(cache hit)的情形。相反地,当发生错失存储区(cache miss)的情形时,必须重新自光盘片读取数据存入缓冲区中,然而因光盘数据有多种格式,例如模式2(Mode 2)的格式1(Form1)和格式2(Form 2)以及模式1(Mode 1)等不同的格式,故必须先行试解存储区的数据,以确认其实际的数据格式为何。应注意的是,供作试解的存储区数据并非实际欲读取的数据,故不可将其传出。因此如图3A的流程所示,当有试解需求时(S305),必须将写入管线索引WPIDX及解码管线索引DPIDX设定为指向一用作试解的存储区,并将主管线索引HPIDX设定为指向试解存储区的下一存储区,如图2的所示。随后关闭缓冲区已满检查设定功能(S310),以避免当用作试解的存储区数据写入后、且移动写入管线索引WPIDX时,因误判缓冲区已满而造成不当停止写入的情形发生。
在图2中,因试解的存储区为第N存储区,故将主管线索引HPIDX设定为指向试解存储区的下一存储区的第1存储区。因为在一般情况下,当写入第N存储区的数据并移动写入管线索引WPIDX至第1存储区时,将发生写入管线索引WPIDX追上主管线索引HPIDX的情形,而误判为缓冲区已满,故在试解数据时必须关闭缓冲区已满检查设定功能,用以除去因误判缓冲区已满,而停止后续写入操作的情况。
请再参考图3A,当有试解需求时,首先在步骤S310中,依据图2所示状态来设定写入管线索引WPIDX、译码管线索引DPIDX、以及主管线索引HPIDX的状态后,随后关闭缓冲区已满检查设定功能。接下来,当试解数据经由步骤S315-S325而写入存储区后,因缓冲区已满检查设定功能被关闭,而且写入管线索引WPIDX已移动(S340),则应重新致能缓冲区已满检查设定功能(S345),以避免缓冲区覆盖的情形发生。为加速恢复缓冲区已满检查设定功能,可以硬件电路自动检测功能,来自动检测写入管线索引WPIDX是否已移动,并在发现写入管线索引WPIDX有移动时,立即致能缓冲区已满检查设定功能。另外,较佳实施例中也可包括一自动标志,用以选择是否致能此硬件电路自动检测功能,且当硬件电路自动检测功能检测到写入管线索引WPIDX已移动时,再将自动标志设定为禁能,而每次有试解需求时,则必须恢复致能硬件电路自动检测功能。应注意的是,较佳实施例中的硬件电路,虽然可用固件(Firmware)或其它方式来取代,但是以固件测试写入管线索引WPIDX是否移动时,可能发生固件的操作过慢,而使写入管线索引WPIDX超前主管线索引HPIDX(因固件尚未完成自动检测的操作,而缓冲区已满的检查设定功能仍被关闭),并覆盖(Overwrite)主管线索引HPIDX所指到的存储区。于是直到写入管线索引WPIDX绕了一圈后,例如写入操作将数据写入存储区1到存储区N后,接着再往前追到主管线索引HPIDX(而此时的主管线索引HPIDX可能已位于存储区1或更前面的位置),固件才开启缓冲区已满的检查设定。因此,使用硬件电路来开启缓冲区已满的检查设定功能将是个较佳的选择。
本发明的另一较佳实施例中,是在缓冲区已满检查设定功能被关闭时(S325),在步骤S340中,通过检测解码管线索引DPIDX的移动来替代写入管线索引WPIDX的移动检测。并在后续的步骤S345内,当发现解码管线索引DPIDX已移动时,则重新致能缓冲区已满检查设定功能。
由上述的说明中可知,本发明的一种光盘的缓冲区管理方法是以维护与检查写入管线索引WPIDX、解码管线索引DPIDX以及主管线索引HPIDX的状态,并在试译码时关闭缓冲区已满的检查设定功能,以避免误判缓冲区已满的情形发生,另以自动检测写入管线索引WPIDX或译码管线索引DPIDX是否已移动的方式,来致能缓冲区已满检查设定功能,实现迅速恢复缓冲区已满的检查,以符合光盘对于缓冲区的稳定度与效能的要求的目的。此外,本发明较佳实施例适用于所有的光学系统,例如CD-ROM光盘机(drive)、CD-RW光盘机、DVD-ROM光盘机、DVD+R光盘机、DVD+RW光盘机、或DVD-RAM光盘机等系统之中,但本领域技术人员可依据其需求,将本发明方法应用在其光学系统中。此外,本发明较佳实施例中的每一存储区包括2352字节,但事实上,本发明并不需要对存储区的容量大小进行限制;再者用以自动检测写入管线索引或译码管线索引已移动的硬件电路,可通过简单的逻辑电路来构筑,本领域技术人员可依据其需要而对较佳实施例进行变更,但是所有不脱离较佳实施例精神所为的等效修饰与变更,仍应包含在本发明的权利要求之中。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作各种的更动与润饰,因此本发明的保护范围视后附的权利要求为准。
权利要求
1.一种光盘缓冲区管理方法,该缓冲区包括多个存储区、一写入管线索引、一解码管线索引、一主管线索引以及一缓冲区已满标志,该方法包括当该写入管线索引追上该主管线索引且该缓冲区已满标志的一检查设定功能致能时,设定该缓冲区已满标志;当有试解需求时,设定该写入管线索引及该解码管线索引指向一试解存储区位置,及将该主管线索引指向该试解存储区位置的下一存储区位置,并关闭该检查设定功能;以及当该检查设定功能被关闭,且一管线索引移动时,致能该检查设定功能。
2.如权利要求1所述的方法,其中管线移动索引为该写入管线索引或该解码管线索引之一。
3.如权利要求1所述的方法,其中该试解需求是指收到读取数据命令、且错失存储区的情形。
4.如权利要求1所述的方法,其中包括一硬件电路自动检测功能,用以自动检测该管线索引是否已移动。
5.如权利要求4所述的方法,还包括一自动标志,用以选择是否致能该硬件电路自动检测功能。
6.如权利要求5所述的方法,其中当该硬件电路自动检测功能检测到该管线索引已移动时,设定该自动标志为禁能。
7.一种可重新读取数据存入光学系统缓冲区的管理方法,该缓冲区包括多个存储区、一写入管线索引、一解码管线索引、一主管线索引以及一缓冲区已满标志,该方法包括设定该写入管线索引及该解码管线索引指向一试解存储区位置,及将该主管线索引指向该试解存储区位置的下一存储区位置,并关闭该检查设定功能;以及当该检查设定功能被关闭,且该写入管线索引或该解码管线索引移动时,致能该检查设定功能。
8.如权利要求7所述的方法,其中该管理方法是当该光学系统有试解需求产生时执行。
9.如权利要求8所述的方法,其中该试解需求是指该光学系统收到读取数据命令、且错失存储区的情形。
10.如权利要求7所述的方法,还包括一硬件电路自动检测功能,用以自动检测该写入管线索引或该解码管线索引是否已移动。
11.如权利要求10所述的方法,还包括一自动标志,用以选择是否致能该硬件电路自动检测功能。
12.如权利要求11所述的方法,其中当该硬件电路自动检测功能检测到该写入管线索引、或该解码管线索引已移动时,设定该自动标志为禁能。
全文摘要
一种光盘的缓冲区管理方法,用以维护与检查写入管线索引、译码管线索引及主管线索引的状态,并在试译码时关闭缓冲区已满的检查设定功能,以避免误判缓冲区已满的情形发生。此外,本发明也通过自动检测写入管线索引或译码管线索引是否已移动的方式,来致能缓冲区已满检查设定功能,实现迅速恢复缓冲区已满的检查,以符合光盘对于缓冲区的稳定度与效能要求的目的。
文档编号G11B7/00GK1540659SQ20031011411
公开日2004年10月27日 申请日期2003年11月3日 优先权日2003年11月3日
发明者徐盟富 申请人:威腾光电股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1