TWI251738B - Method and apparatus for error code correction - Google Patents

Method and apparatus for error code correction Download PDF

Info

Publication number
TWI251738B
TWI251738B TW093130655A TW93130655A TWI251738B TW I251738 B TWI251738 B TW I251738B TW 093130655 A TW093130655 A TW 093130655A TW 93130655 A TW93130655 A TW 93130655A TW I251738 B TWI251738 B TW I251738B
Authority
TW
Taiwan
Prior art keywords
error correction
decoding
error
decoding operation
check code
Prior art date
Application number
TW093130655A
Other languages
English (en)
Other versions
TW200521664A (en
Inventor
Jonathan Chen
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200521664A publication Critical patent/TW200521664A/zh
Application granted granted Critical
Publication of TWI251738B publication Critical patent/TWI251738B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

1251738 九、發明說明: 【發明所屬之技術領域】 本發明根據2003年10月8日提出的美國臨時專利申 請案號 60/509,732。 本發明是有關於一種解碼的流程控制方法以及錯誤更 正裝置,且特別是應用於光碟機的錯誤碼更正方法及裝 置,以進行解碼流程控制及錯誤碼更正。 【先前技術】 请參照弟一圖’其所缘示為DVD(Digital Versatile Disc) 光碟片的資料記錄流程示意圖。一般來說,DVD光碟片 60可以§己錄各式的數位資料1〇,例如,影像資料(vide〇)、 聲音資料(Audio)、檔案資料(Data)、或者其它種類之類比 (Analog)資料經過類比/數位(a/d)轉換後生成的數位資 料。如第一圖所示,數位資料1〇皆須經過資料壓縮2〇、 資料保密30、錯誤更正40、以及調變/解調50等步驟來對 光碟片進行寫入/讀取動作。 再詳細一點介紹,於記錄數位資料10至DVD光碟片 60時,數位資料10必須依序經過資料編碼(s〇urce c〇de
Encoding)程序 22、資料加密(Data Encryption)程序 32、錯 誤更正編碼(Error Correction Encoding)程序42、以及調變 (Modulation)程序52。其中,錯誤更正編碼42程序多利用 1251738 瑞德-所羅門乘積碼(Reed-Solomon Product Code,以下簡稱 RSPC)來進行編碼。而調變程序52係進行八轉十四調變 (Eight_Fourteen Modulation,以下簡稱 EFM)。 反之,當讀取DVD光碟片60的内容時,DVD光碟片 60的内谷必須依序經過解調(Demodulation)程序54、錯誤 更正解碼(Error Correction Decoding)程序44、資料解密 (Data Decryption)程序 34、以及資料解碼(Data Decoding) 程序24。其中,解調程序54係進行EFM解調。而錯誤更 正解碼44程序係利用RSPC來進行解碼。 請參照第二圖(a),其所繪示為DVD的訊息區域 (Information Field)示意圖。一般來說,DVD的資料格式係 以區段(Sector)為單位,每一個區段有2〇64Byte,而一個訊 息區域70有16個區段,因此,可以形成如第二圖⑷所示 之172Byte* 192Byte的訊息區域70。 請參照第二圖(b),其所繪示為錯誤更正碼(Err〇r Correction Code,ECC)區塊示意圖。在執行錯誤更正編碼 程序42時,在訊息區域70後增加外部校驗碼(parity 〇f Outer_Code,P0)區域 80,其區域大小為 mByte*16Byte。 接著,在訊息區域70與外部校驗碼區域8〇旁插入内部校 驗碼(Parity of Inner-Code,PI)區域9〇,其區域大小為 10Byte*208Byte。因此,錯誤更正碼區塊丨⑻的大小為 182Byte*208Byte,錯誤更正碼區塊1〇〇的資料經過efm 調變程序之後,即可記錄於DVD光碟片6〇中。 同理,當讀取DVD光碟片60的資料時,首先必須經 1251738 過EFM解調程序,之後,即可於記憶體中依序填入 182Byte*208Byte的資料以便執行錯誤更正解碼程序44。 在錯誤更正解碼程序44中,每一列之内部校驗碼(pI) 可用來偵測並更正同一列中特定數目位元組(Byte)的錯 誤。舉例來說,利用第零列内部校驗碼B〇 i72〜B〇,⑻可更正 B〇,〇到Bcuw間的N個位元組錯誤;如果出現多於N個位 兀組的錯誤時,就不能更正這些錯誤。在本例中,理論上 運用消除(Erasure)演算法時最多可更正i q立元組的錯誤, 不運用消除演算法則最多可更正5位元組的錯誤。利用内 又驗馬(PI)來進行錯誤更正即稱為内部校驗碼程 Procedure^ 〇 — — 丨权驗碼(p〇)偵測並更正同一行中特 ==位讀(Byte)的錯誤。舉例來說,湘第零行外部核 錯誤’ ΓΓΓ207,0可同時校正B〇,〇到Bi9i,〇間的M個位元組 二不二0,0到B191 ’0間出現多於M個位元組的錯誤時, 最多Ϊ更St"1!。在本例中’理論上運用消除演算法 可更正8付_兀組的錯誤,而不運用消除演算法則最多 行更正錯誤。而彻所有外部校驗碼(p〇)來進 mrT部校驗顺序(P。—) 誤更正解碼裝輯示為習用DVD光碟機中的錯 存由光碟#卜读/、中包含有一資料緩衝區施,用以儲 解碼器310中尚包曰决更正碼區塊;另外,在錯誤更正 用以控制整個錯爷有1曰為更正解碼流程控制器312, 、正解碼流程;一錯誤更正引擎314, 1251738 了由複數鑛碼模組靠m有限㈣㈣ ㈣之循環方式被選定執行,以達到運用不同解 一 =鼻法騎資簡碼之目的,—般至少包含—ρι程序盘 二㈣::及—錯誤侧擎316,用以檢查目標錯誤 塊中的錯誤。其㈣錯誤更正解碼流程控制器 、、錯决更正引擎314、錯誤偵測引擎316分別可能 輯電路實作,亦可能為編程於微處理器中執 外,為說明本發明的原理,圖令將儲存媒體(例如式光= 碟碟,)與儲存裝置中其他控制單元統稱為儲存
控制早70 3〇4,儲存媒體與控制單元3〇4透過匯流 排302與主機3〇〇交換資料。 ’IL ^習用之解碼動作開始時,儲存媒體與控制單元烟 百,會透過匯流排3〇2將一未解碼之錯誤更正碼 緩:區306,成為「目標」錯誤更正碼區塊,接= =更正解碼流程控制器312便於初始化動作後,先奸 ^更正引擎3M中選定ρι程序或者p〇程序開始進行解 否、/Γ選擇PI程序,錯誤债則擎316判斷資料區塊是 以錯誤細Em)r Deteet)並結束錯誤控制解碼程序; 反之’自未能通過錯誤偵測時,代表目標錯誤更 有誤且不能夠以PI程序來完成。之後,錯正 f制器312判斷—重試值是否到達重試極限值, =^=未達到重試極限值時,錯誤更正解碼流程控制 口口 312將该重試值加1並且進行!>〇程序。 進行P〇程序之後,錯誤偵測弓I擎3!6對目標錯誤更 i25l738 塊進行錯誤偵測。當通過錯誤制時 塊的錯誤都已更正,錯二:解=f錯誤更正碼區 反之,者目铲辑310即完成其任務; 目$输絲料顧,代表 :1 龜,馬區塊内的資料有誤且爛以PO程序ί 制器3ΐ2· 伊= 在重試值尚未達到重試極限值時, =更轉碼流程控制器312將該重試值加1並且進㈣ n 4重試值達到重試極限值時,代表經過多次的p〇 二二及ρι程序皆未能夠完成錯誤更正,因此,錯誤更正 解碼流程㈣器312宣告錯誤更正失敗(ECCFaiiure)。 請參照第四圖⑻’其所緣示為習知錯誤更正解碼程序 中的失敗(Fail㈣)判斷之流程示意圖。在程序開始時先進行 解碼私序的初始化動作,接著錯誤更正解碼流程控制器 312於錯誤更正解碼程序中選定ρι程序或者p〇程序開始 進行。如前所述,該錯誤更正解碼程序至少包含一 ρι程序 與一 P0程序,本發明中將以僅包含一 ρι程序與一 p〇程 序為例以簡化說明。假設進行π程序1〇2之後,判斷錯誤 更正碼區塊是否通過錯誤偵測(Err〇r Detecti〇n)丨〇4。當通過 錯誤偵測程序104時,代表訊息區域内的資料皆正確,也 就是完成錯誤更正(Error Correction)114,因此,即可結束 錯誤更正解碼程序;反之,當錯誤更正碼區塊未能通過錯 誤债測104時,代表有些錯誤不能夠以PI程序進行更正。 之後,判斷重試值是否到達重試極限值1〇6,在重試值尚 1251738 =達到請祕值時,在步驟術將重難加丨並 p〇程序108。 力 在進行PO程序108之後,判斷錯誤更正碼區塊是否 誤:貞測110。當通過錯誤偵測110日夺,代表訊息區 域内的貧料皆正確,也就是通過錯誤更正 :結束錯誤更正解碼程序;反之,當錯誤更正碼區:未 =誤偵測no時,代表有些需錯誤不㈣以二 ,、之後,判斷重試值是否達到重試極限值112,在 限值之前,在步驟113將重試值加丨並且進行 ^序102;當重試值達到重試極限值時,而多次的抝 誤更正_序,表 但疋公運到重试極限值。在某些特 ==息區域中有(ν+ι)β,卿-這麼 疋錯决的’不論重試多少次錯誤更正的動作皆 不可此凡成錯誤更正解碼程序。其目 莩 f句在步驟102、步驟刚、步_、二步驟:僅
=_、以及步驟113之間不斷的二 重试值達到重試極限值之後, J 叫。因此,若是必須等到會確疋1曰决更正失敗 確$ 4 績達财試極限值時才能夠 盘m il更敗’這個機制會因為執行過多的p〇程序 與pi程序而浪費系統資源。 私序 另外’由於運用消除演算法有較大的容錯能力,請參 !251738 =四圖(b) ’其說明判斷錯誤更正失敗的另—已知程序。 ^’、第四圖(a)之最大不同處在於p〇程序與π程序皆各呈 有兩種不同的演算法,範例中包含: ^ 0)進行消除演算法之ρ〇程序4〇1 ; Ο進行消除演算法之ρΐ程序4〇2,· (3)不進行消除演算法之p〇程序仞3 ;以及 ()不進行消除演算法之PI程序404。
鼓解碼失敗(DeeGde Fail⑽)時,便㈣職生之解碼失 敗行/列數YNUM來進行判斷,而在〇<ynum< = ERA-maX(在PI程序中ERA—max為10,在P〇程序中 —ax為16)之條件下,判斷此狀況適用於進行另外一 、准度之’肖除演异法,在本例中,當ρι程序4〇4得到解碼失 敗進行位置標示後再跳到⑴進行消除演算法之p〇程序 4〇1中進行處理。反之’當所產生之解碼失敗行/列數
大於ERA_max(在PI程序中ERA max為1〇,在p〇程序 中ERA—max為16)時,便判斷此狀況適用於進行另外一維 度之解碼程序但不騎消除演算法,在本射即是跳到(3) 不進行消除演算法之PO程序4〇3中進行處理。 然而,當連續利用(4)不進行消除演算法之PI程序4〇4 與(1)進行消除演算法之P0程序4〇1進行處理皆無法有效 解出所有的資料時,再次檢測YNUM與ERA一max之關 係,當0<YNUM<=ERA—max,進入(2)進行消除演算法 之PI程序402 ;反之,如果YNUM>ERA—max,則進入(4) 不進行消除演算法之PI程序4〇4。另外,當連續利用(3) 12 1251738 不進行消除演算法之P0程序403以及(2)進行消除淹管、去 H程序402進行處理後,皆無法有效解碼所有 日r再次比較YNUM與ERA_max之關係,當γΝ_ <=ERA—max時,進入(1)進行消除演算法之p〇 4〇1;當鄭观,時進入(3)不進行消除演S 之P0程序403。 …忘 士當錯誤更正碼區塊在經過相當程序後通過錯誤 牯,代表目標錯誤更正碼區塊内的資料皆正確,二 賴誤更正,這表示錯誤更正解碼程序已完成,將執= 續程序,但在本圖中未予以示出。上述流程控制之缺失在 能的成功解出所有的資料之機會。請參 =弟五圖,其隸—個錯誤更正碼區塊巾具有解碼失敗 組之—分佈示例圖,其中*代表一 碼失敗位元組。將此錯誤更正碼區塊送入第四_所示之 :斷^程時,假設先進行(4)不進行消除演算法之η程序 ,虽產生在某-列上產生有數量大於5但小於1〇的解 :失,立元組’引入YNUM以決定下一步將進行 m例中YN_,所以〇<ynum〈遺a = —max為1G,在P0程序中舰贿為⑼, 中大ί適用於進行另外一維度之進行消除演算法,在 位置π -卩^在ΡΙ程序彻中所得到的解碼失敗位元組進行 位^不後再跳到⑴進行消除演算法之P0程序中進 失敗列數已相當接近上限,而且資 科中域有-些無法偵測出之解碼錯誤,最後仍然會產生 13 1251738 热法完全成功解碼之情況發生。但此機制並不會將適當的 不進行消除演算法之PI程序彻導人解碼流程,將造成流 寿主進入反後執行但M效的解碼程序,本發明的目的即在改 善習用手段的上述缺失。 [發明内容】 -〜…口《、厂丨尔捉—種錯誤更正方法及裝 置’用於谓測亚更正自儲存媒體讀出的錯誤更正碼择贿 =〇=〇n Code,Ecc)區塊内之錯誤,所稱錯誤更正碼區 ;?;p WCode,
Gf 〇ut_e,P〇)區塊,儲存媒體可以是軸 先碟片或CD-RW光碟片等等。 本案之第一方面係為一種解 ^齡戈第二維錯誤更正 邊限值,狀魏赖第n錢=小於- 二弟c—Λ錯誤更正解碼動作,否則即視為錯誤更::及 (ECC Failure)。如果該第—維解 、更正失敗 作之未修改值小於第二邊限值^第二維解碼動 更正解碼動作以及該第二維執行該第1錯誤 為錯誤更正失敗。 更正解碼動作,否則即視 〃該第-維錯言吳更正解碼動作 该第二維錯誤更正解碼動作可包含一 S 1解碼動作,而 —維錯誤更正解碼動作及該第二解碼動作,該第 ^、更正解碼動作更包 14 1251738 含 &機錯誤程序(Random Error Process)。 ^該錯誤更正方法更包含下列步驟··當偵測到解碼錯誤 或自儲存媒體讀出的未修正錯誤,則在P0解碼動作之後, 進入一進行消除演算法之附屬P0解碼動作。 ^該錯誤更正方法更包含下列步驟:當偵測到解碼錯誤 或自儲存媒體讀出的未修正錯誤,則在PI解碼動作之後, 進入一進行消除演算法之附屬PI解碼動作。 【實施方式】 本發明得藉由下列實闕得致教詳細的朗,但是下 來限制本===:的敘述僅作為說明之用’而非用 展出r二發明於儲存裝置中所發 406,用以斬士 ”、、衣置。,、中包含有一資料緩衝區 供後綠解瑪曰日禮存由光碟片上讀出之錯誤更正碼區塊,以 有二。用;另外,在錯誤更正解碼器410中尚包含 =程更正一解 解碼程序之模成並《 執:则 :=:=:選定執行,《達^ 之、為碼進订解碼之目的,再去,輯$ φ τ 2,敬w 1 至少包含-ΡΙ程序盘-Ρ〇^縣錯块更正引擎414 說明,即是以錯誤更㈣擎本發明於下列實施例的 拏414至少包含一 pj程序與一 1251738 序為例’以說明本發明的原理,但是本發明的錯誤更 正引擎414當然不只限於包一 ρι程序與_ p〇程序。㈣ 二 =裝置還包含一錯誤備測引擎416,用以檢查目標 區塊中的錯誤;其中該錯誤更正解碼流程控制 雷炊更正引擎414、錯誤偵測引擎416分別可能以 ^輯電路貫作’亦可能為編程於微處理^巾 =卜,為說明本發明的原理,圖中將儲存媒體(例二 i媒體:::士等)與儲存裝置中其他控制單元統稱為儲 去:、'、铨制早兀4〇5,儲存媒體與控制單元405透過匯 ==7與主機400交換資料。而本發明除了於錯誤更正 ~馬>禮控制器412中判斷重試值之外, =單元仙以記錄錯誤更正引擎414與錯誤偵測^ ,料餘_單元418可加速 之功心失敗。在—貫施例中,該狀態記憶單元418 之力此疋用於儲存一「未修改值」。 田解碼動作開始時,首先會透過匯流排4〇7將一未解 之錯决更正碼區塊由儲存媒體與控制單元他 更:::广,成為「目標」錯誤更正碼區塊,接著錯誤 “妨―412便於擁鋪作後,切錯誤更 Λ 14中選定ΡΙ程序或者ρ〇程序開始進行解碼,此 日守錯疾更正解碼流程控制器412會將此錯誤更正%擎414 狀態記憶單元418中,在本發明所說 ^ 中此動作係表示將未修改值重設為〇。 完成ΡΙ程序之後,錯誤侧引擎416判斷資料區塊是 16 1251738 否通過錯誤制並結束錯誤更正解碼流程。當通過錯誤债 測日守,代表目標錯誤更正碼區塊内的資料皆已更正完成, 也就是完成錯誤更正解碼程序;反之,、當未能通過=誤偵 測引擎416執行的錯誤備測時,代表有些錯誤不能夠以朽 程序來進行更正。之後,錯誤更正解碼流程控制器4i2記 錄此結果於狀態記憶單元418中,在本發明所說明的實施 例中’此動作係為判斷錯誤更正引擎414是否有對該 錯誤更正碼區塊進行變更,若有,則將該未修改值重設^ 0 ’反之則將該未修改值加i。此外,錯誤控制解碼流程控 制器412 _一重試值是否到達重試極限值,在重試值尚 未達到重試極限值時,錯誤控制解碼流程控制器412將該 重試值加1並且進行P〇程序。 進行P0程序之後,藉錯誤偵測引擎416判斷錯誤更 ^碼,塊是否通過錯誤侧。t通過錯誤侧時,代表目 標錯誤更正碼區塊_資料皆正確,這表示目標錯誤更正 ^區塊的所有錯誤皆已更正,錯誤更正解碼器_已完成 :任務;反之’當目標錯誤更正碼區塊未能通過錯誤伯測 時,代表區塊内的資料有誤且不能夠以P0程序來完成。 錯誤更正解碼流程控制器412記錄此結果於狀態記 :早=“8,在本發明所說明的實施例中,此動作係為判 鐵錯'更正引擎414是否有對該目標錯誤更正碼區塊進行 右有貞彳將$未修改值重設為G,反之則將該未修 二、加1此外,錯誤更正解碼流程控制器412判斷一重 試值是否到達重試極限值,在重試值尚未達到重試極限值 1251738 時,錯誤更正解碼流程控制器412將該重試值加】並且進 行pi程序。當該重試值達到重試極限值時,代表經過多文 的P0程序以及PI程序皆未能夠完全更正錯誤,因此,錯 誤更正解韻程控㈣412宣告錯誤更正失敗。 a
^本發明所提出錯敎正解碼流程控制 杰412除了持續監控該重試值外,還監控該狀態記憶單元 418之狀況,以加速判斷錯誤更正失敗。當錯誤更正解碼 流程控制器412依據該狀態記憶單元418之記錄發現,若 錯誤更正引擎414已連續執行經過一次ρ〇程序盥朽程序 的,環,且未麟目標錯誤更正碼區塊㈣任何變更時, 錯誤更正解碼餘控制器412即可快速宣告錯誤更正失 敗,在本發明所說明的實施例中,錯誤更正解碼流程控制 器412的判斷是根據該未修改值是否達到-贱設定之未 修改極限值,絲修改極限值反應出錯誤更正引擎似執 仃-次循環之錯誤更正的:欠數而定,例如該錯誤更正引擎 414僅有PI程序或P〇程序兩種執行狀態,則可以將該未 知改極限值㈣2,料若未修改值制2,則代表錯誤更 正引擎414已連減行經過—次循環,且未能對目標錯誤 更正碼區塊做出任何變更。 請參照第七圖(_,其所緣示為本發明錯誤更正程序 中的失敗_之執行枝,⑽魏改善第四_所示之 習用手段缺失所發展出來之執行方法。本發赚了重試值 之外另外支曰加了未修改值,以加速判斷錯誤更正失敗。 在第七圖(a)(b)的程序開始時,可先選定程序搬 18 1251738 或者p〇程序216其中之—做為第—步驟,如前所述,該 ==碼程序至少包含一 ρί程序與—p〇程序(亦可 刀為進㈣除演算法之PI程序、ρι程序、進㈣除渾笞法 程序、以及P0程序等四種程序),本發明中將以僅 包含一 Η程序202與一 w程序216為例以簡化說明,作 =應以此為限。假設進行PI程序2()2之後,步驟撕判斷 過Γ誤偵測。當通過錯誤偵測204時,代表訊息區 :更JL碼區塊)料皆正確’也就是通過錯誤 正230,因此,即可結束錯誤更正解碼程序;反之,告 ^能通過錯誤備測204時,代表訊息區域(錯誤更正碼^ 塊)内的資料至少有一錯誤且不能夠以Η程序2〇2來更 ==後’判斷重試值是否到達重試極限值或者未修改值 2未修改極限值勸,答案是否定時,在步驟雇將重 试值加1。 步驟210即為判斷在ΡΙ程序2〇2中是否有任何的更正 動作。所謂的「更正」動作係指在記憶體中的錯誤更正碼 £塊至少有一位元組有讀取之後修改(Read Modify Write) # 的動作發生。當此步驟210判斷至少進行過—次更正動 作,則在步驟214中將未修改值設為〇 ;反 _判斷沒有進行過任何更正動作,則在步驟= 修改值加1。 、 Μ在進行PO私序216之後,步,驟218判斷是否通過錯、 决價測。當通過錯誤偵測218日夺,代表訊息區域(錯誤更 正石馬區塊)内的資料皆正確,也就是通過錯誤更正謂, 19 1251738 因此’即可結束錯誤更正解碼程序;反之, 誤偵測218時,代表訊息區域(錯誤更正碼區塊)内= 枓“^不能夠以PQ程序216來完成。之後,步驟如 判斷重雜是否魏麵紐值或者未修改值達到未修改 :亟限值。如果判斷結果是否定的,在步驟從將重試值加 。反之,如果_結果是奴的,即可較錯誤更正失敗 ^步驟224即為判斷在P〇程序216中是否有任何的更 /乍。所谓的「更正」動作係指在記憶體中的錯誤更正 馬區塊至^有-位元組有讀取之後修改的動 =4判斷至少進行過-次更正動作,則在步驟228 ;; :改值&為G;反之’當此步驟⑽判斷沒有進行過任 二=:則在步驟226中將未修改值加丨。接著進行 τ絲由t本發明另外增加了 —未修改絲料加速錯誤更 碼程序中的錯誤更正失敗判斷。因此 塊)中有_)__释的資料錯It 程序216或者PI程序2。2皆不會有任何的更正動 :1,誤更,失敗。例如,我們可以設定=: 比未有/PI知序2G2以及Ρ0程序216各執行一次之後 二皮修正’即可確定錯誤更正解碼程序的 狀心為錯以正失敗。如此,可心速錯敎 以防止習知手段必須不斷地執行重試f 20 1251738 序202以期成,解碼,而造成系統資源的浪費。 另外,為能改善第四圖(⑴所羽、 亦發展出如第八圖所示之^白手段缺失’本案 施例。 ,日決更正机程控制方法之較佳實 ,此例中’共有四種錯誤更正碼解碼程序,如下所列: 々‘8G1進行消除演算法之PO程序; 2.步驟802進行消除演算法之PI程序;’ 3·步驟803 PO程序;以及 4·步驟804 PI程序。 ί 開始時’可根據耗定義規則,先選 私序803或者ΡΙ程序804做為第—步驟。 2設選擇PI程序_做為本發明的第一步驟,在無法 碼辑1及更正錯誤更正碼區塊的所有錯誤,因而產生解 誤…魏據難紅解敬崎她Y議來進 Ϊ之觸’進而判斷此狀況是適用於進行那一種 判斷在本财,路徑選翻_可於下職件中擇一進行 條件1 : -··〇< YNUM< =ERA—職(在 PI 程序中 ER(顏 為10,在K)程序中ERA一max為16) 狀態二·· yNUM>era—max 條件2 : 狀態一:0 < YNUM〈 = (ERA—maxH (在 PI 程序中 21 !251738 ERA—max 為 10,在 Ρ〇 程序中 ERA—max 為 16) 狀態二·· YNUM>(ERA—max)-l 條件3 ·· 狀態一 ·· 1 < YNUM < = ERA—max(在 PI 程序中 ERA—max 為10,在PO程序中ERA—max為16) 狀態二·· YNUM>ERA—max_l 或 YNUM=1 條件4 : 狀悲一 · 1 < YNUM < = (ERA—max)_l(在 pi 程序中 ERA—max 為 10,在 p〇 程序中 ERA一max 為 16) · 狀態二:YNUM>(ERA max)-l 或 YNUM=1
其中將YNUM的上界ERA —max與下界〇進行調整,其目 的係為針對各種不同的光碟品f進行適t的修正,進而增 加容錯能力。
本發明的特徵如下: (A)如果當連續利用⑷ρι程序侧 PO程序401進行處理皆無法有 υ4與(1)進行消除演算 效解出所有的資料時, l·法之 ,本案 22 1251738 係無條件地進入步驟403的(3)p〇程序。 ⑽序4G3以及(2)進行消除演算法 王序02進行處理後皆無法有效解 次 本案係無條件地進人步驟404的(4)PI程序。、貝;時’ 如此一來,即使光碟片有如第五圖 元分佈狀態,雖铁遠續利用mpT妒皮μ 解馬失敗位 算法之p〇 r j ()私序4〇4與⑴進㈣ 马母一行之解碼失敗位元皆不超過8)。 口此本發明之另—優點係為可改變路徑選擇判 f牛’而且可解碼部份制手段無法成功解碼之損壞dvd 先碟片。當然,本發明增加的未修改值可加速錯誤更正失 敗的判斷流程,依據之方法亦可同時運驗第四圖作)與第 =圖所示之錯棘簡絲序巾的失關斷之方法流程示 =圖。本發明之技術手段可㈣至任何_以瑞德·所羅門 乘積碼(Reed-S〇l〇m〇n Product c〇de,Rspc)來進行編解碼 的相關應用中。 ^第九圖所示為從儲存媒體中讀出的解碼錯誤範例,如 ,九圖所示,吾人假設漢明距離丨哗⑴^⑽⑶)如如 荨於16有十五個消除錯誤及一個解碼錯誤。第十圖顯示 個正確解碼及兩個錯誤解碼,其中點A是cw4的可偵 叫錯袭’點B是CW4的不可偵測錯誤,而點c是CW4 的更正解碼,吾人可於式⑴成立下更正第九圖的錯誤。 2xv+f<dmin 斗νι、 23 1251738 其中,V是隨機錯誤數目而f是消除錯誤數目。 根據式(1) ’ 2xl + i5=17>16=dmin,這表示無解,除了使用 進行消除運算之P0程序或者進行消除運算之P〗程序,如 果存在有一解碼錯誤,根據第八圖,吾人可更正如第九圖 所示的十六個錯誤,這表示有兩種可能的程序,如第十一 圖所示: (1) PI優先 (i) 1104 PIR 1101 POE(狀態一)1103POR 等等
(ii) 1104 PIR 1103 P0R(狀態二)等等 (2) P0優先 (i) 1103P〇R ι1〇2ρΙΕ(狀態一)1104PIR 等等 (ii) 1103 P〇R 1104 PIR(狀態二)等等 其中’ POE為進行消除運算之p〇程序(p〇 _ mark emSUre),PIE為進行消除運算之PI程序(PI and mark erasure) ’ P〇R為具有隨機錯誤程序的p〇程序(p〇
processing with random error processing),PIR 為具有隨機 錯 α吳程序的 pi 程序(pi pr〇cessing 被匕 ran(j〇m err〇r processing)。 如此吾等會看到兩個連續的P〇程序或兩個連續的pi程 序0 藉由上述說明,本發明可改善錯誤更正解碼率,再則, 當產生解碼錯誤的簡DVD光碟知方法進行 解碼丄吾等可藉由兩個連續的PI或PQ程序及㈣開啟消 除力月b的方式’可望更正損壞DVD光碟片的解碼錯誤。 24 1251738 並非用1=述’雖然本發明已以較佳實例揭露於上,然其 明之产神彳本發明,任何_此技藝者,在不脫離本發 幽,何做各歡更鱗_,例如第二 ==顯示的乘積碼通常用於dvd光碟片,但是本發 ㈣乘積碼格式,頁包含® 格 範於,#二2 用於說明而非限制本發明 軌可料乾圍當視後附之申請專利範圍所界定者為準。 【圖式簡單說明】 第一圖··其係為DVD光磾片的咨東l—μ ^ . 尤系片的貝枓圮錄流程示意圖 弟一圖(a) ·其係訊息區域示意圖; 其係錯誤更正碼區塊示意圖; :二^:其係為習知錯誤更正解碼裝置之方塊圖; 弟四圖刚:⑽為習知手段對於解碼失敗之判斷流 ⑩ 裎圖 位元ΪΓ二ί係Γ個錯誤更正碼區塊中具有解碼失敗 议兀組之一分佈不例圖; 第六圖:其係為本發明錯誤更正解碼裝置之方塊圄. 一第七圖⑻(b):其係為本發明對於解碼失敗判=二 貫施例方法流程示意圖; 所季乂仏 實= f係為本發明對於解碼失敗判斷之另-較佳 貫施例方法流程示意圖; 25 I251738 圖;第九圖:其係為具有16處錯誤的錯誤更正碼區塊示意 意圖第::其係為說明正確解碼及不正確解碼之範例示 第十-圖··其係為本發明執行錯誤更 佳實施例方法流程示意圖。 汴又另一較 【主要元件符號說明】 ❿ 本案圖式中所包含之各元件列式如下·· 數位資料10 資料編碼程序22 資料保密30 資料解密程序34 錯誤更正編碼程序42 調變/解調50 解調程序54 訊息區域70 内部校驗碼區域9〇 解碼失敗之判斷流程各步 主機 3〇〇、4〇〇 储存媒體與控制單元304、 貧料緩衝區306、406 資料壓縮20 資料解碼程序24 資料加密程序32 錯誤更正40 錯誤更正解碼程序44 調變程序52 DVD光碟片60 外部校驗碼區域80 錯誤更正碼區塊〗〇〇 驟 J02〜116 、 202〜232 匯流排302、407 405 錯誤更正解碼器310、410 26 1251738 錯誤更正解碼流程控制器312、412 錯誤更正引擎314、414 錯誤偵測引擎316、416 解碼程序 401 〜404、801 〜804、1101 〜1104 狀態記憶單元418
27

Claims (1)

1251738 十、申請專利範圍·· 卜一種錯誤更正方法,應用於偵測並更正自一儲存媒體讀 出之一錯誤更正碼(Error Correction Code,ECC)區塊内的 一錯誤,該錯誤更正碼區塊包含一内部校驗碼(Parity of Inner-Code,PI)區塊及一外部校驗碼(parity of Outer_Code,P0)區塊,該方法包含: 當一第一維錯誤更正解碼動作及一第二維錯誤更正解 碼動作之一的一重試值小於一第一邊限值,則反覆執行該 第一維錯誤更正解碼動作及該第二維錯誤更正解碼動作, 否則視為錯誤更正失敗,跳出該錯誤更正方法;以及 當該第一維錯誤更正解碼動作及該第二維錯誤更正解 碼動作之一的一未修改值小於一第二邊限值,則反覆執行 该第一維錯誤更正解碼動作及該第二維錯誤更正解碼動 作,否則視為錯誤更正失敗,跳出該錯誤更正方法。 2、 如申请專利範圍第1項所述之錯誤更正方法,其中該第 一維錯誤更正解碼動作包含一内部校驗碼解碼動作,該第 二維錯誤更正解竭動作包含—外部校驗碼解碼動作。 3、 如申請專利範圍第2項所述之錯誤更正方法,其中該第 一維錯誤更正解碼動作更包含一隨機錯誤程序(Random Error Process) ° 4、 如申請專利範圍第2項所述之錯誤更正方法,其中該第 二維錯誤更正解碼動作更包含一隨機錯誤程序。 5、 如申請專職[||第2項所狀錯誤更正方法,其中該錯 28 1251738 3吳更正方法更包含一步驟,當偵測到一解碼錯誤或自該儲 存媒體讀出的一未修正錯誤,則在該外部校驗碼解碼動作 之後,進入一進行消除演算法之附屬外部校驗碼解碼動作。 6、 如申請專利範圍第2項所述之錯誤更正方法,其中該錯 誤更正方法更包含一步驟,當偵測到一解碼錯誤或自該儲 存媒體碩出的一未修正錯誤,則在該内部校驗碼解碼動作 之後,進入一進行消除演算法之附屬内部校驗碼解碼動作。 7、 如申請專利範圍第2項所述之錯誤更正方法,其中該内 部校驗碼解碼動作可採用一瑞德_所羅門乘積碼 _ (Reed-Solomon Product Code,RSPC)解碼方法或一交叉插 入瑞德·所羅門乘積碼(Cross Interleave Reed-Sol〇mon Product Code,CIRS)解碼方法。 8、 如申請專利範圍第2項所述之錯誤更正方法,其中該外 _ 部校驗碼解碼動作可採用一瑞德-所羅門乘積碼 (Reed_Solomon Product Code,RSPC)解碼方法或一交叉插 入瑞德-所羅 Η 乘積碼(Cross interleave Reed-Solomon Product Code,CIRS)解碼方法。 籲 9、 一種錯誤更正裝置,應用於偵測並更正自一儲存媒體讀 出之一錯ΰ吳更正碼區塊内的一錯誤,該錯誤更正碼區塊包 含一内部校驗碼區塊及一外部校驗碼區塊,該裝置包含: 一反覆執行一第一維錯誤更正解碼動作及一第二維錯 誤更正解碼動作之裝置,用於當該第一維錯誤更正解碼動 作及該第二維錯誤更正解碼動作之一的一重試值小於一第 一邊限值時,反覆執行該第一維錯誤更正解碼動作及該第 29 1251738 二維錯誤更正解碼動作,否則視為錯誤更正失敗,跳出該 錯誤更正方法;以及 另一反覆執行該第一維錯誤更正解碼動作及該第二維 錯誤更正解碼動作之裝置,用於當該第一維錯誤更正解碼 動作及該第二維錯誤更正解碼動作之一的一未修改值小於 一第二邊限值,反覆執行該第一維錯誤更正解碼動作及該 第二維錯誤更正解碼動作,否則視為錯誤更正失敗,跳出 該錯誤更正方法。 10、 如申請專利範圍第9項所述之錯誤更正裝置,其中該 反覆執行該第一維錯誤更正解碼動作及該第二維錯誤更正 解碼動作之裝置係包含一内部校驗碼解碼器及一外部校驗 碼解碼器。 11、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 内部校驗碼解碼器更包括一隨機錯誤程序執行電路。 12、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 外部校驗碼解碼器更包括一隨機錯誤程序執行電路。 13、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 錯誤更正裝置更包含一進行消除演算法之附屬外部校驗碼 解碼動作之執行電路,用於當偵測到一解碼錯誤或自該儲 存媒體讀出的一未修正錯誤,則在該外部校驗碼解碼動作 之後,進入一進行消除演算法之附屬外部校驗碼解碼動作。 14、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 錯誤更正裝置更包含一進行消除演算法之附屬内部校驗碼 解碼動作之執行電路,用於當偵測到一解碼錯誤或自該儲 30 1251738 存媒體讀出的一未修正錯誤,則在該内部校驗碼解碼動作 之後,進入一進行消除演算法之附屬内部校驗碼解碼動作。 15、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 内部校驗碼解碼器可為一瑞德-所羅門乘積碼解碼器或一 交叉插入瑞德-所羅門乘積碼解碼器。 16、 如申請專利範圍第10項所述之錯誤更正裝置,其中該 外部校驗碼解碼器可為一瑞德-所羅門乘積碼解碼器或一 交叉插入瑞德-所羅門乘積碼解碼器。
31
TW093130655A 2003-10-08 2004-10-08 Method and apparatus for error code correction TWI251738B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US50973203P 2003-10-08 2003-10-08

Publications (2)

Publication Number Publication Date
TW200521664A TW200521664A (en) 2005-07-01
TWI251738B true TWI251738B (en) 2006-03-21

Family

ID=34421816

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093130655A TWI251738B (en) 2003-10-08 2004-10-08 Method and apparatus for error code correction

Country Status (6)

Country Link
US (2) US7356753B2 (zh)
CN (1) CN100412979C (zh)
BR (1) BRPI0415326A (zh)
RU (1) RU2318294C1 (zh)
TW (1) TWI251738B (zh)
WO (1) WO2005034123A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426682B2 (en) 2003-03-11 2008-09-16 Via Technologies, Inc. Method of generating error detection codes
BRPI0415326A (pt) * 2003-10-08 2006-12-05 Via Tech Inc método e aparelho para a correção de erros
KR100604909B1 (ko) * 2004-10-11 2006-07-28 삼성전자주식회사 가변적인 반복 에러 정정 횟수를 갖는 디지털 신호 처리방법
US7450425B2 (en) * 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US8006172B2 (en) * 2007-07-10 2011-08-23 Oracle America, Inc. Auxiliary path iterative decoding
US8230316B2 (en) 2008-01-25 2012-07-24 Nevion Usa, Inc. Forward error correction for burst and random packet loss for real-time multi-media communication
US8171377B2 (en) * 2008-01-31 2012-05-01 International Business Machines Corporation System to improve memory reliability and associated methods
JP5309889B2 (ja) * 2008-10-27 2013-10-09 ソニー株式会社 データ処理装置および方法、並びにプログラム
US8922923B2 (en) 2011-03-01 2014-12-30 Seagate Technology Llc Interleaved automatic gain control for asymmetric data signals
US9015549B2 (en) * 2011-04-26 2015-04-21 Seagate Technology Llc Iterating inner and outer codes for data recovery
KR101991437B1 (ko) * 2012-08-30 2019-06-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작방법
US9970155B2 (en) 2013-03-05 2018-05-15 Nike, Inc. Acid dyeing of polyurethane materials
DE102013219088B9 (de) * 2013-09-23 2018-07-19 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
US9559725B1 (en) * 2013-10-23 2017-01-31 Seagate Technology Llc Multi-strength reed-solomon outer code protection
US9396062B1 (en) 2014-04-04 2016-07-19 Seagate Technology Llc Group based codes for multi-dimensional recording (MDR)
US9584162B1 (en) * 2016-01-05 2017-02-28 International Business Machines Corporation Microcode data recovery strategies for use of iterative decode
US10382065B1 (en) * 2016-11-07 2019-08-13 Seagate Technology Llc Iterative outer code recovery using data from multiple reads
RU210631U1 (ru) * 2021-02-25 2022-04-22 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Модифицированное устройство коррекции ошибок с расширенным набором решающих правил и учетом адаптивного сигнала стирания

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4216540A (en) 1978-11-09 1980-08-05 Control Data Corporation Programmable polynomial generator
US5003539A (en) 1986-04-11 1991-03-26 Ampex Corporation Apparatus and method for encoding and decoding attribute data into error checking symbols of main data
JP2885263B2 (ja) 1993-09-30 1999-04-19 日本ビクター株式会社 符号生成方法
JP3373690B2 (ja) 1994-09-07 2003-02-04 株式会社東芝 ディスク状記録媒体及びディスク装置
JP3339044B2 (ja) 1995-06-28 2002-10-28 日本ビクター株式会社 ディジタル信号記録方法、記録再生方法、記録装置、記録再生装置及び記録媒体
US5745508A (en) 1995-11-13 1998-04-28 Tricord Systems, Inc. Error-detection code
JPH09265730A (ja) * 1996-03-27 1997-10-07 Sony Corp データ再生装置、再生方法
US6170073B1 (en) 1996-03-29 2001-01-02 Nokia Mobile Phones (Uk) Limited Method and apparatus for error detection in digital communications
JP3586041B2 (ja) 1996-04-26 2004-11-10 株式会社東芝 記録データ生成方法およびデータ再生装置
US5935268A (en) 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US5991911A (en) 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6662335B1 (en) 2000-01-25 2003-12-09 Mediatek Inc. Method and apparatus for accessing DVD data
JP2001291344A (ja) * 2000-04-04 2001-10-19 Hitachi Ltd 光ディスク装置およびそのデータ再生方法
US6738943B1 (en) * 2000-05-03 2004-05-18 Zoran Corp. Apparatus and method for counting errors in an optical compact disc storage system
US20010042230A1 (en) 2000-05-10 2001-11-15 Seagate Technology Llc Sector validation for use in ECC engine validation
CN1140901C (zh) * 2000-11-21 2004-03-03 扬智科技股份有限公司 软盘的解码系统及其方法
MXPA04005228A (es) 2001-12-05 2004-10-11 Lg Electronics Inc Metodo para generar codigos para deteccion de errores y generador de codigos para deteccion de errores.
JP4202658B2 (ja) 2002-02-22 2008-12-24 富士通マイクロエレクトロニクス株式会社 データ書き込み装置及びdvdフォーマットデータ生成方法
TWI227869B (en) 2002-11-04 2005-02-11 Mediatek Inc Data coding method and system
JP2003346432A (ja) 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
US7055082B2 (en) 2002-10-29 2006-05-30 Victor Company Of Japan, Ltd. Information recording and reproducing apparatus
BRPI0415326A (pt) 2003-10-08 2006-12-05 Via Tech Inc método e aparelho para a correção de erros

Also Published As

Publication number Publication date
TW200521664A (en) 2005-07-01
US7356753B2 (en) 2008-04-08
WO2005034123A1 (en) 2005-04-14
US20080229173A1 (en) 2008-09-18
BRPI0415326A (pt) 2006-12-05
CN100412979C (zh) 2008-08-20
US7730379B2 (en) 2010-06-01
CN1864223A (zh) 2006-11-15
RU2318294C1 (ru) 2008-02-27
US20050081132A1 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
TWI251738B (en) Method and apparatus for error code correction
TWI324339B (en) Method and device for error analysis of optical disc
JP4939409B2 (ja) 誤りを訂正するための装置、方法、及びプログラム
JP4141963B2 (ja) エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置
EP1801983A1 (en) Error correction algorithm using interleaved parity check and reed-solomon code
JP2011060217A (ja) データ蓄積装置及びデータ書込み/読出し方法
US8738989B2 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
KR101058159B1 (ko) 리드-솔로몬 프로덕트 코드를 위한 에러 정정 방법
US9015560B1 (en) Method and apparatus for ceasing access to a portion of a flash memory when less than a number of errors correctable by an error correction code exists
JP2007207325A (ja) 誤り訂正処理装置及び誤り訂正処理方法
JP2007299393A (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
TWI335502B (en) Flash memory system and method for controlling the same
EP1034478B1 (en) A codeword for use in digital optical media and a method of generation thereof
TWI226612B (en) Data accessing apparatus and method
TW441195B (en) Signal decoding method
JP2547006B2 (ja) 誤訂正の防止方法
TW200415457A (en) Data accessing method
JP2004213739A (ja) データ処理装置及びデータ処理方法
TWI309832B (zh)
TWI269534B (en) Decoding method of data, and method thereof
JPS6048769B2 (ja) ロ−デイング方式
JPS63298777A (ja) エラ−検出訂正方式
JPH06301604A (ja) 記憶再生システム
JP2539429B2 (ja) 読取りデ―タのエラ―訂正方法
JPH04372800A (ja) 記憶装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees