專利名稱::數字數據錯誤的查錯糾錯方法
技術領域:
:本發(fā)明涉及一種數據讀取錯誤的查錯糾錯方法,且特別涉及一種可應用于光驅系統(tǒng)錯誤的查錯糾錯方法。光盤所儲存的數據,如只讀光盤(CD-ROM),在經過8-14調變單元(eighttofourteenmodulation,EFM),將8位的數據調變成14位的數據后,在經過一個符號延遲單元(onesymboldelayunit)、C1譯碼器(C1decoder)、解交叉單元(de-interleavingunit)、C2譯碼器與兩個符號延遲單元(twosymboldelayunit)的糾錯后,便可以將含有錯誤的數字數據監(jiān)測出位置,并將正確值解出。一般而言,有四個解錯誤的多項式方程式來解決錯誤數據的信息。由于一個方程式僅能解出一個解,因此四個方程式便可用來解兩個錯誤數據的位置與數值。所以傳統(tǒng)的CIRC方法中C1譯碼器提供解兩個錯誤的能力,而C2譯碼器提供解四個錯誤的能力。此傳統(tǒng)CIRC方法已經成為光驅的規(guī)格,可以在許多公開數據中查詢到。冗長的敘述,在此便省略。綜上所述,常見的光驅系統(tǒng)的錯誤的查錯糾錯方法,受限于求解錯誤方程式的數目,所以在C1層的錯誤糾錯程序僅能求解兩個錯誤。也即在四個方程式中,兩個求解錯誤的位置,兩個求解出正確的值。因此,以常見方式來進行數字信號的錯誤查錯糾錯時,其能夠解錯的效率便偏低。尤其在光驅速度越快,數據容量越大時,此等糾錯能力已經不敷使用。
發(fā)明內容本發(fā)明的目的在于提出一種數字數據錯誤的查錯糾錯方法,可以使C1層的解錯能力加倍。本發(fā)明另一目的在于提出一種數字數據錯誤的查錯糾錯方法,其利用位調變的正確與否,來進行第一道錯誤監(jiān)測。本發(fā)明公開的數字數據錯誤的查錯糾錯方法,簡述如下一種數字數據錯誤的查錯糾錯方法,包括將一數據字節(jié)進行位調置編碼。判斷此數據字節(jié)是否滿足調變編碼的規(guī)格。當不滿足調置編碼規(guī)格時,將此數據字節(jié)增加一錯誤位。之后,再將包括此錯誤位的數據字節(jié)進行錯誤糾錯程序。其中上述的位調置編碼為八位至十四位的調變程序,可以用于CD-ROM的類規(guī)格的光盤?;蛭徽{置編碼可以為八位至十六位的調變程序,可以適用于DVD的類的光盤規(guī)格。其次,錯誤糾錯程序則可以使用交叉里德-所羅門碼(CIRC)。判斷該數據字節(jié)是否滿足調變編碼的規(guī)格根據內建的對照表(look-uptable),其可以儲存于只讀存儲器(ROM)中。因此,在尚未進入CIRC錯誤查錯糾錯程序之前,便先判斷位調變變換是否滿足規(guī)格。在不滿足規(guī)格時,便對每一個字節(jié)多帶一個錯誤位或標志,來事先告知傳進來的數據已經錯誤,不必再進行錯誤位置的計算。本發(fā)明提供一種數字數據錯誤的查錯糾錯方法,包括將一數據字節(jié)進行位調置編碼。判斷該數據字節(jié)是否滿足調變編碼的規(guī)格。當不滿足調置編碼規(guī)格時,將數據字節(jié)增加一錯誤位。計算對應此數據字節(jié)的特征值。判斷所有特征值是否均為零。當所有特征值中至少有一不為零時,便判斷是否有錯誤位或錯誤位是否超過四個。當具有錯誤位且錯誤位的計數不超過四,便執(zhí)行第一錯誤糾錯程序,以計算一錯誤值;當錯誤位的計數超過四或不具有錯誤位,便執(zhí)行第二錯誤糾錯程序,以計算一錯誤位置與一錯誤值。上述的第一錯誤糾錯程序,還包括計算該錯誤值的一除數;判斷該錯誤值的該除數是否為0;當該錯誤值的該除數為0時,對該錯誤值標示一抹除位;當該錯誤值的該除數不為0時,計算該錯誤值的一被除數,并計算該錯誤值與累計一錯誤值計算次數;當該錯誤值計算次數等于第一默認值時,便進行錯誤修正;以及當該錯誤值計算次數不超過第一默認值時,便再計算下一個錯誤值,直到錯誤值的計數為第一默認值。其中第一默認值,其為C1的可解錯方程式個數,如可以為4。根據CIRC譯碼方法,特征值則可以包括第一特征值、第二特征值、第三特征值、第四特征值。第二錯誤糾錯程序則還包括判斷第二特征值的平方是否等于第一與第三特征值的乘積。當第二特征值的平方等于第一與第三特征值的乘積時,判斷是否能找錯誤值的錯誤位置。當錯誤值的錯誤位置被找出時,便對錯誤值進行錯誤修正;當錯誤值的該錯誤位置未被找出時,便搜尋一數據串,再進行錯誤值的錯誤位置的搜尋。反之,當第二特征值的平方不等于第一與第三特征值的乘積時,便搜尋數據串,并且累計錯誤位置的計數值。當錯誤位置的計數值等于第二默認值時,便計算錯誤值,并對錯誤值進行錯誤修正;而當錯誤位置的計數值不等于第二默認值時,便對錯誤值標示抹除位。此第二默認值則為2,因為四個方程式中要同時解錯誤位置與錯誤值,所以只有兩個解錯能力。因此,在尚未進入CIRC錯誤查錯糾錯程序之前,便先判斷位調變變換是否滿足規(guī)格。在不滿足規(guī)格時,便對每一個字節(jié)多帶一個錯誤位或標志,來事先告知傳進來的數據已經錯誤,不必再進行錯誤位置的計算。標號說明10八位集合12十四位集合12a合法的十四位集合領域(滿足規(guī)格)12b不合法的十四位集合領域(不滿足規(guī)格)20伺服控制裝置22同步監(jiān)測裝置24同步保護裝置30EFM調變單元32一個符號延遲單元34C1譯碼器36解交叉單元38C2譯碼器40兩個符號延遲單元100--148標示錯誤計算的各流程一般而言,計算機系統(tǒng)在讀取盤片中所儲存的數據時,會先進行位調變編碼,例如在CD-ROM或類似規(guī)格的光盤片會進行所謂的八至十四位調變編碼(EFM),而較先進的DVD類別光盤片則進行八至十六位調變編碼(EFMII規(guī)格)。以下以CD-ROM規(guī)格做為說明的用。參考表一,一般而言,計算機系統(tǒng)會有一對應EFM調變的內建表格,可以將數據位(databits)的八位的數據轉換成十四位的頻道位(channelbits)。八位的數據可以有28=256種情況,而十四位則有214=16384種排列組合。因此,八位的排列組合種類會少于十四位的排列組合情形,而無法對應到每一個十四位的排列組合。如圖1所示,假設八位的數據領域為10,而轉換到合法(滿足規(guī)格)的十四位的頻道位領域為12a。因此,在領域10與12a內則為一一對應,并且可以與內建的對照表對應一致。因此,當八位的數據位轉換為十四位的頻道位時,并非在對照表中的值時,也即從領域10轉換到領域12b。此時,便可以知道此數據位有錯誤。反之,從頻道位轉換到數據位的情形也相同。故,當八位的數據位與十四位的頻道位之間的轉換并非在對照表中的值時,便將此八位數據帶一個錯誤標志(errorflag)或錯誤位(errorbit),告知系統(tǒng)此數據位有錯誤。因此,在未進行C1查錯糾錯程序時,便已知錯誤是發(fā)生在何處。所以,所有四組解錯誤的多項式方程式便可以完全用來解出數據的錯誤值,而不必去計算錯誤的位置。因此,四個多項式方程式便可以用來解四個錯誤值,比常見只能解兩個錯誤值的能力而言,解錯能力大為提升。表一如圖2所示,本發(fā)明的數字數據錯誤的查錯糾錯方法所使用的糾錯方塊示意圖。當光盤片的數據被讀取時,先通過EFM調變單元30將一個數據流,例如由32字節(jié)構成的每一個字節(jié)(八位)進行EFM調變。也即,將八位轉換為十四位。此時,光驅系統(tǒng)便可以參考一對照表(look-uptable)來判斷此字節(jié)經過EFM調變之后,是否為合法的十四位。也即,是否八位與十四位之間的轉換均滿足對照表之中所定義的轉換方式。此對照表可以如表一所示,或者依據CD-ROM或其它光盤規(guī)格所規(guī)定的內容值。此外,此對照表可以建立在一只讀存儲器(readonlymemory,ROM)之中,以供光驅系統(tǒng)來讀取進行比對。當查照對照表發(fā)現經過EFM調變后的字節(jié)(十四位)不在對照表之中,如映像到圖1的不合法集合12b之中,便可以知道此調變是錯誤的,也即此次所讀取的數據為錯誤的數據。對此,光盤系統(tǒng)便對數據流的每一錯誤的字節(jié),也即在其八位數據中,增加一個錯誤位(errorbit)或錯誤標志(errorflag)。藉此,可以告知此次傳來的數據便是錯誤。于是,在后續(xù)的C1譯碼時,便不需要再去尋找錯誤的位置,而可以去計算錯誤值。接著,在經過一個符號延遲單元(onesymboldelayunit)32延遲后,將數據打散,在將一32字節(jié)的編碼字符(codeword)送入C1譯碼器34進行錯誤值的計算。由于從EFM調變單元送過來的數據便已經事先標示數據是否滿足EFM調變的定義。因此,C1譯碼器34便可以將其四個PARITY(四個多項式方程式)完全用來解錯誤值。因此,C1譯碼器34的解錯能力便可以提高到解四個錯誤的能力,而非如常見一般僅能解兩個錯誤值。同理,當經過C1譯碼器34解錯后,依舊有錯誤時,便對每一字節(jié)再增加一抹除位(erasurebit)或抹除標志(erasureflag),將C1譯碼器34輸出的28字節(jié)(其中每一字節(jié)帶一抹除位)的數據送入解交叉單元(de-Interleavingunit)36,或稱不等長延遲單元(unequaldelayunit)。28個字節(jié)的數據經過解交叉單元打散后,輸出24個字節(jié)的數據給C2譯碼器38進行C2譯碼解錯程序。之后,再將輸出數據傳送給兩個符號延遲單元(twosymboldelayunit)。此外,前述的EMF調變單元可以由如同步保護裝置24、同步監(jiān)測裝置22與伺服控制裝置20來加以控制。然,其非本發(fā)明的重點,在此便省略不詳述。此控制裝置,可以一實際情況來加以設計,而非限定附圖的方式。依此程序,再讀取光盤數據時,其CIRC解錯能力便可以提高,使得所讀出的數據更為正確。在光驅速度越來越快的狀況的下,此具有高解錯能力的方法具有高度的進步性。接著請參考圖3,繪示本發(fā)明的數字數據錯誤的查錯糾錯方法的糾錯流程示意圖。此流程說明圖2的C1譯碼器的操作流程。首先,在步驟100計算出特征值(syndrome),S0、S1、S2與S3。特征值的計算屬于光盤數據的規(guī)格,可詳見于一般規(guī)格書之中,其非本發(fā)明的重點,在此便不詳述。接著,在步驟102中,判斷特征值S0、S1、S2與S3是否均為0。假使特征值S0、S1、S2與S3均為0,其表示數據無誤,便執(zhí)行步驟120,告知系統(tǒng)此數據無誤,不必進行糾錯程序。當特征值S0、S1、S2與S3其中有一不為0時,便執(zhí)行步驟104。在步驟104中,會判斷數據是否帶有錯誤位(標志)且錯誤位(標志)的數目是否小于等于四個。當有錯誤標志且在1至4個時,便執(zhí)行第一錯誤修正程序(包括步驟106--116),其可以解4個錯誤值。在進行錯誤修正程序時,首先于步驟106中計算錯誤值的除數。接著,在步驟108判斷此錯誤值的除數是否為0。當除數為0時,便對此錯誤值標示一抹除位(步驟109),再傳送至C2譯碼器。當除數不為0時,則執(zhí)行步驟110,計算錯誤值的被除數。接著于步驟112,將錯誤值計算出。錯誤值計算后,可以利用記數器累計計算錯誤值得次數。于步驟114中,判斷計算次數是否超過4次。當等于4次時,便執(zhí)行步驟116,對錯誤值進行修正。反之,未超過4次時,便回到步驟106去計算下一個錯誤值。在執(zhí)行步驟104時,當無錯誤標志或大于4個錯誤標志時,便執(zhí)行第二錯誤修正程序(包括步驟130--148),其可以解2個錯誤值。首先,于步驟130,判斷特征值S1的平方是否等于特征值S0與S2的乘積。當特征值S1的平方等于特征值S0與S2的乘積時,便執(zhí)行步驟132。在步驟132中,判斷是否能找出錯誤位置。當可以找出錯誤位置時,便執(zhí)行步驟136進行錯誤修正。反之,則進行步驟134去搜尋數據串后,再回到步驟132判斷是否可以找到錯誤位置。當特征值S1的平方不等于特征值S0與S2的乘積時,便執(zhí)行步驟140去搜尋數據串。接著,于步驟142判斷錯誤位置的計數是否超過2。當錯誤位置計數等于2時,便執(zhí)行步驟144計算錯誤值與步驟146進行錯誤修正。反之,當步驟142判斷錯誤位置的計數未超過2時,便執(zhí)行步驟148將數據標示抹除位后,將標示抹除位的數據送至C2譯碼器。因此,通過以上的說明可以知道,當EFM調變后為不合法的位,可以通過產生的錯誤標志,便可以事先知道錯誤的所在,而不必在計算錯誤的位置。因此C1譯碼器的解錯能力便可以提高到4個。即使EFM調變后為合法位,C1譯碼器依舊可以進行與常見相同的方式來進行譯碼。因此,根據本發(fā)明的方法,可以在數據經過EFM調變后,便先進行判斷調變后的數據是否為合法的字符。當不合法時,C1譯碼器可以將其4個配對位(paritybit)完全用于錯誤值的計算,而不必重復計算出錯誤值。因此,C1譯碼器的解錯能力便可以大幅提升。以上說明以目前的C1、C2譯碼器等均有4個配對位的計算能力來說明。當C1、C2譯碼器的計算錯誤位置與值能力提高為8或以上時。本發(fā)明的方法依舊適用。本發(fā)明的重點即在于在尚未進入CIRC錯誤查錯糾錯程序之前,便先判斷位調變變換是否滿足規(guī)格。在不滿足規(guī)格時,便對每一個字節(jié)多帶一個錯誤位或標志,來事先告知傳進來的數據已經錯誤,不必在進行錯誤位置的計算。綜上所述,本發(fā)明的與常見技術相較的下至少具有下列的優(yōu)點與功效依據本發(fā)明的數字數據錯誤的查錯糾錯方法,其可以使C1層的解錯能力加倍。依據本發(fā)明的數字數據錯誤的查錯糾錯方法,其利用位調變的正確與否,來進行第一道錯誤監(jiān)測,以提升后續(xù)的C1與C2層譯碼器的解錯能力。雖然本發(fā)明已以較佳實施例公開如上,然其并非用于限定本發(fā)明,任何本領域的普通技術人員,在不脫離本發(fā)明的精神和范圍內,可作一些等效變化和變動,因此本發(fā)明的保護范圍以權利要求為準。權利要求1.一種數字數據錯誤的查錯糾錯方法,其特征在于,包括將一數據字節(jié)進行一位調置編碼;判斷該數據字節(jié)是否滿足調變編碼的規(guī)格;當不滿足該調置編碼規(guī)格時,將該數據字節(jié)增加一錯誤位;以及將包括該錯誤位的該數據字節(jié)進行一主錯誤糾錯程序。2.如權利要求1所述的數字數據錯誤的查錯糾錯方法,其特征在于,該主錯誤糾錯程序包括計算對應該數據字節(jié)的數個特征值;判斷這些特征值是否均為零;當這些特征值中至少有一不為零時,便判斷是否有有該錯誤位或該錯誤位的計數是否超過一第一默認值;當具有該錯誤位且該錯誤位的計數不超過該第一默認值,便執(zhí)行一第一錯誤糾錯程序,以計算一錯誤值;當該錯誤位的計數超過該第一默認值或不具有該錯誤位,便執(zhí)行一第二錯誤糾錯程序,以計算一錯誤位置與一錯誤值。3.如權利要求2所述的數字數據錯誤的查錯糾錯方法,其特征在于,該第一錯誤糾錯程序,還包括計算該錯誤值的一除數;判斷該錯誤值的該除數是否為零;當該錯誤值的該除數為零時,對該錯誤值標示一抹除位;當該錯誤值的該除數不為零時,計算該錯誤值的一被除數,并計算該錯誤值與累計一錯誤值計算次數;當該錯誤值計算次數等于該第一默認值時,便進行錯誤修正;以及當該錯誤值計算次數不超過該第一默認值時,重復該第一錯誤糾錯程序,便再計算該錯誤值的下一錯誤值。4.如權利要求3所述的數字數據錯誤的查錯糾錯方法,其特征在于,該第一默認值為4。5.如權利要求2所述的數字數據錯誤的查錯糾錯方法,其特征在于,這些特征值還包括一第一特征值、一第二特征值、一第三特征值以及一第四特征值。6.如權利要求5所述的數字數據錯誤的查錯糾錯方法,其特征在于,該第二錯誤糾錯程序,還包括判斷該第二特征值的平方是否等于該第一與該第三特征值的乘積;當該第二特征值的平方等于該第一與該第三特征值的乘積時,判斷是否能找該錯誤值的一錯誤位置;當該錯誤值的該錯誤位置被找出時,便對該錯誤值進行錯誤修正;當該錯誤值的該錯誤位置未被找出時,便搜尋一數據串,再進行該錯誤值的該錯誤位置的搜尋;當該第二特征值的平方不等于該第一與該第三特征值的乘積時,便搜尋該數據串,并且累計該錯誤位置的計數值;當該錯誤位置的計數值等于一第二默認值時,便計算該錯誤值,并對該錯誤值進行錯誤修正;以及當該該錯誤位置的計數值不等于該第二默認值時,便對該錯誤值標示一抹除位。7.如權利要求6所述的數字數據錯誤的查錯糾錯方法,其特征在于,該第二默認值為2。8.如權利要求1所述的數字數據錯誤的查錯糾錯方法,其特征在于,該位調置編碼為八位至十四位的調變程序。9.如權利要求1所述的數字數據錯誤的查錯糾錯方法,其特征在于,該位調置編碼為八位至十六位的調變程序。10.如權利要求1所述的數字數據錯誤的查錯糾錯方法,其特征在于,判斷該數據字節(jié)是否滿足調變編碼的規(guī)格為根據一儲存于一只讀存儲器(readonlymemory,ROM)內的對照表。全文摘要本發(fā)明涉及一種數字數據錯誤的查錯糾錯方法,包括將一數據字節(jié)進行位調置編碼,判斷此數據字節(jié)是否滿足調變編碼的規(guī)格,當不滿足調置編碼規(guī)格時,將此數據字節(jié)增加一錯誤位。之后,再將包括此錯誤位的數據字節(jié)進行錯誤糾錯程序。文檔編號G11B20/18GK1404059SQ0214289公開日2003年3月19日申請日期2002年9月23日優(yōu)先權日2002年9月23日發(fā)明者張文正,胡培杰申請人:威盛電子股份有限公司