專利名稱:光盤的緩沖區(qū)管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種光盤的緩沖區(qū),特別是涉及一種光盤的緩沖區(qū)管理方法。
背景技術(shù):
一直以來,存儲介質(zhì)在計算機(jī)系統(tǒng)中均扮演著不可或缺的角色,因此科技界不斷地投入存儲介質(zhì)的研究,也獲得了極大的進(jìn)展,這種進(jìn)展不僅包括存儲介質(zhì)的種類,還包括其穩(wěn)定性及存儲容量等。近來由于光盤的高穩(wěn)定度及高存儲容量的優(yōu)點,于是各種不同特性的光盤產(chǎn)品不斷地推陳出新,其應(yīng)用范圍更是日益普及。隨著計算機(jī)系統(tǒng)及影音系統(tǒng)對于光盤產(chǎn)品的依賴,其穩(wěn)定度及效能的提高尤為重要,其中,關(guān)于光盤緩沖區(qū)的管理便是一重要的課題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種光盤的緩沖區(qū)管理方法,可用以管理光盤的緩沖區(qū),并符合光盤對于緩沖區(qū)的穩(wěn)定度與效能的要求。
本發(fā)明提供了一種光盤的緩沖區(qū)管理方法,此緩沖區(qū)包括多個存儲區(qū)(cache或sector)、一寫入管線索引(write pipe index簡稱WPIDX)、一解碼管線索引(decode pipe index簡稱DPIDX)、一主管線索引(host pipe index簡稱HPIDX)以及一緩沖區(qū)已滿(buffer full)標(biāo)志,該方法包括下列步驟當(dāng)寫入管線索引WPIDX追上主管線索引HPIDX、且緩沖區(qū)已滿標(biāo)志的一檢查設(shè)定功能致能時,設(shè)定緩沖區(qū)已滿標(biāo)志;當(dāng)有試解需求時,設(shè)定寫入管線索引WPIDX及解碼管線索引DPIDX指向一試解存儲區(qū)位置,及將主管線索引HPIDX指向試解存儲區(qū)位置的下一存儲區(qū)位置,并關(guān)閉緩沖區(qū)已滿的檢查設(shè)定功能;以及當(dāng)緩沖區(qū)已滿的檢查設(shè)定功能關(guān)閉時,如寫入管線索引WPIDX或解碼管線索引DPIDX移動,則致能緩沖區(qū)已滿的檢查設(shè)定功能。
本發(fā)明的較佳實施例中,其有試解需求時,例如當(dāng)收到讀取數(shù)據(jù)命令,且發(fā)生錯失存儲區(qū)(cache miss)的情形下,此時因讀取數(shù)據(jù)命令欲讀取的數(shù)據(jù)并非位于緩沖區(qū)內(nèi),故必須重設(shè)寫入管線索引WPIDX、解碼管線索引DPIDX及主管線索引HPIDX,以清除緩沖區(qū)的數(shù)據(jù),并重新試解光盤的數(shù)據(jù)格式。本發(fā)明較佳實施例還包括一硬件電路自動檢測功能,用以自動檢測寫入管線索引WPIDX或解碼管線索引DPIDX是否已移動。此外,本發(fā)明較佳實施例還包括一自動標(biāo)志,用以選擇是否致能硬件電路自動檢測功能,并且當(dāng)硬件電路自動檢測功能檢測到寫入管線索引WPIDX或解碼管線索引DPIDX已移動時,將自動標(biāo)志設(shè)定為禁能。
本發(fā)明的較佳實施例中,每寫入一存儲區(qū)的數(shù)據(jù)時,則遞增寫入管線索引WPIDX,且當(dāng)緩沖區(qū)已滿標(biāo)志設(shè)定時,停止寫入數(shù)據(jù)至緩沖區(qū)。
本發(fā)明的較佳實施例中,每讀取一存儲區(qū)的數(shù)據(jù)時,則遞增主管線索引HPIDX,且當(dāng)主管線索引HPIDX追上解碼管線索引DPIDX時,設(shè)定一無已解碼存儲區(qū)標(biāo)志。其中當(dāng)無已解碼存儲區(qū)標(biāo)志設(shè)定時,暫停讀取緩沖區(qū)的數(shù)據(jù)。
本發(fā)明的較佳實施例中,每譯碼一存儲區(qū)的數(shù)據(jù)時,則遞增譯碼管線索引DPIDX,且當(dāng)解碼管線索引DPIDX追上寫入管線索引WPIDX時,設(shè)定一無待解碼存儲區(qū)標(biāo)志。其中當(dāng)無待解碼存儲區(qū)標(biāo)志設(shè)定時,暫停譯碼緩沖區(qū)的數(shù)據(jù)。而其中的每一存儲區(qū)包括2352字節(jié)。
由上述的說明中可知,本發(fā)明藉由維護(hù)與檢查寫入管線索引WPIDX、解碼管線索引DPIDX及主管線索引HPIDX的狀態(tài),并于適當(dāng)時機(jī)關(guān)閉緩沖區(qū)已滿的檢查設(shè)定功能,以避免誤判緩沖區(qū)已滿的情形發(fā)生,且以硬件電路自動檢測是否已可致能緩沖區(qū)已滿的檢查設(shè)定功能,實現(xiàn)迅速恢復(fù)緩沖區(qū)已滿檢查的目的,以符合光盤對于緩沖區(qū)的穩(wěn)定度與效能的要求。
為使本發(fā)明的上述和其它目的、特征、和優(yōu)點能更明顯易懂,下文特舉一較佳實施例,并結(jié)合附圖詳細(xì)說明如下。
圖1示出了根據(jù)本發(fā)明較佳實施例的緩沖區(qū)操作時的索引示意圖;圖2示出了根據(jù)本發(fā)明較佳實施例的緩沖區(qū)試解時的索引示意圖;圖3A示出了根據(jù)本發(fā)明較佳實施例的緩沖區(qū)管理方法主流程圖;圖3B示出了根據(jù)本發(fā)明較佳實施例的緩沖區(qū)管理方法讀取步驟流程圖;以及圖3C示出了根據(jù)本發(fā)明較佳實施例的緩沖區(qū)管理方法解碼步驟流程圖。
附圖標(biāo)號說明HPIDX主管線索引DPIDX解碼管線索引WPIDX寫入管線索引S305~S385本發(fā)明的方法步驟具體實施方式
請參考圖1所示,其為根據(jù)本發(fā)明一較佳實施例的緩沖區(qū)操作時的索引示意圖。由圖中可知,此一較佳實施例的緩沖區(qū)是由N個存儲區(qū),且每個存儲區(qū)包括2352個字節(jié)所組成,此緩沖區(qū)包括一寫入管線索引WPIDX、一解碼管線索引DPIDX、及一主管線索引HPIDX,分別作為寫入數(shù)據(jù)、譯碼數(shù)據(jù)及讀取數(shù)據(jù)時的索引,且必須先依寫入管線索引WPIDX的指示寫入數(shù)據(jù)至緩沖區(qū)后,再依解碼管線索引DPIDX的指示將數(shù)據(jù)譯碼,才可依主管線索引HPIDX的指示讀取緩沖區(qū)的數(shù)據(jù)。其中的運作方式請合并參考圖3A、3B及3C,其為本發(fā)明較佳實施例的緩沖區(qū)管理方法流程圖。首先對一般情形下,將數(shù)據(jù)寫入存儲區(qū)、執(zhí)行譯碼、以及由存儲區(qū)讀出的操作進(jìn)行說明。如上所述,圖1中的寫入管線索引WPIDX是作為數(shù)據(jù)應(yīng)寫入哪一存儲區(qū)的指示用。當(dāng)數(shù)據(jù)寫入存儲區(qū)后(S315),必須遞增此寫入管線索引WPIDX(S320)。當(dāng)寫入管線索引WPIDX追上主管線索引HPIDX時(S330),視為緩沖區(qū)已填滿,故設(shè)定一緩沖區(qū)已滿標(biāo)志(S335),如要防止繼續(xù)寫入數(shù)據(jù)導(dǎo)致覆蓋未讀出的數(shù)據(jù),可于此時停止寫入數(shù)據(jù)的操作。譯碼管線索引DPIDX是作為應(yīng)譯碼哪一存儲區(qū)的數(shù)據(jù)指示用,當(dāng)完成存儲區(qū)的數(shù)據(jù)譯碼后(S350),必須遞增此解碼管線索引DPIDX(S355)。當(dāng)解碼管線索引DPIDX追上寫入管線索引WPIDX時(S360),視為已無待解碼存儲區(qū),故設(shè)定一無待解碼存儲區(qū)標(biāo)志(S365),此時可暫停解碼的操作。主管線索引HPIDX則作為應(yīng)讀取哪一存儲區(qū)的數(shù)據(jù)指示用,當(dāng)存儲區(qū)的數(shù)據(jù)已傳出后(S370),必須遞增此主管線索引HPIDX(S375)。當(dāng)主管線索引HPIDX追上解碼管線索引DPIDX時(S380),視為無可讀出的存儲區(qū),故設(shè)定一無已解碼的存儲區(qū)標(biāo)志(S385),此時可暫停讀取的操作。
以上的說明僅適用于收到讀取數(shù)據(jù)命令且欲讀取的扇區(qū)(sector)數(shù)據(jù)已位于緩沖區(qū)內(nèi),也就是一般稱為存儲區(qū)符合(cache hit)的情形。相反地,當(dāng)發(fā)生錯失存儲區(qū)(cache miss)的情形時,必須重新自光盤片讀取數(shù)據(jù)存入緩沖區(qū)中,然而因光盤數(shù)據(jù)有多種格式,例如模式2(Mode 2)的格式1(Form1)和格式2(Form 2)以及模式1(Mode 1)等不同的格式,故必須先行試解存儲區(qū)的數(shù)據(jù),以確認(rèn)其實際的數(shù)據(jù)格式為何。應(yīng)注意的是,供作試解的存儲區(qū)數(shù)據(jù)并非實際欲讀取的數(shù)據(jù),故不可將其傳出。因此如圖3A的流程所示,當(dāng)有試解需求時(S305),必須將寫入管線索引WPIDX及解碼管線索引DPIDX設(shè)定為指向一用作試解的存儲區(qū),并將主管線索引HPIDX設(shè)定為指向試解存儲區(qū)的下一存儲區(qū),如圖2的所示。隨后關(guān)閉緩沖區(qū)已滿檢查設(shè)定功能(S310),以避免當(dāng)用作試解的存儲區(qū)數(shù)據(jù)寫入后、且移動寫入管線索引WPIDX時,因誤判緩沖區(qū)已滿而造成不當(dāng)停止寫入的情形發(fā)生。
在圖2中,因試解的存儲區(qū)為第N存儲區(qū),故將主管線索引HPIDX設(shè)定為指向試解存儲區(qū)的下一存儲區(qū)的第1存儲區(qū)。因為在一般情況下,當(dāng)寫入第N存儲區(qū)的數(shù)據(jù)并移動寫入管線索引WPIDX至第1存儲區(qū)時,將發(fā)生寫入管線索引WPIDX追上主管線索引HPIDX的情形,而誤判為緩沖區(qū)已滿,故在試解數(shù)據(jù)時必須關(guān)閉緩沖區(qū)已滿檢查設(shè)定功能,用以除去因誤判緩沖區(qū)已滿,而停止后續(xù)寫入操作的情況。
請再參考圖3A,當(dāng)有試解需求時,首先在步驟S310中,依據(jù)圖2所示狀態(tài)來設(shè)定寫入管線索引WPIDX、譯碼管線索引DPIDX、以及主管線索引HPIDX的狀態(tài)后,隨后關(guān)閉緩沖區(qū)已滿檢查設(shè)定功能。接下來,當(dāng)試解數(shù)據(jù)經(jīng)由步驟S315-S325而寫入存儲區(qū)后,因緩沖區(qū)已滿檢查設(shè)定功能被關(guān)閉,而且寫入管線索引WPIDX已移動(S340),則應(yīng)重新致能緩沖區(qū)已滿檢查設(shè)定功能(S345),以避免緩沖區(qū)覆蓋的情形發(fā)生。為加速恢復(fù)緩沖區(qū)已滿檢查設(shè)定功能,可以硬件電路自動檢測功能,來自動檢測寫入管線索引WPIDX是否已移動,并在發(fā)現(xiàn)寫入管線索引WPIDX有移動時,立即致能緩沖區(qū)已滿檢查設(shè)定功能。另外,較佳實施例中也可包括一自動標(biāo)志,用以選擇是否致能此硬件電路自動檢測功能,且當(dāng)硬件電路自動檢測功能檢測到寫入管線索引WPIDX已移動時,再將自動標(biāo)志設(shè)定為禁能,而每次有試解需求時,則必須恢復(fù)致能硬件電路自動檢測功能。應(yīng)注意的是,較佳實施例中的硬件電路,雖然可用固件(Firmware)或其它方式來取代,但是以固件測試寫入管線索引WPIDX是否移動時,可能發(fā)生固件的操作過慢,而使寫入管線索引WPIDX超前主管線索引HPIDX(因固件尚未完成自動檢測的操作,而緩沖區(qū)已滿的檢查設(shè)定功能仍被關(guān)閉),并覆蓋(Overwrite)主管線索引HPIDX所指到的存儲區(qū)。于是直到寫入管線索引WPIDX繞了一圈后,例如寫入操作將數(shù)據(jù)寫入存儲區(qū)1到存儲區(qū)N后,接著再往前追到主管線索引HPIDX(而此時的主管線索引HPIDX可能已位于存儲區(qū)1或更前面的位置),固件才開啟緩沖區(qū)已滿的檢查設(shè)定。因此,使用硬件電路來開啟緩沖區(qū)已滿的檢查設(shè)定功能將是個較佳的選擇。
本發(fā)明的另一較佳實施例中,是在緩沖區(qū)已滿檢查設(shè)定功能被關(guān)閉時(S325),在步驟S340中,通過檢測解碼管線索引DPIDX的移動來替代寫入管線索引WPIDX的移動檢測。并在后續(xù)的步驟S345內(nèi),當(dāng)發(fā)現(xiàn)解碼管線索引DPIDX已移動時,則重新致能緩沖區(qū)已滿檢查設(shè)定功能。
由上述的說明中可知,本發(fā)明的一種光盤的緩沖區(qū)管理方法是以維護(hù)與檢查寫入管線索引WPIDX、解碼管線索引DPIDX以及主管線索引HPIDX的狀態(tài),并在試譯碼時關(guān)閉緩沖區(qū)已滿的檢查設(shè)定功能,以避免誤判緩沖區(qū)已滿的情形發(fā)生,另以自動檢測寫入管線索引WPIDX或譯碼管線索引DPIDX是否已移動的方式,來致能緩沖區(qū)已滿檢查設(shè)定功能,實現(xiàn)迅速恢復(fù)緩沖區(qū)已滿的檢查,以符合光盤對于緩沖區(qū)的穩(wěn)定度與效能的要求的目的。此外,本發(fā)明較佳實施例適用于所有的光學(xué)系統(tǒng),例如CD-ROM光盤機(jī)(drive)、CD-RW光盤機(jī)、DVD-ROM光盤機(jī)、DVD+R光盤機(jī)、DVD+RW光盤機(jī)、或DVD-RAM光盤機(jī)等系統(tǒng)之中,但本領(lǐng)域技術(shù)人員可依據(jù)其需求,將本發(fā)明方法應(yīng)用在其光學(xué)系統(tǒng)中。此外,本發(fā)明較佳實施例中的每一存儲區(qū)包括2352字節(jié),但事實上,本發(fā)明并不需要對存儲區(qū)的容量大小進(jìn)行限制;再者用以自動檢測寫入管線索引或譯碼管線索引已移動的硬件電路,可通過簡單的邏輯電路來構(gòu)筑,本領(lǐng)域技術(shù)人員可依據(jù)其需要而對較佳實施例進(jìn)行變更,但是所有不脫離較佳實施例精神所為的等效修飾與變更,仍應(yīng)包含在本發(fā)明的權(quán)利要求之中。
雖然本發(fā)明已以較佳實施例披露如上,然其并非用以限定本發(fā)明,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的精神和范圍的前提下,可作各種的更動與潤飾,因此本發(fā)明的保護(hù)范圍視后附的權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種光盤緩沖區(qū)管理方法,該緩沖區(qū)包括多個存儲區(qū)、一寫入管線索引、一解碼管線索引、一主管線索引以及一緩沖區(qū)已滿標(biāo)志,該方法包括當(dāng)該寫入管線索引追上該主管線索引且該緩沖區(qū)已滿標(biāo)志的一檢查設(shè)定功能致能時,設(shè)定該緩沖區(qū)已滿標(biāo)志;當(dāng)有試解需求時,設(shè)定該寫入管線索引及該解碼管線索引指向一試解存儲區(qū)位置,及將該主管線索引指向該試解存儲區(qū)位置的下一存儲區(qū)位置,并關(guān)閉該檢查設(shè)定功能;以及當(dāng)該檢查設(shè)定功能被關(guān)閉,且一管線索引移動時,致能該檢查設(shè)定功能。
2.如權(quán)利要求1所述的方法,其中管線移動索引為該寫入管線索引或該解碼管線索引之一。
3.如權(quán)利要求1所述的方法,其中該試解需求是指收到讀取數(shù)據(jù)命令、且錯失存儲區(qū)的情形。
4.如權(quán)利要求1所述的方法,其中包括一硬件電路自動檢測功能,用以自動檢測該管線索引是否已移動。
5.如權(quán)利要求4所述的方法,還包括一自動標(biāo)志,用以選擇是否致能該硬件電路自動檢測功能。
6.如權(quán)利要求5所述的方法,其中當(dāng)該硬件電路自動檢測功能檢測到該管線索引已移動時,設(shè)定該自動標(biāo)志為禁能。
7.一種可重新讀取數(shù)據(jù)存入光學(xué)系統(tǒng)緩沖區(qū)的管理方法,該緩沖區(qū)包括多個存儲區(qū)、一寫入管線索引、一解碼管線索引、一主管線索引以及一緩沖區(qū)已滿標(biāo)志,該方法包括設(shè)定該寫入管線索引及該解碼管線索引指向一試解存儲區(qū)位置,及將該主管線索引指向該試解存儲區(qū)位置的下一存儲區(qū)位置,并關(guān)閉該檢查設(shè)定功能;以及當(dāng)該檢查設(shè)定功能被關(guān)閉,且該寫入管線索引或該解碼管線索引移動時,致能該檢查設(shè)定功能。
8.如權(quán)利要求7所述的方法,其中該管理方法是當(dāng)該光學(xué)系統(tǒng)有試解需求產(chǎn)生時執(zhí)行。
9.如權(quán)利要求8所述的方法,其中該試解需求是指該光學(xué)系統(tǒng)收到讀取數(shù)據(jù)命令、且錯失存儲區(qū)的情形。
10.如權(quán)利要求7所述的方法,還包括一硬件電路自動檢測功能,用以自動檢測該寫入管線索引或該解碼管線索引是否已移動。
11.如權(quán)利要求10所述的方法,還包括一自動標(biāo)志,用以選擇是否致能該硬件電路自動檢測功能。
12.如權(quán)利要求11所述的方法,其中當(dāng)該硬件電路自動檢測功能檢測到該寫入管線索引、或該解碼管線索引已移動時,設(shè)定該自動標(biāo)志為禁能。
全文摘要
一種光盤的緩沖區(qū)管理方法,用以維護(hù)與檢查寫入管線索引、譯碼管線索引及主管線索引的狀態(tài),并在試譯碼時關(guān)閉緩沖區(qū)已滿的檢查設(shè)定功能,以避免誤判緩沖區(qū)已滿的情形發(fā)生。此外,本發(fā)明也通過自動檢測寫入管線索引或譯碼管線索引是否已移動的方式,來致能緩沖區(qū)已滿檢查設(shè)定功能,實現(xiàn)迅速恢復(fù)緩沖區(qū)已滿的檢查,以符合光盤對于緩沖區(qū)的穩(wěn)定度與效能要求的目的。
文檔編號G11B7/00GK1540659SQ20031011411
公開日2004年10月27日 申請日期2003年11月3日 優(yōu)先權(quán)日2003年11月3日
發(fā)明者徐盟富 申請人:威騰光電股份有限公司