光驱的数据快取方法

文档序号:6570343阅读:284来源:国知局
专利名称:光驱的数据快取方法
技术领域
本发明涉及一种光驱的数据快取方法,特别是涉及一种借由计算光驱中缓冲存储器(Buffer)的最大可用的数据储存范围作为快取击中(CacheHit)的数据范围,增加数据快取击中的比率,提高光驱的存取效率。
然而,这一数据存取速度是针对光盘循序存取的速度而言,若是该光驱是以随机存取数据的方式计算速度,则所得的效率可能不到原本的十分之一。这是因为该光驱浪费了许多的时间在物理动作的寻轨(Seek)及芯片组(Chipset)的读取(Read)数据及数据解译(Decode)上,因此在一般的光驱均设计有一缓冲存储器,用以储放曾经存取过的数据,或者预先多存取一段数据,以减少经由光盘存取数据的时间,这就是快取击中。
在一般光驱中数据存取的快取击中比率与缓冲存储器的大小有关,因为若存取光盘数据时,缓冲存储器中已有前次存取的数据,则就不需再去作光盘寻轨,读取及解译的动作,而直接由缓冲存储器中存取即可,故而缓冲存储器的数据储放范围愈大,则快取击中的比率自然提高。
早期光驱存取数据均是以循序的方式存取,所以只要数据解译完成一经传送出去,就会被视为快取忽略(Cache miss),因此光盘缓冲存储器的快取击中的数据范围只会考虑尚未传送出去的数据范围,如

图1即为光驱1中缓冲存储器11的数据存取示意图,其中缓冲存储器11的最大值为N,数据读取中(Reading)的地址为R 111,数据解译中(Decoding)的地址为D 112,数据传输中(Transferring)的地址为T 113,而缓冲存储器11的边界(Boundary)地址为B 114,因此在缓冲存储器11中数据传输中的地址T 113到边界地址B 114的范围间,虽然仍有数据储放在其中,但还是被视为快取忽略,而快取击中的范围仅为数据解译中的地址D 112至数据传输中的地址T 113之间的数据范围X1 115,若以表达式表现即为T<快取击中数据范围<T+X1。
这种方式在循序存取的光驱中不会产生太大问题,但是在新的光盘技术,如CD-R或CD-RW光驱中使用的通用光盘格式(Universal DiscFormat,UDF),就不再是循序存取数据,而是随机存取数据,也因此传统的快取击中比率会非常低,影响整个光驱的存取效率。
本发明的另一日的在于提供一种光驱的数据快取方法,是利用一表达式计算出光驱中最大可储存数据的范围,以作为快取击中的范围。
本发明的再一目的在于提供一种光驱的数据快取方法,是将光驱内缓冲存储器中已传送出去的数据范围,仍然作为快取击中的数据范围。
本发明的上述目的是这样实现的一种光驱的数据快取方法,该光驱内设有一缓冲存储器,用以储放所读取的光盘数据,以待传送至一主机,该数据快取方法包括下列步骤a.读取(Read)光盘数据后储放于缓冲存储器的第一记忆区;b.解译(Decode)第一记忆区的数据后储放于缓冲存储器的第二记忆区;c.传送(Transfer)第二记忆区的数据至主机后,再储放于缓冲存储器的第三记忆区;以及d.再次读取光盘数据前,先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则重复步骤(a)至步骤(b),直到数据读取完毕。
本发明所述的光驱的数据快取方法,其中步骤(d)检测缓冲存储器的第二及第三记忆区的数据,该第二及第三记忆区所形成的数据储放范围为快取击中(Cache Hit)的数据范围。
本发明所述的光驱的数据快取方法,其中该快取击中的数据范围是由下列的表达式所计算出T+X2+B-N<快取击中数据范围<T+X1;其中,T缓冲存储器中传送数据的地址;X2缓冲存储器中读取光盘数据的地址至传送数据的地址间的范围;B缓冲存储器的边界地址;N缓冲存储器的最大值;X1缓冲存储器中解译数据的地址至传送数据的地址间的范围。
本发明所述的光驱的数据快取方法,其中步骤(a)之前还包括下列步骤先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则进行步骤(a)。
也就是说,本发明的上述目的是通过以下技术方案来实现的,本发明是一种光驱的数据快取方法,其步骤为首先读取光盘数据后储放于缓冲存储器的第一记忆区,解译第一记忆区的数据后储放于缓冲存储器的第二记忆区,传送第二记忆区的数据至主机后,再储放于缓冲存储器的第三记忆区,当再次读取光盘数据前,先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则再读取光盘数据。
下面,结合实施例及其附图对本发明作进一步详细说明。
该光驱1包括有一光盘存取装置12用以存取光盘数据2;一解译芯片组13用以解译该光盘格式的数据成一般的数字数据;一缓冲存储器11用以暂时储放该光盘存取装置12所读取的光盘数据2,及储放该解译芯片组13所解译的数字数据;一数据传送装置14用以传送该解译后的数字数据至主机3中;及一微处理器15用以控制该光盘存取装置12、解译芯片组13、缓冲存储器11及数据传送装置14间的数据交换。
请参阅图3所示,是为本发明光驱中缓冲存储器的数据读取示意图。本发明将光驱1中的缓冲存储器11区分成三个记忆区范围,第一记忆区121为由读取光盘数据2地址R 111至解译光盘数据2地址D 112之间的数据范围,第二记忆区122为由解译光盘数据2地址D 112至传送光盘数据2至主机3的地址T 113之间的数据范围,及第三记忆区123为由传送光盘数据2至主机3的地址T 113至缓冲存储器11的边界地址B 114之间的数据范围。
本发明为将光驱1中的缓冲存储器11尽可能最大容量均作为快取击中的数据范围,因此该缓冲存储器11中唯一不可以作为快取击中的数据范围的区域只有第一记忆区121,其余第二及第三记忆区122、123均可作为快取击中的数据范围。然而除了缓冲存储器11的最大值N及读取光盘数据2的地址R 111可以固定之外,其余解译光盘数据2的地址D 112及传送光盘数据2至主机3的地址T 113均是变动的,也即快取击中的数据范围是不固定的。
为此本发明特以一演算式计算快取击中的最大数据范围,首先定义缓冲存储器11的最大值为N,定义缓冲存储器11中解译数据的地址至传送数据的地址间的范围为X1 115,及定义缓冲存储器11中读取光盘数据2的地址R 111至传送数据的地址T 113间的范围为X2 116,该快取击中的数据范围为T+X2+B-N<快取击中数据范围<T+X1;经由上述的演算式即可计算出快取击中的数据范围在缓冲存储器11中区域范围了。
请参阅图4A及图4B所示,是为本发明实施例光驱的数据快取方法的流程图,并请一并参阅图2,首先当主机3第一次要求光驱1读取光盘数据2时(步骤100),则光盘存取装置12开始寻轨(步骤101),并读取光盘数据2后储放于缓冲存储器11的第一记忆区121中(步骤102)。
接着解译芯片组13即开始解译第一记忆区121的数据后储放于缓冲存储器11的第二记忆区122中(步骤103),此时微处理器15会检测缓冲存储器11中是否己储满(步骤104),若没有则继续读取光盘数据2(步骤102),直到缓冲存储器11储满。
若当缓冲存储器11己储满,则光盘存取装置12会暂时停止读取光盘数据2,并等待数据传送装置14将第二记忆区122中已解译的光盘数据2全部传送至主机3后,再开始读取光盘数据2(步骤102)。
当该数据传送装置14传送第二记忆区122的数据至主机3之后,会将该第二记忆区122的数据储放于第三记忆区123(步骤105)。接着再判断是否数据已读取完毕(步骤106),若没有则继续读取光盘数据2(步骤102),直到数据读取完毕为止。
当主机3第二次以后再度要求光驱1读取光盘数据2时(步骤107),则该微处理器15会先检测缓冲存储器11的第二及第三记忆区123中是否有要读取的数据(步骤108),若有则该数据传送装置14会直接传送该数据至主机3(步骤109),若无则光盘存取装置12再重复前述的光盘数据2读取的步骤,直到数据读取完毕为止(步骤101)。
因此,本发明光驱的数据快取方法,确实能够通过上述所公开的技术内容,提供一充分利用光驱中缓冲存储器内所有储存的数据范围,均尽可能作为快取击中的数据范围,以增加快取击中的比率,减少光驱寻轨、读取、解译的动作,而提高光驱的存取效率。
但是,上述所公开的附图、说明,仅为本发明的实施例而已,凡是本专业领域内的普通技术人员当可依据上述的说明作其它种种的改良,而这些改变仍属于本发明的发明精神及所确定的专利保护范围中。
权利要求
1.一种光驱的数据快取方法,该光驱内设有一缓冲存储器,用以储放所读取的光盘数据,以待传送至一主机,该数据快取方法包括下列步骤a.读取光盘数据后储放于缓冲存储器的第一记忆区;b.解译第一记忆区的数据后储放于缓冲存储器的第二记忆区;c.传送第二记忆区的数据至主机后,再储放于缓冲存储器的第三记忆区;以及d.再次读取光盘数据前,先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则重复步骤(a)至步骤(b),直到数据读取完毕。
2.如权利要求1所述的光驱的数据快取方法,其特征在于所述的步骤(d)检测缓冲存储器的第二及第三记忆区的数据,该第二及第三记忆区所形成的数据储放范围为快取击中的数据范围。
3.如权利要求2所述的光驱的数据快取方法,其特征在于所述的快取击中的数据范围是由下列的表达式所计算出T+X2+B-N<快取击中数据范围<T+X1;其中,T缓冲存储器中传送数据的地址;X2缓冲存储器中读取光盘数据的地址至传送数据的地址间的范围;B缓冲存储器的边界地址;N缓冲存储器的最大值;X1缓冲存储器中解译数据的地址至传送数据的地址间的范围。
4.如权利要求1所述的光驱的数据快取方法,其特征在于所述的步骤(a)之前还包括下列步骤先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则进行步骤(a)。
全文摘要
一种光驱的数据快取方法,其是计算光驱中缓冲存储器的最大可用的数据储放范围,作为快取击中(Cache Hit)的数据范围,增加数据快取击中的比率,该方法首先读取光盘数据后储放于缓冲存储器的第一记忆区,解译第一记忆区的数据后储放于缓冲存储器的第二记忆区,传送第二记忆区的数据至主机后,再储放于缓冲存储器的第三记忆区,当再次读取光盘数据前,先检测缓冲存储器的第二及第三记忆区中是否有要读取的数据,若有则直接传送该数据至主机,若无则再读取光盘数据,而前述缓冲存储器的第二及第三记忆区即为快取击中的数据范围。
文档编号G06F12/06GK1420439SQ0113992
公开日2003年5月28日 申请日期2001年11月19日 优先权日2001年11月19日
发明者张国强 申请人:建兴电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1