專利名稱:編碼裝置、解碼裝置、編/解碼裝置以及記錄/再現(xiàn)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于數(shù)據(jù)(該數(shù)據(jù)包括用于記錄/再現(xiàn)裝置和通信裝置的糾錯碼)的編碼裝置、解碼裝置、編/解碼裝置以及記錄/再現(xiàn)裝置,更具
體地說,涉及用于對附加有ECC (Error Correction Code,糾錯碼)的數(shù)據(jù)塊進行糾錯的編碼裝置、解碼裝置、編/解碼裝置以及記錄/再現(xiàn)裝置。
背景技術(shù):
在記^/再現(xiàn)裝置(諸如磁盤裝置)和通信系統(tǒng)的領(lǐng)域中,為了糾正在記錄/再現(xiàn)步驟期間及在傳輸線中所產(chǎn)生的數(shù)據(jù)錯誤,廣泛使用利用糾錯碼(ECC)的糾錯技術(shù)。
使用里德所羅門(Reed Solomon, RS)碼作為ECC碼(例如,日本專利申請?zhí)亻_第Hll-330985號公報)。在RS碼中,預(yù)先對記錄數(shù)據(jù)進行RS編碼,對在記錄/再現(xiàn)步驟后所再現(xiàn)的比特串進行RS解碼,并對包含在比特串中的錯誤進行檢驗和糾正。換言之,RS碼對于符號(symbol)單位具有良好的糾錯能力,而對于突發(fā)錯誤尤其具有優(yōu)異的檢驗和糾正能力。
使用迭代解碼形式作為糾錯碼技術(shù)。通過結(jié)合迭代解碼及ECC,能夠提高錯誤檢驗和糾正能力。近來,己經(jīng)實際應(yīng)用了作為一種迭代解碼的低密度奇偶校驗(LDPC)碼。
LDPC碼能夠通過預(yù)先對記錄數(shù)據(jù)進行LDPC編碼,利用可靠性傳播對通過記錄/再現(xiàn)步驟所再現(xiàn)的信號執(zhí)行迭代解碼,來糾正在記錄/再現(xiàn)步驟中所產(chǎn)生的錯誤(例如,日本專利申請?zhí)亻_第2007-166425號公報)。
LDPC編碼的特征在于以下這種線性碼該線性碼可以在增大代碼塊長度的同時減少隨機設(shè)置的"l"(檢驗?zāi)繕吮忍?的數(shù)量(即,低密度)。在LDPC解碼期間,通過執(zhí)行利用可靠性傳播的解碼(其傳播似然度
8(likelihood,表示數(shù)據(jù)串"O"和'T,的概率的可靠性)并進行解碼)和迭代解碼(在部分響應(yīng)信道與可靠性傳播解碼器之間進行迭代的解碼)來進行糾錯。
下面說明LDPC編碼和解碼。由于LDPC碼是線性碼,所以生成滿足下述檢驗條件的奇偶校驗矩陣H。wHT=0 (1)
在公式(l)中,w是經(jīng)過LDPC編碼后的碼字,H是奇偶校驗矩陣,而T是矩陣的轉(zhuǎn)置。
當(dāng)執(zhí)行LDPC解碼時,停止迭代解碼的條件為以下兩個條件 一個條件是己執(zhí)行了預(yù)定次數(shù)的解碼;另一個條件是滿足公式(1)的檢驗條件,即不存在錯誤,在這種情況下,停止迭代解碼,并從解碼器進行輸出。
在確定似然度時,通常使用作為對數(shù)比的對數(shù)似然比(log-likelihoodratio, LLR)(對數(shù)似然比是為"O"的概率與為'T,的概率之比)。如果最初的二進制數(shù)據(jù)是"l",則提供正似然度,而如果是"0",則提供負似然度。因此,為了對在迭代解碼輸出中的解碼數(shù)據(jù)串進行二進制化,可以利用將"0"用作閾值的閾值判定單元來執(zhí)行二進制確定。
已經(jīng)提出了一種通過結(jié)合RS碼及LDPC碼以符號為單位執(zhí)行ECC糾錯的編碼裝置和解碼裝置,該編碼裝置和解碼裝置在ECC的前置階段中利用迭代解碼以比特為單位來檢驗并糾正錯誤(例如,日本專利申請?zhí)亻_第2005-093038號公報)。
此外,在ECC糾錯中,還提出了一種在多個交織系統(tǒng)中通過結(jié)合RS碼及用于檢錯的奇偶校驗碼來提高糾錯能力的方法(Toshio Itoh,Toshihiko Morita, "Error Correction Codes for 4k byte sectors", IEEE"TheMagnetic Recording Conference (TMRC2007) ", 2007)。
圖15是示出結(jié)合傳統(tǒng)的RS碼及奇偶校驗碼的糾錯方法的圖。例如,假設(shè)編碼對象是由每塊為80比特的許多塊所組成的數(shù)據(jù)串。首先,將各個塊(80比特)交織成20比特的比特空間,從而生成4個塊1001、 1002、1003及1004。分別通過ECC編碼器來將RS奇偶校驗1011、 1012、 1013
9及1014添加到這4個塊1001、 1002、 1003及1004中。
此外,通過奇偶校驗編碼器來計算2個比特的奇偶校驗lllO至llln, 并按照垂直方向?qū)⑵涮砑拥?0比特x4 (4個塊)=80比特。因此,由級 聯(lián)碼(concatenated code)構(gòu)成這里所生成的碼,其中,在水平方向上是 基于RS碼的糾錯碼,而在垂直方向上是多奇偶校驗(2比特奇偶校驗) 檢錯碼。
這樣,通過20比特交織來生成被劃分成4部分的塊,按照級聯(lián)碼來 生成糾錯碼和檢錯碼,其中,在4個劃分塊的水平方向上應(yīng)用基于RS碼 的糾錯碼,在垂直方向上應(yīng)用基于多奇偶校驗的檢錯碼。
就扇區(qū)(sector)數(shù)據(jù)串而言,在水平方向上每80比特設(shè)置基于多 奇偶校驗的檢錯碼,使得能夠以80比特(符號)為單位檢驗錯誤,并且 在4個20比特交織(80比特的1/4)中設(shè)置RS碼,使得能夠以4個交 織為單位糾正錯誤。由此,當(dāng)ECC解碼失敗時,能夠局部地指定糾錯位 置,從而有助于提高增益(gain)。
然而,在將用于迭代解碼的LDPC碼及用于后續(xù)階段中的ECC的 RS碼進行結(jié)合的傳統(tǒng)方法的情況下,迭代解碼的糾錯能力得到提高,但 難以期望提高ECC的糾錯能力。
另一方面,在級聯(lián)RS碼及奇偶校驗碼的傳統(tǒng)糾錯方法(ECC)的建 議(該傳統(tǒng)糾錯方法基于使用最大似然度解碼的假設(shè))的情況下,解碼 的糾錯能力不高。
發(fā)明內(nèi)容
鑒于以上問題,本發(fā)明的目的在于提供基于解碼及ECC的結(jié)合來提 高糾錯性能的編碼器、解碼器、編/解碼裝置及記錄/再現(xiàn)裝置。
本發(fā)明的另一目的在于提供以下這種編碼器、解碼器、編/解碼裝置 及記錄/再現(xiàn)裝置即使通過結(jié)合線性編碼及ECC按照多交織設(shè)置來執(zhí)行 ECC編碼,這些裝置也能防止糾錯性能的劣化。
本發(fā)明的再一目的在于提供以下這種編碼器、解碼器、編/解碼裝置 及記^/再現(xiàn)裝置即使結(jié)合LDPC及ECC,這些裝置也能提高多交織設(shè)置的ECC編碼的糾錯能力,并且即使在LDPC中局部錯誤集中在一起, 這些裝置也能進行檢錯。
為了達到上述目的,提供一種編碼器,該編碼器包括ECC編碼器, 其按照每m (m22)比特而將數(shù)據(jù)串交織成n (r^2)塊數(shù)據(jù)串,根據(jù)各 個交織塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述第一 糾錯碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字;奇偶校驗編碼器, 其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶 校驗比特添加到所述糾錯碼字;以及第二 ECC編碼器,其按照每K(KS2) 比特而將第二糾錯碼字(在該第二糾錯碼字中將由所述奇偶校驗編碼器 所生成的奇偶校驗添加到所述糾錯碼字中)劃分成L (G2)塊數(shù)據(jù)串, 根據(jù)各個塊的數(shù)據(jù)串以塊為單位而生成作為線性碼的第二糾錯碼奇偶校 驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以 生成第三糾錯碼字。
此外,根據(jù)本發(fā)明的一種對編碼成所述第三糾錯碼字的編碼數(shù)據(jù)進 行解碼的解碼器,該解碼器包括迭代解碼器,其利用所述第二ECC碼 奇偶校驗來對接收到的編碼數(shù)據(jù)串進行迭代解碼,將所述編碼數(shù)據(jù)串解 碼成比特串,并輸出各個比特的似然度;以及ECC解碼電路,其迭代地 執(zhí)行基于所述迭代解碼器的編碼數(shù)據(jù)串的第一糾錯碼的糾錯解碼,以及 根據(jù)基于所述奇偶校驗比特的檢錯來執(zhí)行的基于所述似然度的編碼比特 串糾錯解碼。
此外, 一種編/解碼裝置,該編/解碼裝置包括ECC編碼器,其按 照每m (mS2)比特而將數(shù)據(jù)串交織成n (r^2)塊數(shù)據(jù)串,根據(jù)各個交 織塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述第一糾錯 碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字;奇偶校驗編碼器,其按 照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶校驗 比特添加到所述糾錯碼字;第二ECC編碼器,其按照每K(K^2)比特 而將第二糾錯碼字(在該第二糾錯碼字中將由所述奇偶校驗編碼器所生 成的奇偶校驗添加到所述糾錯碼字中)劃分成L (LS2)塊數(shù)據(jù)串,根據(jù) 各個塊的數(shù)據(jù)串按照以塊為單位而生成作為線性碼的第二糾錯碼奇偶校驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以 生成第三糾錯碼字;迭代解碼器,其利用所述第二 ECC碼奇偶校驗來對 接收到的編碼數(shù)據(jù)串進行迭代解碼,將編碼數(shù)據(jù)串解碼成比特串,并輸 出各個比特的似然度;以及ECC解碼電路,其迭代地執(zhí)行基于所述迭代 解碼器的編碼數(shù)據(jù)串的第一糾錯碼的糾錯解碼,以及根據(jù)基于所述奇偶 校驗比特的檢錯來執(zhí)行的基于所述似然度的編碼比特串糾錯解碼。
另外, 一種記錄/再現(xiàn)裝置,該記錄/再現(xiàn)裝置包括讀寫磁,其從存 儲介質(zhì)讀取數(shù)據(jù)/向存儲介質(zhì)寫入數(shù)據(jù);ECC編碼器,其按照每m(n^2) 比特而將要寫入到所述存儲介質(zhì)的數(shù)據(jù)串交織成n (1122)塊數(shù)據(jù)串,根 據(jù)各個交織塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述 第一糾錯碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字;奇偶校驗編碼 器,其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述 奇偶校驗比特添加到所述糾錯碼字;第二 ECC編碼器,其按照每K(&2) 比特而將第二糾錯碼字(在該第二糾錯碼字中將由所述奇偶校驗編碼器 所生成的奇偶校驗添加到所述糾錯碼字中)劃分成L (G2)塊數(shù)據(jù)串, 根據(jù)各個塊的數(shù)據(jù)串以塊為單位而生成作為線性碼的第二糾錯碼奇偶校 驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以 生成第三糾錯碼字,并將所述第三糾錯碼字輸出到所述讀寫頭;迭代解 碼器,其利用所述第二 ECC碼奇偶校驗來對由所述讀寫頭讀取的編碼數(shù) 據(jù)串進行迭代解碼,將編碼數(shù)據(jù)串解碼成比特串,并輸出各個比特的似 然度;以及ECC解碼電路,其迭代地執(zhí)行基于所述迭代解碼器的編碼數(shù) 據(jù)串的第一糾錯碼的糾錯解碼,以及根據(jù)基于所述奇偶校驗比特的檢錯 來執(zhí)行的基于所述似然度的編碼比特串糾錯解碼。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的編碼器,其中,所述第二 ECC編碼器生成滿足低密度奇偶校驗(LDPC)碼的要求的第三糾錯碼字, 在所述低密度奇偶校驗碼中,奇偶校驗矩陣中"l"的數(shù)量低(低密度)而 且所述低密度奇偶校驗碼是線性碼,并且所述第二 ECC編碼器利用與所 述奇偶校驗矩陣相對應(yīng)的生成矩陣來生成奇偶校驗。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的編碼器,其中,所述奇偶校驗編碼器將所述糾錯碼字劃分成L (G2)個塊,從所述劃分后的各個 塊以p (p^l)比特為單位來提取q (q^2)個數(shù)據(jù)串,并針對pxq個數(shù)據(jù) 串生成奇偶校驗。
另外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的編碼器,其中所述奇偶校 驗編碼器將針對所述pxq個數(shù)據(jù)串所生成的奇偶校驗添加到除了包括用 于生成所述奇偶校驗的數(shù)據(jù)串的塊以外的塊。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的編碼器,其中,所述ECC 編碼器包括交織單元,其按照每m(m^:2)比特而將所述數(shù)據(jù)串交織成 n (1122)塊數(shù)據(jù)串;ECC編碼單元,其根據(jù)各個交織塊的數(shù)據(jù)串而生成 糾錯碼奇偶校驗;以及去交織單元,其按照所述每m個比特而對各個塊 的數(shù)據(jù)串進行去交織,將去交織數(shù)據(jù)串恢復(fù)為所述數(shù)據(jù)串,并將所述糾 錯碼的奇偶校驗添加到所恢復(fù)的數(shù)據(jù)串。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的編碼器,其中,所述ECC 編碼器生成里德所羅門碼作為所述糾錯碼。
另外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,所述迭代 解碼器利用所述第二糾錯碼字的奇偶校驗,根據(jù)滿足低密度奇偶校驗 (LDPC)碼的要求的所述第三糾錯碼字來執(zhí)行所述迭代解碼,將編碼數(shù) 據(jù)串硬判決成所述第二糾錯碼字,并輸出各個比特的似然度,其中在所 述低密度奇偶校驗碼中,所述奇偶校驗矩陣中"l"的數(shù)量低(低密度)而 且所述低密度奇偶校驗碼為線性碼。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,在基于所 述奇偶校驗比特串的所述第二糾錯碼字的檢錯中,當(dāng)所述第二糾錯碼字 的^i滿足所述奇偶校驗條件并且沒有檢驗到錯誤時,所述迭代解碼器停 止所述迭代解碼,并將在所述第二糾錯碼字的塊中的各個比特的似然度 設(shè)置成最大似然度值。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,所述ECC 解碼電路包括..ECC解碼器,其基于來自所述迭代解碼器的碼比特串的 所述第一糾錯碼來執(zhí)行糾錯;以及奇偶校驗/似然度糾錯單元,其在由所 述ECC解碼器進行的解碼失敗時,基于所述奇偶校驗比特來執(zhí)行檢錯,
13并利用所述檢錯的結(jié)果基于所述似然度對輸入到所述ECC解碼器的碼比 特串進行糾錯。
優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,該解碼器還包括分離 單元,其從來自所述迭代解碼器的碼比特串中分離出所述奇偶校驗比特, 并將所述奇偶校驗比特輸出到所述奇偶校驗/似然度糾錯單元;交織單元, 其按照所述每m (m^2)比特將己經(jīng)分離出所述奇偶校驗比特的碼比特串 交織成n (ri22)塊數(shù)據(jù)串;以及數(shù)據(jù)存儲單元,其存儲各個交織塊的數(shù) 據(jù)串,其中,所述ECC解碼器基于所述糾錯碼來對所述數(shù)據(jù)存儲單元的
各個塊的數(shù)據(jù)串執(zhí)行糾錯,并且所述奇偶校驗/似然度糾錯單元對所述數(shù) 據(jù)存儲單元的數(shù)據(jù)串進行糾錯。
另外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,當(dāng)所述解 碼失敗時,所述奇偶校驗/似然度糾錯單元從包括失敗塊的L個塊中以p (p^)比特為單位提取q (q")個數(shù)據(jù)串,針對pxq個數(shù)據(jù)串重新生 成奇偶校驗,并將這些奇偶校驗與所添加的奇偶校驗比特進行比較以進 行檢錯。
而且,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,所述奇偶 校驗/似然度糾錯單元對被添加到除了包括用于生成所述奇偶校驗的數(shù)據(jù) 串的所述塊之外的塊的奇偶校驗進行提取,并將這些奇偶校驗與所述重 新生成的奇偶校驗進行比較。
此外,優(yōu)選的是,提供一種根據(jù)本發(fā)明的解碼器,其中,所述編碼 數(shù)據(jù)串的糾錯碼是里德所羅門碼。
按照每m (m^2)比特將數(shù)據(jù)串交織成多個塊,添加糾錯碼奇偶校 驗,并生成其中向多個比特中的每一個比特添加奇偶校驗比特的級聯(lián)型 編碼數(shù)據(jù),因此能防止電路規(guī)模的增大。而且,按照串接的方式(in tandem)使用作為利用迭代解碼的線性編碼的第二糾錯編碼,因此能夠 通過迭代解碼來糾正ECC輸入的錯誤,并能夠防止糾錯性能的劣化。結(jié) 果,能夠防止用于Windows⑧的Vista⑧的長扇區(qū)型(long sector type)記 錄/再現(xiàn)裝置的電路規(guī)模的增大,并能提高糾錯性能。
本發(fā)明(實施方式)的其它目的及優(yōu)點將在以下的說明書中部分地進行闡述,并且通過以下說明書而部分地變得明了,或者可以通過對本 發(fā)明的實踐而得知??梢酝ㄟ^在所附權(quán)利要求中具體指出的單元及組合 的方式來實現(xiàn)和獲得本發(fā)明的這些目的和優(yōu)點。
應(yīng)當(dāng)理解的是,對本發(fā)明的以上概述及以下詳述都僅是示例性和說 明性的,而不是對所要求保護的本發(fā)明的限制。
圖1是示出根據(jù)本發(fā)明實施方式的介質(zhì)存儲裝置的記錄/再現(xiàn)系統(tǒng)的 框圖2是圖1中的編碼器的框圖3是示出圖2中的交織單元的操作的圖4是示出圖2中的ECC編碼器的操作的圖5是示出圖2中的奇偶校驗編碼器的操作的圖6是示出圖2中的LDPC編碼器的操作的圖7是示出圖2中的各個奇偶校驗碼之間的關(guān)系的圖8是示出圖7的比較示例中的各個奇偶校驗碼之間的關(guān)系的圖9是示出圖2中的解碼器的基本設(shè)置的框圖10是示出圖9中的迭代解碼器的詳細框圖11是示出圖10中的LDPC解碼器的圖12是示出圖2中的ECC解碼單元的框圖13是示出根據(jù)本發(fā)明的實施方式的編碼及解碼的圖14是示出根據(jù)本發(fā)明的比較示例中的編碼及解碼的圖;以及
圖15是示出結(jié)合傳統(tǒng)的RS碼及奇偶校驗碼的糾錯方法的圖。
具體實施例方式
將按照記錄/再現(xiàn)系統(tǒng)、編碼器、解碼器、ECC解碼器、編碼及解碼 操作、以及其它實施方式的次序來說明本發(fā)明的實施方式,但是本發(fā)明 并不限于這些實施方式。 (記錄/再現(xiàn)系統(tǒng))圖1是示出根據(jù)本發(fā)明實施方式的磁盤裝置的記錄/再現(xiàn)系統(tǒng)的框
圖。如圖1所示,磁盤裝置的記錄/再現(xiàn)系統(tǒng)具有硬盤控制器(HDC)203、 讀取通道(RDC) 202以及前置放大器(讀寫頭IC) 201。
首先,說明記錄(編碼)。HDC 203中的CRC編碼器237將CRC碼 (Cyclic Redundancy Code:循環(huán)冗余碼)添加到記錄數(shù)據(jù)。然后,記錄 編碼器236將該數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)串,使得滿足諸如MTR (Maximum Transition Run,最大轉(zhuǎn)換游程)碼和RLL (Run Length Limited,游程長 度受限)碼的約束條件。然后,ECC編碼器235執(zhí)行交織并添加RS奇 偶校驗串,如稍后參照圖2至圖4所述。
然后,奇偶校驗編碼器234計算2比特奇偶校驗以執(zhí)行與ECC不同 的檢錯,如稍后參照圖2及圖5所述,并將全部計算出的2比特奇偶校 驗添加到經(jīng)過ECC編碼的數(shù)據(jù)串。
將添加有奇偶校驗的經(jīng)過ECC編碼的數(shù)據(jù)串輸入到RDC 202。 RDC 202中的LDPC編碼器220針對各個LDPC塊來計算與ECC碼及奇偶校 驗碼不同的LDPC奇偶校驗,以用于執(zhí)行另一檢錯,如稍后參照圖6所 述,并且,LDPC編碼器220針對各個LDPC塊將各個LDPC奇偶校驗 添加到經(jīng)過ECC編碼的數(shù)據(jù)串,該經(jīng)過ECC編碼的數(shù)據(jù)串也經(jīng)過奇偶 校驗編碼。
記錄補償器229執(zhí)行補償處理,以在相繼發(fā)生磁反轉(zhuǎn)的位置處稍微 增大反轉(zhuǎn)間隔。然后,在執(zhí)行記錄補償處理后,RDC202中的驅(qū)動器228 將數(shù)據(jù)串輸出到前置放大器201。在前置放大器201中,驅(qū)動器212生成 針對記錄頭(寫入頭)的寫電流(未圖示),以驅(qū)動記錄頭,并將數(shù)據(jù)記 錄在磁盤(未圖示)上。
下面說明再現(xiàn)(regeneration)。在再現(xiàn)的情況下,前置放大器201的 放大器211對來自再現(xiàn)頭(讀取頭)的模擬電壓進行放大,然后將放大 后的模擬電壓輸出到RDC 202。 RDC 202的熱粗糙度(thermal asperity) 檢驗處理單元221執(zhí)行熱粗糙度處理,然后可變增益放大器(VGA) 222 調(diào)整幅值(amplitude )。
然后,低通濾波器(LPF) 223對其幅值經(jīng)過調(diào)整的讀取信號的高頻
16部分進行截止,而A/D轉(zhuǎn)換器(ADC) 224將低通濾波器223的模擬輸 出轉(zhuǎn)換成數(shù)字信號。之后,F(xiàn)IR (Infinite Impulse Response:有限脈沖響 應(yīng))濾波器225執(zhí)行PR (Partial Response:部分響應(yīng))波形均衡 Equalization),然后將該信號輸出到迭代解碼器226。
如稍后參照圖9所述,迭代解碼器226由軟輸入軟輸出(soft input soft output)檢測器和LDPC解碼器構(gòu)成,并使用似然度來執(zhí)行迭代解碼。軟 輸入軟輸出檢測器例如使用Max-log-MAP (最大后驗,Maximum A Posteriori)算法、SOVA (軟輸出維特比算法,Soft-Output Viterbi Algorithm)、或噪聲預(yù)測性SOVA (Noise Predictive SOVA, NPSOVA)。 LDPC解碼器例如使用Sum-Product (和-積)算法或者Min-Sum (最小和) 算法。
第一奇偶校驗/似然度糾錯單元227利用由解碼器226所確定的似然 度來確定錯誤候選的位置信息,并生成似然度及位置信息表。從迭代解 碼器226向HDC203發(fā)送經(jīng)過"O"或"l"的硬判決(hard decision)比特串 的解碼串。ECC解碼器230以4交織設(shè)置來執(zhí)行糾錯。
如果解碼成功,則記錄解碼器231執(zhí)行與記錄編碼器236的編碼反 向的解碼,而CRC解碼器232執(zhí)行CRC解碼,并將結(jié)果數(shù)據(jù)作為再現(xiàn) 數(shù)據(jù)而輸出。
如果在ECC解碼器230中解碼失敗,則將數(shù)據(jù)輸入到第二奇偶校驗 /似然度糾錯單元233。第二奇偶校驗/似然度糾錯單元233利用第一奇偶 校驗/似然度糾錯單元227的似然度及位置信息表,來對ECC糾錯失敗的 塊進行糾錯。
將經(jīng)過第二奇偶校驗/似然度糾錯單元233糾錯的數(shù)據(jù)輸入到基于 ECC進行糾錯的ECC解碼器230。如果在ECC解碼器230中解碼成功, 則經(jīng)由記錄解碼器231和CRC解碼器232來將該數(shù)據(jù)作為再現(xiàn)數(shù)據(jù)而輸 出,如前所述。另一方面,如果ECC解碼失敗,則將該數(shù)據(jù)再次輸入到 第二奇偶校驗/似然度糾錯單元233,以對該塊進行糾錯。
如前所述,如果基于ECC的糾錯失敗,則利用似然度信息來重復(fù)第 二奇偶校驗/似然度糾錯單元233和ECC解碼器230中的處理,由此能夠提高糾錯能力。
這種情況下,由于可能會多次重復(fù)ECC解碼器230中的糾錯,所以 使用如稍后參照圖12所述的高速判定ECC電路。該高速判定ECC電路 能夠減小計算量。
在本發(fā)明中,第一奇偶校驗/似然度糾錯單元227從迭代解碼器226 接收解碼串的各個比特的位置及其似然度,以添加了奇偶校驗的數(shù)據(jù)串
為單位來提取其似然度低(錯誤可能性高)的比特位置作為錯誤候選, 并生成表。
通過提取錯誤可能性高的比特位置作為錯誤候選,可以向ECC解碼 器230提供用于執(zhí)行有效糾錯的錯誤候選。由于僅將錯誤可能性高的比 特位置提取為錯誤候選,所以減少了 ECC解碼器230為了提取低似然度 序列中的錯誤候選而對似然度序列中的比特位置進行排序的次數(shù),這有 效地減小了計算量。 (編碼器)
現(xiàn)在說明圖1中的ECC編碼器、奇偶校驗編碼器和LDPC編碼器的 設(shè)置。圖2是示出圖1中的ECC編碼器235、奇偶校驗編碼器234和LDPC 編碼器的框圖。圖3是示出圖2中的交織單元的操作的圖。圖4是示出 圖2中的ECC編碼器和去交織單元的操作的圖。圖5是示出圖2中的奇 偶校驗編碼器的操作的圖。圖6是示出圖2中的LDPC編碼器的操作的 圖。圖7是示出圖2至圖6中的LDPC塊、RS塊與奇偶校驗之間的關(guān)系 的圖。圖8是示出比較示例的圖。
如圖2所示,ECC編碼器235由交織單元102、 ECC編碼器104和 去交織單元106構(gòu)成。如圖3所示,交織單元102將具有4k字節(jié)扇區(qū)的 數(shù)據(jù)串1000交織成4個(n=4)塊IOOI、 1002、 1003和1004。以10比 特(m=10)的比特間隔來對數(shù)據(jù)串IOOO的扇區(qū)進行該交織。
如圖4所示,ECC編碼器104對劃分成4個塊之后的各個塊1001、 1002、 1003和1004執(zhí)行ECC編碼,并分別將RS碼奇偶校驗1011、 1012、 1013及1014添加到各個塊1001、 1002、 1003及1004。優(yōu)選的是,ECC 編碼器104添加用于對t個符號進行糾錯的(2t+l)個符號的RS奇偶校驗,使得當(dāng)確定了錯誤位置多項式時能確定解碼是否失敗。
如圖4所示,去交織單元106按照10比特間隔來對添加了 RS奇偶 校驗的各個塊執(zhí)行去交織處理(交織的反向操作),以將這些塊轉(zhuǎn)換成一 個數(shù)據(jù)串(RS碼串)1100。
例如,如果將4k字節(jié)扇區(qū)的數(shù)據(jù)串劃分成4部分,則一個塊為lk 字節(jié)。如果糾錯量"t"是55個符號,則添加(2t+l)個符號(=111個符號) 的RS奇偶校驗。
然后,如圖5所示,在通過將RS碼串1100劃分成L個部分(例如 10部分)而生成的塊1101至1110中,奇偶校驗編碼器234分別從q(q^L) 個(例如4個)塊1101至1104中提取10比特的數(shù)據(jù)串(p-lO),并分 別針對pxq個數(shù)據(jù)串中的每一個數(shù)據(jù)串而生成奇偶校驗1121和1122。將 所生成的奇偶校驗添加到與經(jīng)過提取的塊1101至1110不同的各個塊 1117和1118,并輸出數(shù)據(jù)1130。這里,生成了{ (K L) / (p q) } 2 個奇偶校驗。
然后,如圖6所示,LDPC編碼器220分別針對K'(如圖5所示, 當(dāng)將RS碼串IIOO劃分成L個部分時的數(shù)據(jù)長度是K比特,而對其添加 了奇偶校驗后的數(shù)據(jù)長度是K')比特的數(shù)據(jù)串1131至1140 (該數(shù)據(jù)串 1131至1140是通過將由奇偶校驗編碼器234添加了奇偶校驗的RS碼串 1130劃分成L個部分而生成的)執(zhí)行LDPC編碼,并分別將LDPC碼奇 偶校驗1171至1180添加到各個塊1131至1140。
通過從各個LDPC塊1151至1160中提取出按照這種方式添加的奇 偶校驗1121,則由于在LDPC解碼中使得奇偶校驗分散,所以即使發(fā)生 突發(fā)錯誤,也能基于奇偶校驗來檢驗出錯誤。
參照圖7和圖8來描述這種檢錯。圖7是對如圖5的實施方式所示 生成并添加奇偶校驗來使得奇偶校驗分散的情況進行說明的圖,而圖8 是對與圖5的實施方式不同的、生成并添加奇偶校驗而不使奇偶校驗分 散的情況進行說明的圖。
在有些情況下,LDPC可能不能糾正LDPC塊中的錯誤,并且由于 糾錯的錯誤而產(chǎn)生很多錯誤,雖然這種情況的可能性較低。圖8是示出了基于LDPC塊1151至1155、 RS碼塊1001至1004和經(jīng)過交織的比特 串而生成的奇偶校驗的圖。這是上述ITO TOSHIO等人的文獻中的所述 方法與LDPC的結(jié)合,其中,ECC編碼器將RS奇偶校驗1011、 1012、 1013和1014添加到按照10比特的比特間隔通過交織而生成的4個塊 1001、 1002、 1003和1004。對于垂直方向上的10比特x4 (4塊)=40比 特,由奇偶校驗編碼器234來計算并添加2比特的奇偶校驗1121至112n。 因此,要生成的碼在水平方向上是基于RS碼的糾錯碼,而在垂直方向上 是使用基于多奇偶校驗(2比特奇偶校驗)的檢錯碼的級聯(lián)型碼。
然而,如圖8所示,如果LDPC塊被正確解碼(塊1151、1153和1154), 則沒有錯誤,因此奇偶校驗1121不起作用。
另一方面,如果LDPC塊被錯誤地解碼(塊1152、 1155),則產(chǎn)生很 多錯誤(圖8中用x表示),并且不能通過奇偶校驗來正確地檢驗出錯誤。 結(jié)果,基于這些奇偶校驗的檢錯無效,而且不能執(zhí)行通過ECC利用似然 度的糾錯,因此不能提高利用RS解碼及奇偶校驗似然度的糾錯能力,也 不能期望進行糾錯。
然而,如圖5所示,在根據(jù)RS編碼單位1100的經(jīng)過分散的比特串 來生成奇偶校驗的情況下,不是按照一個LDPC塊來生成一個奇偶校驗, 而是通過多個LDPC塊的數(shù)據(jù)串來生成一個奇偶校驗。然后將該奇偶校 驗插入到除了生成目標塊以外的塊中。
因此,要生成的碼在水平方向上是基于RS碼的糾錯碼,而在垂直方 向上是基于LDPC奇偶校驗的檢錯碼,并且在經(jīng)分離的RS塊的對角 (diagonal)方向上添加奇偶校驗。
因此,如稍后所述,即使在錯誤地解碼LDPC塊(塊1152、 1155) 的情況下產(chǎn)生很多錯誤(圖7中用x表示),也能使用這些奇偶校驗來正 確地檢驗出錯誤。
另一方面,在圖8中,在LDPC奇偶校驗與要添加的奇偶校驗都在 同一垂直方向上的情況下,如果LDPC塊被錯誤地解碼(塊1152、 1155), 則會產(chǎn)生很多錯誤,并且不能使用這些奇偶校驗來正確地檢驗出錯誤, 如前所述。
20(解碼器)
圖9是示出圖1中的解碼器的基本設(shè)置的框圖,圖10是示出圖9中 的迭代解碼器的詳細框圖,而圖11是示出圖9和圖10中的LDPC解碼 器的圖。
如圖9所示,迭代解碼器226由軟輸入軟輸出解碼器300、 LDPC解 碼器302和閾值判定單元304構(gòu)成。如前所述,軟輸入軟輸出解碼器300 能夠使用多種實用算法,但是在本實施例中使用NPSOVA。
圖10是示出圖9中的迭代解碼器226的解碼流程的圖。如圖10所 示,迭代解碼器226對各LDPC塊進行解碼。將FIR濾波器225 (參見圖 1)的輸出數(shù)據(jù)串和LDPC解碼器302的預(yù)設(shè)(prior)似然度輸入到 NPSOVA 300。在初始迭代解碼中,全部預(yù)設(shè)似然度都是"O"。預(yù)設(shè)似然 度是通過從LDPC解碼器302的輸出似然度中減去LDPC解碼器302的 輸入似然度而生成的似然度串(即,LDPC解碼器302中的似然度的更新 值)。
NPSOVA 300利用FIR濾波器225的輸出數(shù)據(jù)串和預(yù)設(shè)似然度來執(zhí) 行解碼。來自NPSOVA 300的輸出似然度串是通過從由解碼而得到的似 然度中減去預(yù)設(shè)似然度而生成的似然度串。將該NPSOVA輸出似然度串 發(fā)送到LDPC解碼器302。
LDPC解碼器302也可以使用上述多種實用算法,但在本實施例中 使用Sum-Product算法。如圖11所示,Sum-Product算法根據(jù)LDPC奇偶 校驗矩陣來執(zhí)行可靠性傳播解碼(稍后說明)。換言之,如果沒有滿足迭 代解碼停止條件,則LDPC解碼器302輸出預(yù)設(shè)似然度,并將其再次輸 入到NPSOVA解碼器300以執(zhí)行迭代解碼。
迭代解碼器226針對各個LDPC塊利用NPSOVA 300與LDPC解碼 器302之間的似然度來執(zhí)行迭代解碼預(yù)定次數(shù)或者直到作為奇偶校驗的 結(jié)果滿足了用于確定沒有錯誤的停止條件為止。當(dāng)?shù)獯a停止時,閾 值判定單元304將似然度串確定成"O"或'T'的硬判決比特串。
現(xiàn)在參照圖11來說明用于LDPC解碼的Sum-Product算法。 Sum-Product算法由奇偶校驗判定單元314、用于存儲LDPC塊的N個似然度串wl至wN的緩沖器316、與N個似然度串wl至wN相對應(yīng)的比 特節(jié)點310、基于奇偶校驗矩陣的檢驗條件而生成的邊318、以及檢驗節(jié) 點312構(gòu)成。
沿著邊318將從緩沖器316傳送到比特節(jié)點310的似然度收集在檢 驗節(jié)點312中,并在檢驗節(jié)點312中執(zhí)行檢驗節(jié)點處理。
再次將經(jīng)過檢驗節(jié)點處理的似然度發(fā)送到比特節(jié)點310,比特節(jié)點 310利用與各個檢驗節(jié)點312連接的比特節(jié)點310中所收集的似然度,來 執(zhí)行比特節(jié)點處理。這里,每次執(zhí)行比特節(jié)點處理時,都將得到的似然 度串輸入到奇偶校驗判定單元314。
奇偶校驗判定單元314將該似然度串暫時確定為二進制值'T'或"O", 并判斷暫時確定的比特串與奇偶校驗矩陣是否滿足檢驗條件公式(1) wHT=0。作為判斷的結(jié)果,如果檢驗條件公式成立,則停止可靠性傳播 解碼和迭代解碼(向控制器輸出迭代解碼停止指令)。對于輸出的似然度 串,保持由奇偶校驗判定時的似然度所保持的極性(polarity),并使用正 的或負的最大似然度值。
如果不滿足上述檢驗條件公式,則奇偶校驗判定單元314在可靠性 傳播解碼中多次執(zhí)行預(yù)定的檢驗節(jié)點及比特節(jié)點處理,并將得到的似然 度串視為輸出似然度串。
針對各個LDPC塊執(zhí)行迭代解碼,將從閾值判定單元304輸出的硬 判決比特串輸入到ECC解碼器230,并將該似然度串輸入到奇偶校驗似 然度糾錯單元227和223。如稍后所述,ECC解碼器(RS解碼器)230 接收該硬判決比特串,將其交織成4個塊,對各個塊執(zhí)行ECC解碼,并 且如果解碼成功,則輸出解碼串。
奇偶校驗/似然度糾錯單元227和223基于來自迭代解碼器226的似 然度,來選擇并保持其似然度低的比特位置。當(dāng)RS解碼器230的解碼失 敗時,從被保持的其似然度低的比特位置中提取錯誤位置,將比特串的 這些位置中的數(shù)據(jù)進行翻轉(zhuǎn)(flip)并輸入到RS解碼器230。當(dāng)解碼失敗
時,重復(fù)該處理以提高糾錯能力。 (ECC解碼器)
22圖12是示出圖1和圖9中的ECC解碼單元的框圖。如圖12所示, ECC解碼單元230由RS碼部分/奇偶校驗部分分離單元110、交織單元 112、數(shù)據(jù)存儲/更新單元114、ECC解碼器116以及去交織單元118構(gòu)成。
ECC解碼器116進一步由校正子(syndrome)值計算單元260、校 正子值存儲單元262、校正子值更新單元264、錯誤位置多項式生成單元 266、鏈式搜索(chain search)執(zhí)行單元268以及錯誤值計算單元270構(gòu) 成。
校正子值計算單元260計算來自解碼器226的解碼串的校正子,而 校正子值存儲單元262存儲計算出的校正子值。錯誤位置多項式生成單 元266根據(jù)所生成的校正子多項式來計算錯誤位置多項式,并判斷該結(jié) 果是否超出糾錯能力。
校正子值更新單元264計算其數(shù)據(jù)由奇偶校驗/似然度糾錯單元233 進行了更新的比特串的更新部分的校正子值,并對存儲在校正子值存儲 單元262中的校正子值進行更新。
如果錯誤位置多項式生成單元266確定解碼不會失敗,則鏈式搜索 執(zhí)行單元268通過鏈式搜索來確定錯誤位置。當(dāng)確定在鏈式搜索中解碼 不會失敗時,即在鏈式搜索中指定了錯誤位置時,錯誤值計算單元270 計算錯誤值。
如上所述,存儲之前的校正子值,并且如果解碼失敗,則計算由奇 偶校驗/似然度糾錯單元233進行了糾錯的解碼串的經(jīng)糾錯部分的校正子 值,并使用該校正子值來更新之前的校正子值。因此不需要再次針對該 比特串的該經(jīng)糾錯部分來計算整個校正子值,所以能夠減小計算量。
同樣如稍后所述,在計算錯誤位置多項式的階段能夠確定解碼是否 失敗,所以如果解碼失敗,則可以對下一個比特串進行解碼,從而能夠 減小計算量。
奇偶校驗/似然度糾錯單元由第一奇偶校驗/似然度糾錯單元227和 第二奇偶校驗/似然度糾錯單元233構(gòu)成。第一奇偶校驗/似然度糾錯單元 227從解碼器226接收各個比特的似然度,并針對4交織的各個塊提取其 似然度低的比特位置。第二奇偶校驗/似然度糾錯單元233由奇偶校驗計算單元120、奇偶 校驗值檢驗單元122、錯誤候選表存儲單元124以及錯誤翻轉(zhuǎn)單元126構(gòu) 成。
第一奇偶校驗/似然度糾錯單元227將似然度分離成塊部分的似然度 及奇偶校驗部分的似然度,并將經(jīng)分離的似然度保持在表中。然后,第 一奇偶校驗/似然度糾錯單元227在塊部分中提取其似然度低的比特位 置,并在奇偶校驗部分中按照低似然度的順序來對這些比特位置進行排 序。
似然度的絕對值越高,則比特正確的概率越高,而似然度的絕對值 越低,則比特錯誤的概率越高。為了提取其錯誤概率高的比特,只對其 似然度低的比特進行處理。將該結(jié)果輸出到第二奇偶校驗/似然度糾錯單 元233。
在ECC解碼器230中,分離單元110將硬判決比特串分離成RS碼 部分和2比特奇偶校驗部分。將全部經(jīng)分離的2比特奇偶校驗輸出到第 二奇偶校驗/似然度糾錯單元233的奇偶校驗值檢驗單元122。
然后,交織單元112按照10比特的間隔來對所分離的RS碼部分進 行交織,以將RS碼部分劃分成上述4個RS塊。換言之,執(zhí)行與圖4中 編碼的去交織反向的處理。
將各個所分離的RS塊存儲在數(shù)據(jù)存儲/更新單元114中,然后由ECC 解碼器116進行解碼。如果作為解碼結(jié)果,全部RS塊解碼成功,則去交 織單元118從各個RS塊除去RS奇偶校驗1011至1014,然后按照10比 特間隔來執(zhí)行去交織處理,輸出扇區(qū)數(shù)據(jù)1000,并結(jié)束該處理。
如果作為解碼結(jié)果,在一些RS塊中解碼失敗,則將解碼失敗的全部 RS塊的編號從ECC解碼器230輸出到第二奇偶校驗/似然度糾錯單元 233。去交織單元118在不從各個RS塊1001至1014除去RS奇偶校驗 1011至1014的情況下,按照10比特間隔來執(zhí)行去交織處理,并將作為 去交織處理的結(jié)果的原始RS碼部分1100輸出到第二奇偶校驗/似然度糾 錯單元233。
現(xiàn)在說明ECC解碼器116。校正子值計算單元260計算數(shù)據(jù)串的校正子多項式(多項式的系數(shù)sl、 s2 ......),并將計算出的校正子多項式輸
出到錯誤位置多項式計算單元266。在這種情況下,計算(2t+l)個多項 式系數(shù)si (i-l、 2 ...... 2t、 2t+l)的值。同時,校正子值計算單元260
將計算出的校正子多項式存儲在校正子值存儲單元262中,以用于下一 次或以后的候選解碼處理。
錯誤位置多項式計算單元266基于BerlekampMassey (BM)方法來 計算校正子多項式。在Berlekamp Massey方法中,通過從多項式的初始 值開始,按照與生成多項式的次(degree)相同的次數(shù)而重復(fù)更新多項式, 來計算錯誤位置多項式。這種情況下,為了減小第i多項式Ci (x),需 要第i校正子值si。
錯誤位置多項式計算單元266生成第(2t)多項式C2t(x)和第(2t+1) 多項式C2t+l (x)。然后,錯誤位置多項式計算單元266對第(2t)多項 式C2t (x)的系數(shù)與第(2t+l)多項式C2t+l (x)的系數(shù)進行比較,并 判斷這兩個多項式是否匹配。
在Berlekamp Massey方法中,如果包含在數(shù)據(jù)串中的錯誤的數(shù)量是 k (kSt),則在第(2t+l)或以后的重復(fù)中不更新多項式,而C2t (x)或 以后的多項式都相同。因此,如果C2t (x)與C2t+l (x)匹配,則錯誤 的數(shù)量最多是t個,這處于糾錯能力的范圍內(nèi)。另一方面,如果C2t (x) 不與C2t+l (x)匹配,則錯誤的數(shù)量超出了糾錯能力。
因此,可以確定的是,如果C2t (x)與C2t+l (x)匹配,則該候選 的糾錯將成功,并將數(shù)據(jù)串、校正子多項式、錯誤位置多項式及判定結(jié) 果輸出到鏈式搜索執(zhí)行單元268。如果C2t (x)與C2t+l (x)不同,則 認為該候選的糾錯失敗,并且在當(dāng)前解碼的RS塊中設(shè)置表示解碼失敗的 標志,并輸出第二奇偶校驗/似然度糾錯單元233中的該塊編號。
這樣,通過向數(shù)據(jù)串添加一個符號的額外奇偶校驗并按照Berlekamp Massey方法來計算額外的多項式,能夠在解碼期間檢驗出數(shù)據(jù)串糾錯失 敗??梢允褂锰砑佣鄠€符號的額外奇偶校驗的形式。
如果確定解碼不會失敗,則通過鏈式搜索來確定糾錯。換言之,鏈 式搜索執(zhí)行單元268利用錯誤位置多項式C (x)來執(zhí)行鏈式搜索,并針對數(shù)據(jù)串上的全部位置j計算C (aj) (j=0、 1、 2、 3、 4 ...... n)的值。
滿足C (aj) -O的位置j是錯誤位置。
然后,鏈式搜索執(zhí)行單元268利用校正子多項式和C (aj)的值來判 斷糾錯是否成功,如果確定糾錯將成功,則鏈式搜索執(zhí)行單元268將接 收到的數(shù)據(jù)串、校正子多項式及錯誤位置多項式輸出到錯誤值計算單元 270。如果確定糾錯將失敗,則在當(dāng)前解碼的RS塊中設(shè)置解碼失敗的標 志,并輸出第二奇偶校驗/似然度糾錯單元233中的該塊的編號。
如果在鏈式搜索中指定了錯誤位置,則計算錯誤值。換言之,錯誤 值計算單元270利用校正子多項式和錯誤位置多項式,基于預(yù)定的算法 來將數(shù)據(jù)串的錯誤位置處的不正確的值糾正成正確的值。并將經(jīng)過糾錯 的數(shù)據(jù)串輸出到去交織單元118。
換言之,如果解碼成功,則從ECC解碼器230輸出經(jīng)過糾錯的數(shù)據(jù) 串。如果糾錯失敗并需要第二次或后續(xù)解碼,則利用存儲在校正子值存 儲單元262中的信息來執(zhí)行解碼處理。
然后,如稍后所述,在第二奇偶校驗/似然度糾錯單元233中對錯誤 位置進行翻轉(zhuǎn),由此對數(shù)據(jù)更新/存儲單元114中的數(shù)據(jù)進行更新和存儲。 針對該更新后的RS塊,校正子值更新單元264計算與數(shù)據(jù)被更新的位置 相對應(yīng)的校正子,對存儲在存儲單元262中的校正子值進行更新,并將 經(jīng)過更新的校正子多項式輸出到錯誤位置多項式計算單元266。
此后,如前所述,錯誤位置多項式計算單元266生成錯誤位置多項 式,并且如果確定解碼失敗,則在當(dāng)前RS塊中設(shè)置用于表示解碼失敗的 標志,并將該塊編號輸出到第二奇偶校驗/似然度糾錯單元233。如果確 定解碼沒有失敗,則由鏈式搜索執(zhí)行單元268來確定錯誤位置。如果確 定在鏈式搜索中解碼失敗,則按照相同方式在當(dāng)前RS塊中設(shè)置表示解碼 錯誤的標志,并將該塊編號輸出到第二奇偶校驗/似然度糾錯單元233。 如果在鏈式搜索中指定了錯誤位置,則計算錯誤值。
對于經(jīng)過翻轉(zhuǎn)的比特串,因為不需要再次針對該比特串的經(jīng)過糾錯 部分來計算整個校正子值,所以能夠減小計算量。此外,在計算錯誤位 置多項式的階段還能夠確定解碼是否失敗,因此如果解碼失敗,則處理
26可轉(zhuǎn)移到下一步驟,從而能夠減小計算量。這樣,與傳統(tǒng)的ECC解碼器相比,ECC解碼器116能夠更多地減小計算量,并能執(zhí)行高速解碼。
在將解碼失敗的所有RS塊編號以及對執(zhí)行了去交織處理的RS碼部分IIOO (參見圖4)輸入到第二奇偶校驗/似然度糾錯單元233后,按照如圖2和圖5的奇偶校驗編碼器同樣的方式來計算奇偶校驗。
換言之,如圖5所示,圖12中的奇偶校驗計算單元120針對RS碼部分1100至1113在對角方向上提取比特串,并如圖5和圖7所示計算2比特奇偶校驗。
奇偶校驗值檢驗部分122檢驗奇偶校驗值,確定從分離單元110發(fā)送的由奇偶校驗編碼器所生成的奇偶校驗值與重新計算的奇偶校驗值是否匹配。將在該奇偶校驗檢驗中其值匹配的奇偶校驗塊串確定為沒有錯誤,并將其值不匹配的奇偶校驗塊串確定為錯誤。
圖12中的錯誤翻轉(zhuǎn)單元126基于奇偶校驗檢驗的結(jié)果及解碼失敗塊編號來檢驗出塊中的錯誤位置,計算奇偶校驗錯誤值,使用該奇偶校驗錯誤值參照表124來指定錯誤位置,并翻轉(zhuǎn)錯誤位置的比特值。
因為能夠檢驗出錯誤位置,所以能夠?qū)崿F(xiàn)超出 一個交織ECC的性能。
通過結(jié)合圖12中的ECC解碼器116,能夠提高確定ECC解碼器不能糾錯的速度以及生成解碼目標數(shù)據(jù)串的校正子的速度,并能夠?qū)崿F(xiàn)低計算量的解碼。
(編碼及解碼操作)
圖13是示出根據(jù)本發(fā)明實施方式的編碼及解碼的圖,圖14是作為比較示例而示出了當(dāng)使用由上述Ito等人的文獻所披露的技術(shù)與LDPC時的編碼及解碼的圖。
如圖13所示,在編碼的情況下,通過對記錄數(shù)據(jù)IOOO進行交織、執(zhí)行RS編碼(1001至1004)、并對編碼后的結(jié)果進行去交織,來生成RS編碼串1100。然后如圖5所示,在通過將RS碼串1100劃分成L個部分(例如10個部分)而生成的塊1101至1110中,分別從q (qD個(例如4個)塊1101至1104中提取10比特的串(p=10),以針對pxq個數(shù)據(jù)串中的每一個數(shù)據(jù)串而生成奇偶校驗1121和1122。將所生成的奇
27偶校驗附加到與經(jīng)過提取的塊1101至1104不同的各個塊1117和1118,并輸出數(shù)據(jù)1130。
然后如圖6所示,針對通過將添加了奇偶校驗的RS碼串1130劃分成L個部分而生成的各個K'比特數(shù)據(jù)串1131至1140,來執(zhí)行LDPC編碼,并分別將LDPC碼奇偶校驗1171至1180添加到塊1131至1140。
在解碼的情況下,對經(jīng)過LDPC編碼的塊1150執(zhí)行LDPC解碼,并獲得RS碼數(shù)據(jù)串1130。即使在解碼期間錯誤地解碼LDPC塊(塊1154、1156),并發(fā)生很多錯誤(圖13中用x表示),仍能正確地執(zhí)行基于奇偶校驗的檢錯。
換言之,在ECC解碼器中,指定其中檢驗出錯誤的RS塊,并且根據(jù)圖7所述的奇偶校驗的位置關(guān)系,基于包括生成了奇偶校驗的RS塊的多個RS塊來重新生成奇偶校驗。編碼期間的對應(yīng)奇偶校驗已經(jīng)被插入到另一預(yù)定塊,因此讀取并比較該位置上的奇偶校驗。如果比較結(jié)果不匹配,則確定存在錯誤,并且如上所述,對檢驗出錯誤的RS塊中具有低似然度的錯誤候選進行翻轉(zhuǎn)。
由于在LDPC解碼期間獲知了在LDPC塊中存在/不存在錯誤(是否與檢驗條件匹配),所以提供解碼器能夠處理的最大似然度作為從沒有錯誤的塊中提取出的似然度。這意味著能從錯誤候選中排除沒有錯誤的塊。結(jié)果,能夠限定奇偶校驗似然度糾錯候選。
在圖14的比較示例的情況下,在編碼中,通過對記錄數(shù)據(jù)1000進行交織、執(zhí)行RS編碼(1001至1004)以及去交織,來生成RS編碼串1100。然后如圖15所示,針對在對RS碼串1100進行交織之后的數(shù)據(jù)串生成奇偶校驗1121和1122。將生成的奇偶校驗添加到RS編碼串的末端,并輸出數(shù)據(jù)1130-1。
然后如圖6所示,針對通過將添加了奇偶校驗的RS碼串1130劃分成L個部分而生成的各個K'比特數(shù)據(jù)串1131至1140,來執(zhí)行LDPC編碼,并分別將LDPC碼奇偶校驗1171至1180添加到塊1131至1140。
在解碼的情況下,對經(jīng)過LDPC編碼的塊1150執(zhí)行LDPC解碼,并獲得RS碼數(shù)據(jù)串1130。然后,假設(shè)在解碼期間LDPC塊被錯誤地解碼(塊1154、 1156),并發(fā)生很多錯誤(圖14中用x表示)。在ECC解碼器中,檢驗出錯誤的RS塊,基于目標塊來重新生成奇偶校驗。讀取并比較添加到編碼串末端的奇偶校驗。如果比較結(jié)果不匹配,則確定存在錯誤,并將具有低似然度的錯誤候選進行翻轉(zhuǎn),如上所述。
然而,因為將編碼時的奇偶校驗添加到編碼串的最末端,所以如果該部分有錯,則即使沒有錯誤的塊在與重新生成的奇偶校驗的比較時也會不匹配,并會被認為有錯。另一方面,如果奇偶校驗塊有錯,則即使在與重新生成的奇偶校驗的比較時有錯誤的塊也會匹配,并會被認為沒有錯誤。所以如果錯誤集中在LDPC塊,則不能通過ECC來糾錯。(其它實施方式)
在上述圖2的交織方法中,使用10比特作為示例,但是還可以使用其它數(shù)量的比特,而且對于圖12所述的ECC解碼器116,可以使用不具有校正子值存儲單元262及校正子值更新單元264的傳統(tǒng)ECC解碼器。
在上述實施方式中,使用里德所羅門碼來描述ECC碼,但是還可以使用其它碼,諸如BCH (BoseChaudhariHocquengham)碼。利用4交織來說明交織,但是本發(fā)明還可應(yīng)用于2或更高的交織設(shè)置,而且奇偶校驗被描述為2比特,但本發(fā)明還可以應(yīng)用于1比特或3比特或更多個比特。利用第二ECC說明了LDPC,但是還可以利用其它線性編碼方法,諸如Tiirbo編碼。說明了磁盤裝置的記錄/再現(xiàn)裝置,但本發(fā)明還能應(yīng)用到其它介質(zhì)存儲裝置,諸如光盤裝置和通信裝置。
使用多個實施方式對本發(fā)明進行了說明,但是在本發(fā)明的精神的范圍內(nèi)能夠按照各種方式來對本發(fā)明進行修改,而且這些變型形式也應(yīng)當(dāng)包含在本發(fā)明的范圍內(nèi)。
按照每m (m22)比特將數(shù)據(jù)串交織成多個塊,添加糾錯碼奇偶校驗,并生成其中向每多個比特添加奇偶校驗比特的級聯(lián)型編碼數(shù)據(jù),因此能防止電路規(guī)模的增大。而且,按照串接的方式使用作為利用迭代解碼的線性編碼的第二糾錯編碼,因此能夠通過迭代解碼來糾正ECC輸入的錯誤,并能夠防止糾錯性能的劣化。結(jié)果,能夠防止用于Windows 的Vista⑧的長扇區(qū)型記錄/再現(xiàn)裝置的電路規(guī)模的增大,并能提高糾錯性在此所述的全部示例及條件性語言旨在教導(dǎo)的目的,以幫助讀者理解發(fā)明人作出的以推動現(xiàn)有技術(shù)進步的本發(fā)明的原理及概念,并且本發(fā)明的原理及概念應(yīng)當(dāng)理解為不限于具體所述的示例和條件,而且說明書中這些示例的組織方式也與本發(fā)明的優(yōu)劣無關(guān)。雖然已經(jīng)詳細描述了本發(fā)明的(多個)實施方式,但是應(yīng)當(dāng)理解的是可以進行各種變化、替換和修改而不偏離本發(fā)明的精神和范圍。
交叉引用
本申請基于2008年1月31日提交的在先日本專利申請No.2008-21282并要求該申請的優(yōu)先權(quán),該申請的全部內(nèi)容以引用的方式包含在本申請中。
30
權(quán)利要求
1、一種編碼器,該編碼器包括ECC編碼器,其按照每m比特而將數(shù)據(jù)串交織成n塊數(shù)據(jù)串,根據(jù)各個所述交織后的塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述第一糾錯碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字,其中m≥2,n≥2;奇偶校驗編碼器,其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶校驗比特添加到所述糾錯碼字;以及第二ECC編碼器,其按照每K比特而將第二糾錯碼字劃分成L塊數(shù)據(jù)串,根據(jù)各個塊的數(shù)據(jù)串以所述塊為單位而生成作為線性碼的第二糾錯碼奇偶校驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以生成第三糾錯碼字,其中K≥2,L≥2,其中,在所述第二糾錯碼字中將由所述奇偶校驗編碼器所生成的奇偶校驗添加到所述糾錯碼字。
2、 根據(jù)權(quán)利要求1所述的編碼器,其中,所述第二ECC編碼器生 成滿足低密度奇偶校驗LDPC碼的要求的第三糾錯碼字,在所述低密度 奇偶校驗LDPC碼中,奇偶校驗矩陣中"1"的數(shù)量低,即低密度,而且 所述低密度奇偶校驗LDPC碼是線性碼,并且所述第二 ECC編碼器利用 與所述奇偶校驗矩陣相對應(yīng)的生成矩陣來生成奇偶校驗。
3、 根據(jù)權(quán)利要求1所述的編碼器,其中,所述奇偶校驗編碼器將所 述糾錯碼字劃分成L個塊,從各個所述劃分的塊中以p比特為單位來提 取q個數(shù)據(jù)串,并針對pxq個數(shù)據(jù)串生成奇偶校驗,其中Q2, p^1, q^2。
4、 根據(jù)權(quán)利要求3所述的編碼器,其中,所述奇偶校驗編碼器將針 對所述pxq個數(shù)據(jù)串所生成的所述奇偶校驗添加到除了包括用于生成所 述奇偶校驗的數(shù)據(jù)串的所述塊以外的塊。
5、 根據(jù)權(quán)利要求1所述的編碼器,其中,所述ECC編碼器包括 交織單元,其按照每m比特而將所述數(shù)據(jù)串交織成n塊數(shù)據(jù)串,其中m^2,必;ECC編碼單元,其根據(jù)各個交織后的塊的數(shù)據(jù)串而生成糾錯碼奇偶校驗;以及去交織單元,其按照所述每m比特而對各個所述塊的數(shù)據(jù)串進行去交織,將去交織后的數(shù)據(jù)串恢復(fù)為所述數(shù)據(jù)串,并將所述糾錯碼的奇偶校驗添加到所述恢復(fù)的數(shù)據(jù)串。
6、 根據(jù)權(quán)利要求1所述的編碼器,其中,所述ECC編碼器生成里德所羅門碼作為所述糾錯碼。
7、 一種對被編碼成根據(jù)權(quán)利要求1的第三糾錯碼字的編碼數(shù)據(jù)進行解碼的解碼器,該解碼器包括迭代解碼器,其利用所述第二 ECC碼奇偶校驗來對接收到的編碼數(shù)據(jù)串迸行迭代解碼,將所述編碼數(shù)據(jù)串解碼成比特串,并輸出各個比特的似然度;以及ECC解碼電路,其迭代地執(zhí)行基于所述迭代解碼器的編碼數(shù)據(jù)串的第一糾錯碼的糾錯解碼,以及根據(jù)基于所述奇偶校驗比特的檢錯來執(zhí)行的基于所述似然度的所述編碼比特串糾錯解碼。
8、 根據(jù)權(quán)利要求7所述的解碼器,其中,所述迭代解碼器利用所述第二糾錯碼字的所述奇偶校驗,根據(jù)滿足低密度奇偶校驗LDPC碼的要求的所述第三糾錯碼字來執(zhí)行所述迭代解碼,將所述編碼數(shù)據(jù)串硬判決成所述第二糾錯碼字,并輸出各個比特的似然度,其中在所述低密度奇偶校驗LDPC碼中,所述奇偶校驗矩陣中的"1"的數(shù)量低,即低密度,而且所述低密度奇偶校驗LDPC碼是線性碼。
9、 根據(jù)權(quán)利要求8所述的解碼器,其中,在基于所述奇偶校驗比特串的所述第二糾錯碼字的檢錯中,當(dāng)所述第二糾錯碼字的塊滿足所述奇偶校驗條件并且沒有檢驗到錯誤時,所述迭代解碼器停止所述迭代解碼,并將所述第二糾錯碼字的塊中的各個比特的似然度設(shè)置成最大似然度值。
10、 根據(jù)權(quán)利要求7所述的解碼器,其中,所述ECC解碼電路包括ECC解碼器,其基于來自所述迭代解碼器的碼比特串的所述第一糾錯碼來執(zhí)行糾錯;以及奇偶校驗/似然度糾錯單元,其在由所述ECC解碼器進行的解碼失敗時,基于所述奇偶校驗比特來執(zhí)行檢錯,并利用所述檢錯的結(jié)果基于所述似然度來對輸入到所述ECC解碼器的所述碼比特串進行糾錯。
11、 根據(jù)權(quán)利要求IO所述的解碼器,該解碼器還包括分離單元,其從來自所述迭代解碼器的碼比特串中分離出所述奇偶校驗比特,并將所述奇偶校驗比特輸出到所述奇偶校驗/似然度糾錯單元;交織單元,其按照所述每m比特將已經(jīng)分離出所述奇偶校驗比特的所述碼比特串交織成n塊數(shù)據(jù)串,其中rn^2, r^2;以及數(shù)據(jù)存儲單元,其存儲各個所述交織后的塊的數(shù)據(jù)串,其中,所述ECC解碼器基于所述糾錯碼來對所述數(shù)據(jù)存儲單元的各塊的數(shù)據(jù)串執(zhí)行糾錯,并且,所述奇偶校驗/似然度糾錯單元對所述數(shù)據(jù)存儲單元的數(shù)據(jù)串進行糾錯。
12、 根據(jù)權(quán)利要求10所述的解碼器,其中,當(dāng)所述解碼失敗時,所述奇偶校驗/似然度糾錯單元從包括所述失敗的塊的所述L個塊中以p比特為單位來提取q個數(shù)據(jù)串,針對pxq個數(shù)據(jù)串重新生成奇偶校驗,并將所述奇偶校驗與所述添加的奇偶校驗比特進行比較以進行檢錯,其中
13、 根據(jù)權(quán)利要求10所述的解碼器,其中,所述奇偶校驗/似然度糾錯單元對被添加到除了包括用于生成所述奇偶校驗的數(shù)據(jù)串的所述塊之外的塊的奇偶校驗進行提取,并將這些奇偶校驗與所述重新生成的奇偶校驗進行比較。
14、 根據(jù)權(quán)利要求7所述的解碼器,其中,所述編碼數(shù)據(jù)串的所述糾錯碼是里德所羅門碼。
15、 一種編/解碼裝置,該編/解碼裝置包括ECC編碼器,其按照每m比特而將數(shù)據(jù)串交織成n塊數(shù)據(jù)串,根據(jù)各個所述交織后的塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述第一糾錯碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字,其中11^2,必;奇偶校驗編碼器,其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶校驗比特添加到所述糾錯碼字;第二 ECC編碼器,其按照每K比特而將第二糾錯碼字劃分成L塊數(shù)據(jù)串,根據(jù)各個塊的數(shù)據(jù)串以所述塊為單位而生成作為線性碼的第二糾錯碼奇偶校驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以生成第三糾錯碼字,其中&2, LS2,其中在所述第二糾錯碼字中將由所述奇偶校驗編碼器所生成的奇偶校驗添加到所述糾錯碼字;迭代解碼器,其利用所述第二 ECC碼奇偶校驗來對接收到的編碼數(shù)據(jù)串進行迭代解碼,將所述編碼數(shù)據(jù)串解碼成比特串,并輸出各個比特的似然度;以及ECC解碼電路,其迭代地執(zhí)行基于所述迭代解碼器的編碼數(shù)據(jù)串的第一糾錯碼的糾錯解碼,以及根據(jù)基于所述奇偶校驗比特的檢錯來執(zhí)行的基于所述似然度的所述編碼比特串糾錯解碼。
16、 根據(jù)權(quán)利要求15所述的編/解碼裝置,其中,所述第二 ECC編碼器生成滿足低密度奇偶校驗LDPC碼的要求的第三糾錯碼字,在所述低密度奇偶校驗LDPC碼中,奇偶校驗矩陣中的"l"的數(shù)量低,即低密度,而且所述低密度奇偶校驗LDPC碼是線性碼,并且所述第二 ECC編碼器利用與所述奇偶校驗矩陣相對應(yīng)的生成矩陣來生成奇偶校驗,并且所述迭代解碼器利用所述第二糾錯碼字的所述奇偶校驗,根據(jù)滿足低密度奇偶校驗LDPC碼的要求的所述第三糾錯碼字來執(zhí)行所述迭代解碼,將所述編碼數(shù)據(jù)串硬判決成所述第二糾錯碼字,并輸出各個比特的所述似然度,其中在所述低密度奇偶校驗LDPC碼中,所述奇偶校驗矩陣中的"l"的數(shù)量低,即低密度,而且所述低密度奇偶校驗LDPC碼為線性碼。
17、 根據(jù)權(quán)利要求15所述的編/解碼裝置,其中,所述奇偶校驗編碼器將所述糾錯碼字劃分成L個塊,從各個所述劃分后的塊中以p比特為單位來提取q個數(shù)據(jù)串,并針對pxq個數(shù)據(jù)串生成奇偶校驗,并且當(dāng)所述解碼失敗時,所述ECC解碼電路從包括所述失敗的塊的所述L個塊中以p比特為單位來提取q個數(shù)據(jù)串,針對pxq個數(shù)據(jù)串重新生成奇偶校驗,并將這些奇偶校驗與所述添加的奇偶校驗比特進行比較以進行檢錯,其中1^2, pd, q22。
18、 一種記影再現(xiàn)裝置,該記錄/再現(xiàn)裝置包括讀寫頭,其從存儲介質(zhì)讀取數(shù)據(jù)/向存儲介質(zhì)寫入數(shù)據(jù);ECC編碼器,其按照每m比特而將要寫入到所述存儲介質(zhì)的數(shù)據(jù)串交織成n塊數(shù)據(jù)串,根據(jù)各個所述交織后的塊的數(shù)據(jù)串而生成第一糾錯碼奇偶校驗,并將各個塊的所述第一糾錯碼奇偶校驗添加到所述數(shù)據(jù)串以生成糾錯碼字,其中rr^2,論2;奇偶校驗編碼器,其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶校驗比特添加到所述糾錯碼字;第二 ECC編碼器,其按照每K比特而將第二糾錯碼字劃分成L塊數(shù)據(jù)串,根據(jù)各個塊的數(shù)據(jù)串以所述塊為單位而生成作為線性碼的第二糾錯碼奇偶校驗,并將各個塊的所述第二糾錯碼奇偶校驗添加到所述第二糾錯碼字以生成第三糾錯碼字,并將所述第三糾錯碼字輸出到所述讀寫頭,其中K^2, L22,其中在所述第二糾錯碼字中將由所述奇偶校驗編碼器所生成的奇偶校驗添加到所述糾錯碼字;迭代解碼器,其利用所述第二 ECC碼奇偶校驗來對由所述讀寫頭讀取的所述編碼數(shù)據(jù)串進行迭代解碼,將所述編碼數(shù)據(jù)串解碼成比特串,并輸出各個比特的似然度;以及ECC解碼電路,其迭代地執(zhí)行基于所述迭代解碼器的編碼數(shù)據(jù)串的第一糾錯碼的糾錯解碼,以及根據(jù)基于所述奇偶校驗比特的檢錯來執(zhí)行的基于所述似然度的所述編碼比特串糾錯解碼。
19、 根據(jù)權(quán)利要求18所述的記錄/再現(xiàn)裝置,其中,所述第二 ECC編碼器生成滿足低密度奇偶校驗LDPC碼的要求的第三糾錯碼字,在所述低密度奇偶校驗LDPC碼中,奇偶校驗矩陣中的"l"的數(shù)量低,即低密度,而且所述低密度奇偶校驗LDPC碼是線性碼,并且所述第二 ECC編碼器利用與所述奇偶校驗矩陣相對應(yīng)的生成矩陣來生成奇偶校驗,并且所述迭代解碼器利用所述第二糾錯碼字的所述奇偶校驗,根據(jù)滿足低密度奇偶校驗LDPC碼的要求的所述第三糾錯碼字來執(zhí)行所述迭代解碼,將所述編碼數(shù)據(jù)串硬判決成所述第二糾錯碼字,并輸出各個比特的似然度,其中在所述低密度奇偶校驗LDPC碼中,所述奇偶校驗矩陣中的"l"的數(shù)量低,即低密度,而且所述低密度奇偶校驗LDPC碼為線性碼。
20、根據(jù)權(quán)利要求18所述的記錄/再現(xiàn)裝置,其中,所述奇偶校驗編碼器將所述糾錯碼字劃分成L個塊,從各個所述劃分后的塊中以p比特為單位來提取q個數(shù)據(jù)串,并針對pxq個數(shù)據(jù)串生成奇偶校驗,其中L^2, p^1, q^2,并且當(dāng)所述解碼失敗時,所述ECC解碼電路從包括所述失敗的塊的所述L個塊中以p比特為單位來提取q個數(shù)據(jù)串,針對pxq個數(shù)據(jù)串重新生成奇偶校驗,并將這些奇偶校驗與所添加的奇偶校驗比特進行比較以進行檢錯,其中P^,q"。
全文摘要
本發(fā)明涉及編碼裝置、解碼裝置、編/解碼裝置以及記錄/再現(xiàn)裝置。一種不增大電路規(guī)模而進行糾錯的糾錯裝置。一種編碼器,該編碼器包括第一ECC編碼器,其按照每m(m≥2)比特而將數(shù)據(jù)串交織成n(n≥2)塊數(shù)據(jù)串,并添加糾錯碼奇偶校驗;奇偶校驗編碼器,其按照所述糾錯碼字的每多個比特而生成奇偶校驗比特,并將所述奇偶校驗比特添加到所述糾錯碼字;以及第二ECC編碼器,其生成作為利用迭代解碼的線性編碼的第二糾錯編碼。由于生成了其中向每多個比特添加奇偶校驗比特的級聯(lián)型編碼數(shù)據(jù),所以即使將數(shù)據(jù)串交織成多個塊并生成糾錯碼奇偶校驗,也能夠防止電路規(guī)模的增大。
文檔編號G11B20/18GK101499806SQ20081018567
公開日2009年8月5日 申請日期2008年12月19日 優(yōu)先權(quán)日2008年1月31日
發(fā)明者伊東利雄, 金岡利知 申請人:富士通株式會社