專利名稱:針對(duì)具有損壞的目錄表的光盤的數(shù)據(jù)復(fù)原方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于一種數(shù)據(jù)復(fù)原方法,該方法利用一光盤驅(qū)動(dòng)器(Optical discdrive)以復(fù)原一具有一損壞的目錄表(Table-of-contents,TOC)區(qū)域的光盤(Optical disc)上的數(shù)據(jù)。
背景技術(shù):
每種供數(shù)據(jù)記錄的光學(xué)記錄媒體,都具備一區(qū)域來存儲(chǔ)區(qū)段(session)的數(shù)據(jù)。例如,在DVD+R光盤上,區(qū)段數(shù)據(jù)存儲(chǔ)于一目錄表區(qū)域中。當(dāng)使用者放置一DVD+R光盤到一光盤驅(qū)動(dòng)器中時(shí),該光盤驅(qū)動(dòng)器讀取該目錄表區(qū)域中一最新的目錄表區(qū)塊(block)來取得區(qū)段的數(shù)據(jù)。然而,該最新的目錄表區(qū)塊有時(shí)會(huì)發(fā)生遺失、不能讀取或數(shù)據(jù)不正確的情形。如果使用者將出現(xiàn)上述情況的光盤放入該光盤驅(qū)動(dòng)器中,光盤驅(qū)動(dòng)器會(huì)由于區(qū)段數(shù)據(jù)錯(cuò)誤,而無(wú)法讀取光盤中的數(shù)據(jù)。如此一來,此張光盤中所存儲(chǔ)的數(shù)據(jù)雖然完整,仍然無(wú)法被光盤驅(qū)動(dòng)器取得。
為了成功讀取此種光盤中的數(shù)據(jù),本發(fā)明提供一種數(shù)據(jù)復(fù)原方法,從光盤的其他存儲(chǔ)區(qū)域找到正確有效的區(qū)段數(shù)據(jù),使該光盤中所存儲(chǔ)的數(shù)據(jù),仍可以被光盤驅(qū)動(dòng)器取得。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)據(jù)復(fù)原方法,該方法利用一光盤驅(qū)動(dòng)器以復(fù)原一具有一損壞的目錄表區(qū)域的光盤上的數(shù)據(jù)。
該方法為,首先,從該目錄表區(qū)域中,識(shí)別一最后有效的目錄表區(qū)塊(Latest valid TOC block)。接著,根據(jù)該最后有效的目錄表區(qū)塊,找出一最后已知的區(qū)段(Last known session),并且將該最后已知的區(qū)段視為一最后可能存在的區(qū)段(Last possible session)。判斷供記錄該最后可能存在的區(qū)段的至少一區(qū)段光盤控制區(qū)塊(Session disc control block,SDCB)的一區(qū)域是否已滿載。如判斷結(jié)果為肯定,則基于該最后可能存在的區(qū)段的區(qū)段光盤控制區(qū)塊檢測(cè)一下一區(qū)段(Next session)是否存在。若該下一區(qū)段存在,則重新將該檢測(cè)到的下一區(qū)段視為該最后可能存在的區(qū)段,并且重復(fù)上述判斷步驟直到找到一最后的區(qū)段,亦即,該最后的區(qū)段的記錄該多個(gè)區(qū)段光盤控制區(qū)塊的區(qū)域未滿載。
本發(fā)明的數(shù)據(jù)復(fù)原方法,運(yùn)用光盤利用不同區(qū)域存儲(chǔ)數(shù)據(jù)的特性,復(fù)原于目錄表區(qū)域中毀損的區(qū)段數(shù)據(jù)。當(dāng)目錄表區(qū)域毀損時(shí),可從光盤的其他區(qū)域,重新取得區(qū)段數(shù)據(jù),讓使用者可持續(xù)使用該光盤并且記錄數(shù)據(jù)于其上。
關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以藉由以下的發(fā)明詳述及附圖得到進(jìn)一步的了解。
圖1表示一流程圖,說明根據(jù)本發(fā)明的一較佳具體實(shí)施例的數(shù)據(jù)復(fù)原方法的程序。
圖2表示一流程圖,說明光盤驅(qū)動(dòng)器將該復(fù)原的區(qū)段數(shù)據(jù)紀(jì)錄至光盤中的程序。
主要元件符號(hào)說明S10-S16流程步驟S20-S26流程步驟具體實(shí)施方式
本發(fā)明旨在提供一種數(shù)據(jù)復(fù)原方法,該方法利用一光盤驅(qū)動(dòng)器以復(fù)原一具有一損壞的目錄表區(qū)域的光盤上的數(shù)據(jù)。
該方法為,首先,從該目錄表區(qū)域中,識(shí)別一最后有效的目錄表區(qū)塊。接著,根據(jù)該最后有效的目錄表區(qū)塊,找出一最后已知的區(qū)段,并且將該最后已知的區(qū)段視為一最后可能存在的區(qū)段。判斷供記錄該最后可能存在的區(qū)段的至少一區(qū)段光盤控制區(qū)塊的一區(qū)域是否已滿載。如判斷結(jié)果為肯定,則基于該最后可能存在的區(qū)段的區(qū)段光盤控制區(qū)塊內(nèi)的數(shù)據(jù),檢測(cè)一下一區(qū)段是否存在。若該下一區(qū)段存在,則重新將該檢測(cè)到的下一區(qū)段視為該最后可能存在的區(qū)段,并且重復(fù)上述判斷步驟直到找到一最后的區(qū)段,亦即,該最后的區(qū)段的記錄該多個(gè)區(qū)段光盤控制區(qū)塊的區(qū)域未滿載。
本發(fā)明藉由判斷光盤的區(qū)段中存儲(chǔ)區(qū)段光盤控制區(qū)塊的區(qū)域滿載與否,來推斷是否存在下一區(qū)段。這是因?yàn)楫?dāng)該存儲(chǔ)區(qū)段光盤控制區(qū)塊的區(qū)域滿載后,該區(qū)段即無(wú)法記錄更多的片段數(shù)據(jù)(Fragment information),因此該區(qū)段應(yīng)為封閉區(qū)段。當(dāng)數(shù)據(jù)無(wú)法再記錄于一封閉區(qū)段時(shí),應(yīng)有一新區(qū)段開放于該封閉區(qū)段之后,用以存儲(chǔ)更多數(shù)據(jù)于光盤上。
請(qǐng)參閱圖1,圖1表示一流程圖,說明根據(jù)本發(fā)明的一較佳具體實(shí)施例的數(shù)據(jù)復(fù)原方法的程序。于此較佳具體實(shí)施例中,該光盤為一DVD+R光盤。
首先,執(zhí)行步驟S10,自該目錄表區(qū)域處,提取一最后實(shí)際存在的目錄表區(qū)塊(Last physical TOC block)作為一現(xiàn)行處理的目錄表區(qū)塊。接著執(zhí)行步驟S11,判斷該現(xiàn)行處理的目錄表區(qū)塊是否有效。如果該現(xiàn)行處理的目錄表區(qū)塊無(wú)效,則執(zhí)行步驟S12,提取該現(xiàn)行處理的目錄表區(qū)塊的前一個(gè)目錄表區(qū)塊,重新將該前一個(gè)目錄表區(qū)塊視為該現(xiàn)行處理的目錄表區(qū)塊,并且重復(fù)步驟S11到步驟S12直到找到一有效的目錄表區(qū)塊為止。如果該現(xiàn)行處理的目錄表區(qū)塊有效,則執(zhí)行步驟S13,將該現(xiàn)行處理的目錄表區(qū)塊視為該最后有效的目錄表區(qū)塊,并根據(jù)該最后有效的目錄表區(qū)塊,找出一最后已知的區(qū)段。將該最后已知的區(qū)段視為一最后可能存在的區(qū)段。隨即執(zhí)行步驟S14,判斷供記錄該最后可能存在的區(qū)段的至少一區(qū)段光盤控制區(qū)塊的一區(qū)域是否已滿載,于本實(shí)施例中,該區(qū)域即為該最后可能存在的區(qū)段中的一內(nèi)部光盤區(qū)段識(shí)別區(qū)域(Inner disc/session identification zone)。若S14的結(jié)果為否定,則執(zhí)行步驟S16,結(jié)束數(shù)據(jù)復(fù)原程序。若S14的結(jié)果為肯定,則執(zhí)行步驟S15,檢測(cè)一下一區(qū)段否存在。如下一區(qū)段不存在,則執(zhí)行步驟S16,結(jié)束數(shù)據(jù)復(fù)原程序。如下一區(qū)段存在,則重新將該檢測(cè)到的下一區(qū)段視為該最后可能存在的區(qū)段,并且重復(fù)步驟S14到步驟S15直到步驟S15的結(jié)果為否定為止。
當(dāng)光盤驅(qū)動(dòng)器執(zhí)行上述的數(shù)據(jù)復(fù)原程序完畢,即可得到完整的區(qū)段數(shù)據(jù)。并且,光盤驅(qū)動(dòng)器可依據(jù)這些區(qū)段數(shù)據(jù),讀取光盤中每一區(qū)段所存儲(chǔ)的數(shù)據(jù)。以下將說明光盤驅(qū)動(dòng)器將該復(fù)原的區(qū)段數(shù)據(jù)紀(jì)錄至該光盤中的程序。
請(qǐng)參閱圖2,圖2表示一流程圖,說明光盤驅(qū)動(dòng)器將該復(fù)原的區(qū)段數(shù)據(jù)紀(jì)錄至光盤中的程序。該光盤驅(qū)動(dòng)器中包含一光盤文件(Disc file)用以存儲(chǔ)該最后有效的目錄表區(qū)塊。首先,當(dāng)該光盤驅(qū)動(dòng)器從該目錄表區(qū)域中,識(shí)別出該最后有效的目錄表區(qū)塊后,即執(zhí)行步驟S20,存儲(chǔ)該最后有效的目錄表區(qū)塊至該光盤文件中。當(dāng)該光盤驅(qū)動(dòng)器判斷出該最后可能存在的區(qū)段中,供記錄至少一區(qū)段光盤控制區(qū)塊的區(qū)域已滿載,即執(zhí)行步驟S22,將該最后可能存在的區(qū)段視為一封閉的區(qū)段。隨即執(zhí)行步驟S24,根據(jù)該最后可能存在的區(qū)段的區(qū)段光盤控制區(qū)塊,更新或附加關(guān)于該最后可能存在的區(qū)段的一管理信息(Management information)至該光盤驅(qū)動(dòng)器中的該光盤文件內(nèi)。最后,執(zhí)行步驟S26,該光盤驅(qū)動(dòng)器將該光盤文件記錄至該光盤的該目錄表區(qū)域中,成為一新目錄表區(qū)塊。
該光盤驅(qū)動(dòng)器也能記錄一新數(shù)據(jù)至該光盤上。并且,在記錄該新數(shù)據(jù)至該光盤上的過程中,關(guān)于該新數(shù)據(jù)的管理信息可附加至該光盤驅(qū)動(dòng)器中的該光盤文件內(nèi)。在完成記錄該新數(shù)據(jù)至該光盤上之后,該光盤驅(qū)動(dòng)器將該光盤文件記錄至該光盤的該目錄表區(qū)域中,成為一新目錄表區(qū)塊。
藉由以上較佳具體實(shí)施例的詳述,希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所公開的較佳具體實(shí)施例來對(duì)本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及等效性的安排于本發(fā)明的權(quán)利要求的范疇內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)復(fù)原方法,該方法利用一光盤驅(qū)動(dòng)器以復(fù)原一具有一損壞的目錄表區(qū)域的光盤上的數(shù)據(jù),該方法包含下列步驟(a)從該目錄表區(qū)域中,識(shí)別一最后有效的目錄表區(qū)塊;(b)根據(jù)該最后有效的目錄表區(qū)塊,找出一最后已知的區(qū)段,并且將該最后已知的區(qū)段視為一最后可能存在的區(qū)段;(c)判斷供記錄該最后可能存在的區(qū)段的至少一區(qū)段光盤控制區(qū)塊的一區(qū)域是否已滿載;(d)若步驟(c)的結(jié)果為肯定,基于該最后可能存在的區(qū)段的區(qū)段光盤控制區(qū)塊檢測(cè)一下一區(qū)段是否存在;以及(e)若步驟(d)的結(jié)果為肯定,重新將該檢測(cè)到的下一區(qū)段視為該最后可能存在的區(qū)段,并且重復(fù)步驟(c)到步驟(e)直到步驟(c)的結(jié)果為否定為止。
2.如權(quán)利要求1所述的方法,其中于步驟(a)中,一光盤文件于該光盤驅(qū)動(dòng)器中開啟以存儲(chǔ)該最后有效的目錄表區(qū)塊。
3.如權(quán)利要求2所述的方法,其中步驟(d)并且執(zhí)行下列步驟將該最后可能存在的區(qū)段視為一封閉的區(qū)段,并且根據(jù)該最后可能存在的區(qū)段的區(qū)段光盤控制區(qū)塊,更新或附加關(guān)于該最后可能存在的區(qū)段的一管理信息至該光盤驅(qū)動(dòng)器中的該光盤文件內(nèi)。
4.如權(quán)利要求3所述的方法,其中該光盤驅(qū)動(dòng)器能將該光盤文件記錄至該光盤的該目錄表區(qū)域中成一新目錄表區(qū)塊。
5.如權(quán)利要求3所述的方法,其中該光盤驅(qū)動(dòng)器并且記錄一新數(shù)據(jù)至該光盤上,于記錄該新數(shù)據(jù)至該光盤上的過程中,關(guān)于該新數(shù)據(jù)的管理信息附加至該光盤驅(qū)動(dòng)器中的該光盤文件內(nèi),于完成記錄該新數(shù)據(jù)至該光盤上之后,該光盤文件被記錄至該光盤的該目錄表區(qū)域中成一新目錄表區(qū)塊。
6.如權(quán)利要求1所述的方法,其中步驟(a)以下列步驟執(zhí)行(a1)自該目錄表區(qū)域處,提取一最后實(shí)際存在的目錄表區(qū)塊作為一現(xiàn)行處理的目錄表區(qū)塊;(a2)判斷該現(xiàn)行處理的目錄表區(qū)塊是否有效;(a3)若步驟(a2)的結(jié)果為肯定,將該現(xiàn)行處理的目錄表區(qū)塊視為該最后有效的目錄表區(qū)塊;以及(a4)若步驟(a2)的結(jié)果為否定,提取該現(xiàn)行處理的目錄表區(qū)塊的前一個(gè)目錄表區(qū)塊,重新將步驟(a4)中所提取的目錄表區(qū)塊段視為該現(xiàn)行處理的目錄表區(qū)塊,并且重復(fù)步驟(a2)到步驟(a4)直到步驟(a2)的結(jié)果為肯定為止。
7.如權(quán)利要求1所述的方法,其中該光盤為一DVD+R光盤。
8.如權(quán)利要求1所述的方法,其中該最后可能存在的區(qū)段的該至少一區(qū)段光盤控制區(qū)塊記錄于該最后可能存在的區(qū)段的一內(nèi)部光盤區(qū)段識(shí)別區(qū)域中。
全文摘要
本發(fā)明提供一種數(shù)據(jù)復(fù)原方法,該方法利用一光盤驅(qū)動(dòng)器以復(fù)原一具有一損壞的目錄表區(qū)域的光盤上的數(shù)據(jù)。該方法為,先從該目錄表區(qū)域中,識(shí)別一最后有效的目錄表區(qū)塊,并根據(jù)此目錄表區(qū)塊,找出一最后已知的區(qū)段。將該最后已知的區(qū)段視為一最后可能存在的區(qū)段。經(jīng)過判斷,若該最后可能存在的區(qū)段的紀(jì)錄至少一區(qū)段光盤控制區(qū)塊的一區(qū)域已滿載,檢測(cè)一下一區(qū)段是否存在。若該下一區(qū)段存在,則重新將該檢測(cè)到的下一區(qū)段視為該最后可能存在的區(qū)段,直到找到供記錄該多個(gè)區(qū)段光盤控制區(qū)塊的區(qū)域已滿載的最后可能存在的區(qū)段為止。
文檔編號(hào)G06F12/16GK1877728SQ20051007617
公開日2006年12月13日 申請(qǐng)日期2005年6月8日 優(yōu)先權(quán)日2005年6月8日
發(fā)明者賴彥穎, 徐永智 申請(qǐng)人:明基電通股份有限公司