欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Ldpc碼的解碼的制作方法

文檔序號:7525229閱讀:246來源:國知局
專利名稱:Ldpc碼的解碼的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機科學領(lǐng)域,具體地說,涉及解碼低密度奇偶校驗碼的領(lǐng)域。
背景技術(shù)
低密度奇偶校驗(LDPC)碼最初由Gallager提出并通過MacKay和Meal變得重要起來,此類代碼是強大的代碼,允許快速且可靠地檢索使用可接受的冗余級別編碼的信息。因此,LDPC碼廣泛用于在存儲器上存儲信息或傳輸信息,因為它們需要的信息冗余以及糾正在寫入和讀取之間或發(fā)送和接收之間在信息中引入的錯誤所需的時間不會令人望而卻
止/J/ O
在存儲器存儲中,通道模型(廣泛用于信息和編碼理論的術(shù)語)是一種用于描述在讀取的編碼數(shù)據(jù)和要寫入的編碼數(shù)據(jù)之間觀察到的錯誤的模型。根據(jù)此模型,當錯誤被引入數(shù)據(jù)時,一個數(shù)據(jù)塊采用一個通道。通常,當數(shù)據(jù)塊包括要在存儲器上寫入然后讀取的位序列時,可以在寫入期間或存儲期間或甚至讀取期間修改位的真實值(即,要寫入的位的值)??梢允褂貌煌耐ǖ滥P?,具體取決于應用以及對錯誤原因做出的假設(shè)。廣泛使用的通道包括加性白高斯通道(AWGN)和二進制對稱通道(BSC)。單層單元(SLC)閃存是包括可以在其上寫入位的獨立單元的存儲器。因此每個單元表示一個位。閃存單元基于浮柵晶體管技術(shù)。換言之,在閃存單元的晶體管柵極上“捕獲”的電荷確定在閃存單元上讀取的邏輯級別(即,位的值)。稍微簡單地說,閃存的工作方式可以描述為如下當“擦除”單元時,將電荷放在柵極上并將單元讀取為邏輯I (即,位的值是I)。在單元上“編程(即,寫入)0”相當于對柵極進行放電,使邏輯值達到O。只可以對已被擦除(對應被充電)的單元進行編程(對應放電)。閃存以頁面和塊布置,并且一個頁面通常包括多個閃存單元(例如,4096個字節(jié)用于存儲信息位,128個字節(jié)用于存儲冗余位),一個塊包括多個頁面(例如64)。讀取和寫入操作通常針對頁面級別執(zhí)行,而擦除操作針對整個塊執(zhí)行。因為只對被寫入O的位進行放電,所以剩余的位仍然保持充電。這意味著對于任何特定單元/位而言,導致的實際耗損與曾經(jīng)在其上寫入的O的數(shù)量成比例。通常,閃存單元具有10,000次擦除/寫入循環(huán)的持久性規(guī)范,即,每個單元可以擦除和寫入10,000次O。因為充電/放電過程是閃存讀取/寫入/擦除操作固有的,所以可以認識到最常見的錯誤模式是不需要的I到O轉(zhuǎn)換。這可以通過圖I中所示的所謂二進制非對稱通道(BAC)建模。參考圖1,寫入的I可以讀出為I的概率是l_a,讀出為O的錯誤概率是a,而存儲的O可以讀出為O的概率是Ι-a/b,讀出為I的錯誤概率是Ι-a/b,其中a是小數(shù),范圍從10_3到10_5,b是大于I的實數(shù),例如10。通過忽略從O到I的錯誤模式,閃存有時可以備選地通過如圖2中所示的Z通道建模,但這是當b趨于無窮大時的BAC的特殊情況。正如在其他通道模型上,可以在閃存上寫入通過LDPC碼編碼的位序列。以下文檔介紹非對稱通道的LDPC編碼- “LDPC codes for binary asymmetric channels (二進制非對稱通道的 LDPC碼)”,作者]^1^的,1,ICT 2008。2008年度國際電信會議。2008年6月16-19日,第1-7頁;-“Does the Performance of LDPC Codes Depend on the Channel (LDPC 碼的性能依賴于通道嗎?)”,作者 Franceschini, Μ· >Ferrari, G.、Raheli,R. , IEEE 通信匯刊,第54 卷第 12 期,2006 年 12 月,第 2129-2132 頁;- “Maximum Likelihood Decoding of Codes on the Z-channel (Z 通道上的代碼最大似然解碼),,,作者 Barbero, A. ;Ellingsen, P. ;Spinsante, S. ;Ytrehus, 0· , 2006 年度IEEE國際通信會議,第3卷,2006年6月,第1200-1205頁;以及-“Density evolution for asymmetric memory I ess channels (非對稱無記憶通道的密度演化)”,作者Wang, C. -C. ;Kulkarni, S. R.、Poor, H. V.,IEEE信息理論匯刊,第51卷第12期,2005年12月,第4216-4236頁。
使用實際解碼算法對采用LDPC碼編碼的信息解碼。這些算法包括諸如位翻轉(zhuǎn)、Gallager A/Β、置信度傳播以及和-積之類的算法,它們針對長LDPC碼執(zhí)行,并證明可提供卓越的錯誤保護。在這些解碼算法中,位翻轉(zhuǎn)最簡單并且易于實現(xiàn)。位翻轉(zhuǎn)算法的優(yōu)點是關(guān)聯(lián)的解碼復雜性明顯低于其他算法。將簡要討論例如通過Feng Guo 和 Lajos Hanzol 的標題為 “Reliability Ratio Basedffeighted Bit-FlippingDecoding for LDPC codes (LDPC碼的基于可靠性比的加權(quán)位翻轉(zhuǎn)解碼)”的文檔所公開的與和-積算法的比較。對于每個編碼位的每次迭代,和-積算法需要2jq數(shù)量的加法和7jq/log2(q)次乘法,其中q是解碼字段的大小,在此二進制方案中是2。如果塊長度為1000個位并且最多為10次迭代,所需的算術(shù)運算的數(shù)量是200,000次加法和700,000次乘法。此夕卜,位翻轉(zhuǎn)算法不需要任何成本高昂的加法和乘法。位翻轉(zhuǎn)算法通過評估校驗子只需要邏輯運算,這需要很少的數(shù)字邏輯并可以極其快速。以下文檔涉及LDPC碼迭代解碼的各種版本的位翻轉(zhuǎn)算法- “An improvement on the modified weighted bit flippingdecodingalgorithm for LDPC codes(有關(guān)LDPC碼的已修改加權(quán)位翻轉(zhuǎn)解碼算法的改進)”,作者 Ming Jiang ;Chunming Zhao ;Zhihua Shi ;Yu Chen, IEEE 通信快訊,第 9 卷第 9 期,2005 年 9 月,第 814-816 頁;- “On the Error Correction of Regular LDPC Codes Using theFlippingAlgorithm (使用翻轉(zhuǎn)算法對常規(guī)LDPC碼進行錯誤糾正)”,作者Burshtein,D.,IEEE信息理論匯刊,第54卷第2期,2008年2月,第517-530頁;- “A Modification to Weighted Bit-Flipping Decoding Algorithm forLDPCCodes Based on Reliability Adjustment (根據(jù)可靠性調(diào)整對LDPC碼的加權(quán)位翻轉(zhuǎn)解碼算法的修改)”,作者 Dajun, Qian ;Ming Jiang ;Chunming Zhao ;Xiaofu Wu, 2008 年度 IEEE國際通信會議。ICC’08,2008年5月19-23日,第1161-1165頁。以下描述位翻轉(zhuǎn)算法的大概情況。具有長度N和維度K的二進制(N,K) LDPC碼通常由奇偶校驗矩陣H定義。H具有N個列和M個行,并且M > = N-K0 H的每個列對應于信息位或奇偶校驗位,每個行對應于校驗和。對于任何暫定位決策向量b,校驗和或校驗子的集合是向量s=bHT。在位翻轉(zhuǎn)算法中,解碼器使用二進制輸入序列b (即,讀出的閃存頁面)通過簡單的“異或”運算(即s=bHT)計算每個奇偶校驗。如果s中的對應位是O,則滿足奇偶校驗,如果對應位是1,則不滿足。如果涉及位的不滿足的校驗的數(shù)量超過固定翻轉(zhuǎn)閾值t,則計劃翻轉(zhuǎn)此位。然后在解碼過程的下一次迭代中使用翻轉(zhuǎn)后的位。當滿足所有奇偶校驗或達到預定最大迭代限制時,解碼算法將停止。因此,生成的位翻轉(zhuǎn)算法的偽代碼可以包括以下步驟i.使用s=bHT計算奇偶校驗。如果滿足所有這些奇偶校驗,則停止解碼。ii.否則,針對每個位找到不滿足的奇偶校驗的數(shù)量。依次將每個位視為目標。iii.如果不滿足目標位的大多數(shù)奇偶校驗等式,則在下一次解碼迭代之前翻轉(zhuǎn)此位。iv.重復步驟(i)到(iii)。上述算法提供了在二進制對稱通道上寫入的LDPC碼的滿意解碼結(jié)果。然而,需要提供一種改進LDPC碼解碼的方法。

發(fā)明內(nèi)容
根據(jù)第一方面,本發(fā)明體現(xiàn)為一種用于對在諸如閃存的采用二進制非對稱通道的存儲器上寫入的位序列進行解碼的方法,所述位序列通過低密度奇偶校驗碼或LDPC碼編碼,由此所述序列的每個位具有通過所述LDPC碼定義的對應奇偶校驗,所述方法包括-提供包括第一狀態(tài)和第二狀態(tài)的位狀態(tài)集合以及條件集合,其中當滿足條件時,更改位狀態(tài),所述條件集合包括用于將位狀態(tài)從所述第一狀態(tài)更改為所述第二狀態(tài)的第一條件和用于將位狀態(tài)從所述第二狀態(tài)更改為所述第一狀態(tài)的第二條件,其中所述第一條件和所述第二條件不同,-讀取所述位序列的每個位的值,并根據(jù)所讀取的值將每個位關(guān)聯(lián)到所述集合的相應狀態(tài),-對于所述位序列的目標位,評估條件,其中■根據(jù)所述目標位的狀態(tài)從所述條件集合中選擇條件,以及■使用計算與所述目標位對應的奇偶校驗的結(jié)果來評估所述條件,-確定滿足所述條件,-作為滿足所述條件的結(jié)果而更改所述目標位的狀態(tài),以及-根據(jù)所述目標位的狀態(tài)設(shè)置所述目標位的值。在各實施例中,所述方法可以包括以下一個或多個特征 -重復評估步驟,在所述評估步驟的每次重復中,所述目標位是所述序列的不同位;-重復所述評估步驟,直到計算所述奇偶校驗的結(jié)果指示滿足所有奇偶校驗或達到最大重復數(shù)為止;-所述位狀態(tài)集合包括所述第一狀態(tài)和所述第二狀態(tài),所述條件集合包括所述第一條件和所述第二條件,在關(guān)聯(lián)每個位的步驟中,如果讀取的位的值是0,則將位關(guān)聯(lián)到所述第一狀態(tài),如果讀取的位的值是1,則關(guān)聯(lián)到所述第二狀態(tài),在設(shè)置所述目標位的值的步驟中,如果所述目標位關(guān)聯(lián)到所述第一狀態(tài),則將所述目標位的值設(shè)置為0,如果所述目標位關(guān)聯(lián)到所述第二狀態(tài),則設(shè)置為I;
-只要不滿足對應于所述目標位的大多數(shù)奇偶校驗,則滿足所述第一條件,而只要不滿足對應于所述目標位的所有奇偶校驗,則滿足所述第二條件;-只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第一閾值,則滿足所述第一條件,而只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第二閾值,則滿足所述第二條件,所述第一閾值和所述第二閾值不同;-所述位狀態(tài)集合還包括第三狀態(tài)和第四狀態(tài),所述條件集合包括條件對的第一子集,其中對的一個條件是用于將位狀態(tài)從第i狀態(tài)更改為第j狀態(tài)的條件,該對的另一條件是用于將位狀態(tài)從所述第j狀態(tài)更改為所述第i狀態(tài)的條件,對的所述條件不同,并且所述第一條件和所述第二條件形成一對所述第一子集,所述條件集合還包括條件對的第二子集,其中對的一個條件是用于將位狀態(tài)從第k狀態(tài)更改為第I狀態(tài)的條件,該對的另一條件是用于將位狀態(tài)從所述第I狀態(tài)更改為所述第k狀態(tài)的條件,并且一對所述第二子集的所述條件相同;-所述條件集合針對在所述條件集合中沒有用于將位狀態(tài)從第m狀態(tài)更改為第η·狀態(tài)的條件還包括第三子集,所述第三子集包括用于將位狀態(tài)從所述第m狀態(tài)更改為所述第η狀態(tài)的至少一個條件;-其中只要不滿足與所述目標位對應的所有奇偶校驗中的全部或至少一個但少于大多數(shù)或大多數(shù)奇偶校驗,或者滿足與所述目標位對應的所有奇偶校驗,則滿足條件;-所述第一位狀態(tài)對應于要在所述存儲器上寫入的位的值是O的高置信度,所述第二狀態(tài)對應于要在所述存儲器上寫入的位的值是O的低置信度,所述第三狀態(tài)對應于要在所述存儲器上寫入的位的值是I的高置信度,所述第四狀態(tài)對應于要在所述存儲器上寫入的位的值是I的低置信度,并且條件的所述第一子集包括當不滿足與所述目標位對應的所有奇偶校驗中的至少一個但少于大多數(shù)奇偶校驗時滿足的所述第一條件、當不滿足與所述目標位對應的所有奇偶校驗時滿足的所述第二條件、當不滿足與所述目標位對應的所有奇偶校驗中的至少一個但少于大多數(shù)奇偶校驗時滿足的用于將位從所述第三狀態(tài)更改為所述第四狀態(tài)的第三條件、當不滿足與所述目標位對應的所有奇偶校驗時滿足的用于將位從所述第四狀態(tài)更改為所述第三狀態(tài)的第四條件,并且條件的所述第二子集包括當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第二狀態(tài)更改為所述第四狀態(tài)的第五條件、當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第四狀態(tài)更改為所述第二狀態(tài)的第六條件,并且條件的所述第三子集包括當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第一狀態(tài)更改為所述第四狀態(tài)的第七條件、當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第三狀態(tài)更改為所述第二狀態(tài)的第八條件;-根據(jù)通過對應位狀態(tài)確定的所述序列的位的值來執(zhí)行計算與所述目標位對應的奇偶校驗。根據(jù)另一方面,本發(fā)明體現(xiàn)為一種具有記錄在其上的計算機程序的計算機可讀存儲介質(zhì),所述計算機程序包括指令以便由計算機執(zhí)行,所述指令包括用于執(zhí)行上述方法的
>J-U ρ α裝直。根據(jù)另一方面,本發(fā)明體現(xiàn)為一種系統(tǒng),包括-適合于寫入通過LDPC碼編碼的位序列的存儲器,以及
-用于執(zhí)行上述方法的裝置。在各實施例中,所述存儲器是優(yōu)選地基于浮柵晶體管技術(shù)的閃存。參考下面列出的附圖,從以下對作為非限制性實例提供的本發(fā)明的實施例的說明,本發(fā)明的進一步特性和優(yōu)點將顯而易見。


圖1-2示出了二進制非對稱通道的實例;圖3示出了用于對位序列進行解碼的方法的一個實例的流程圖;圖4-5示出了用于對位序列進行解碼的方法的兩個實例的狀態(tài)集合以及條件集合的表不;
圖6示出了用于對位序列進行解碼的方法的仿真結(jié)果;圖7是根據(jù)本發(fā)明的一個實施例的計算機硬件的方塊圖。
具體實施例方式提供了一種用于對在存儲器上寫入的位序列進行解碼的計算機實現(xiàn)的方法。所述位序列通過低密度奇偶校驗(或LDPC)碼編碼,由此所述序列的位具有通過所述LDPC碼定義的對應奇偶校驗。所述方法包括提供包括第一狀態(tài)和第二狀態(tài)的位狀態(tài)集合以及條件集合。當滿足條件時,更改位狀態(tài)。所述條件集合包括至少第一條件和第二條件。所述第一條件用于將位狀態(tài)從所述第一狀態(tài)更改為所述第二狀態(tài)。所述第二條件用于將位狀態(tài)從所述第二狀態(tài)更改為所述第一狀態(tài)。所述第一條件和所述第二條件不同。所述方法包括讀取所述存儲器上的寫入位序列的每個位的值,以及根據(jù)所讀取的值將每個位關(guān)聯(lián)到所述集合的相應狀態(tài)。所述方法包括針對所述位序列的目標位評估條件。根據(jù)所述目標位的狀態(tài)從所述條件集合中選擇要評估的條件。所述評估步驟利用計算對應于所述目標位的奇偶校驗的結(jié)果。所述方法包括確定滿足所述條件以及作為滿足所述條件的結(jié)果而更改所述目標位的狀態(tài)的步驟。所述方法然后可以根據(jù)所述目標的狀態(tài)設(shè)置所述目標的值。針對讀取的位序列的每個位優(yōu)選地重復所述方法。最后,根據(jù)每個位的相應狀態(tài)設(shè)置所述序列的每個位的值。與傳統(tǒng)的位翻轉(zhuǎn)算法相比,此類方法為用于對通過LDPC碼編碼的位序列進行解碼的解決方案提供更好的性能,且只是略微增加了復雜性。通過對在存儲器上寫入的位序列進行解碼,意味著所述方法盡可能接近要寫入的位序列。所述解碼方法可以是更廣泛的方法的一部分,所述更廣泛的方法不僅包括所述位序列的解碼,而且還包括解碼之后例如借助將所述LDPC碼的位序列關(guān)聯(lián)到字的字典來對所述位序列進行解釋。因為所述位序列通過LDPC碼編碼,這意味著要寫入的位序列的值序列是由所述LDPC碼授權(quán)的序列,所以所述序列的位具有由所述LDPC碼定義的對應奇偶校驗,如從LDPC編碼本身所知道的那樣。在下面,所述序列由(V…、bN)表示。對于所述序列的至少某些位bi;存在涉及IDi和其他位的運算(即,奇偶校驗),例如J個運算,每個運算涉及k(j)個其他位(b/、…、bk(/)并具有預期結(jié)果,并且j從I到J。運算是“異或”運算,它們可以寫成h+b/+…+bk‘并預計等于O。在下面,奇偶校驗可以指運算的結(jié)果。當?shù)扔陬A期值時,認為滿足奇偶校驗,當?shù)扔谝馔庵禃r,認為不滿足奇偶校驗。
所述方法包括提供位狀態(tài)集合以及條件集合,所述位狀態(tài)集合具有包括第一狀態(tài)和第二狀態(tài)的至少兩個不同狀態(tài)。當滿足條件時,更改位狀態(tài)。所述條件集合包括包含第一條件和第二條件的至少兩個條件。所述第一條件是用于將位狀態(tài)從所述第一狀態(tài)更改為所述第二狀態(tài)的條件。所述第二條件是用于將位狀態(tài)從所述第二狀態(tài)更改為所述第一狀態(tài)的條件。所述第一條件和所述第二條件不同。狀態(tài)是在所述方法中使用的中間變量并與位關(guān)聯(lián)。位的狀態(tài)鏈接到位的值,因此允許檢索位的值,如在下面說明的那樣。條件是用于更改位狀態(tài)的先決條件。當評估為滿足(即,履行)條件時,將位的狀態(tài)從一個狀態(tài)更改為另一個狀態(tài)。對于狀態(tài)為Si的位bi;條件可以是布爾函數(shù),具體取決于匕和/或Si。當函數(shù)的求值結(jié)果是true (對應false)時,則認為滿足(對應不滿足)條件。在這種情況下,所述第一條件和所述第二條件不同的事實暗示至少兩個函數(shù)是這樣的函數(shù)針對相同的輸入,它們將提供不同的結(jié)果。所述方法包括讀取所述存儲器上的寫入位序列的每個位的值,以及根據(jù)所讀取的值將每個位關(guān)聯(lián)到所述集合的相應狀態(tài)。位的值以傳統(tǒng)方式定義它是其邏輯級別并等于I或O。后面將提供有關(guān)如何執(zhí)行關(guān)聯(lián)的實例。 所述方法包括根據(jù)目標位^的狀態(tài)評估從所述條件集合選擇的條件,所述目標位是所述序列的一個位,例如所述序列的第一位。根據(jù)所述目標位的狀態(tài)s/執(zhí)行所述選擇將確保不評估沒有將狀態(tài)s/更改為另一個狀態(tài)的條件,即,將狀態(tài)S= 6 S*/更改為另一個狀態(tài)的條件。這將防止評估不必要的條件并加快所述方法的速度。在各實施例中,所述評估步驟包括計算對應于所述目標位的奇偶校驗。通常,在選擇針對其評估條件的目標位之后執(zhí)行計算所述奇偶校驗。然而,在其他實施例中,計算與所述序列的所有位對應的奇偶校驗可以在選擇給定目標位之前執(zhí)行,即基于由所涉及的位的對應狀態(tài)確定的當前位值執(zhí)行。因此,通常所述評估步驟可以被認為利用計算對應于(至少)所述目標位的奇偶校驗的結(jié)果。具體地說,可以進行涉及不滿足和/或滿足的奇偶校驗的數(shù)量的比較。例如,可以將不滿足的奇偶校驗和/或滿足的奇偶校驗的數(shù)量與閾值比較。以此方式,所述評估允許快速執(zhí)行解碼。當評估為滿足條件時,所述方法作為滿足所述條件的結(jié)果而更改所述目標位的狀態(tài)。這確保在所述方法結(jié)束時將最適當?shù)臓顟B(tài)關(guān)聯(lián)到所述目標位。所述方法然后可以根據(jù)相應位的狀態(tài)設(shè)置所述目標位(可能是所述序列的每個位)的值。此步驟實際上是確定要寫入的位的值,而無論讀取的內(nèi)容為何。更改位以及將最適當?shù)臓顟B(tài)關(guān)聯(lián)到位的可能性允許在設(shè)置每個位的值時,(至少部分地)檢索位的“正確”值??梢愿鶕?jù)所述目標位的狀態(tài)以及對應于所述目標位的奇偶校驗中涉及的其他位的狀態(tài)來執(zhí)行奇偶校驗的計算。在上面針對計算奇偶校驗提供的公式h+b/+…+bk(j)i中,使用的值bpb/、…、bk(^可以是要根據(jù)對應位狀態(tài)針對每個位設(shè)置的值。這將在后面進行說明。如可以看到的,不需要求解復雜的方程。因此,與現(xiàn)有技術(shù)的位翻轉(zhuǎn)算法相比,所述方法具有低復雜性并且尤其快速。在現(xiàn)有技術(shù)的傳統(tǒng)位翻轉(zhuǎn)算法中,只要不滿足對應于所述目標位的大多數(shù)奇偶校驗,則翻轉(zhuǎn)位的值。換言之,只存在一個條件。在本方法中,提供了一個條件集合,其具有至少兩個不同的條件。具有不同的條件例如允許從通道的非對稱性中受益。因此,根據(jù)位的當前狀態(tài),是否翻轉(zhuǎn)位的決定是不同的。當針對位重復時,所述方法確保最后觀察到的錯誤率(錯誤率表示在設(shè)置所述序列的目標位和/或其他位的值的步驟之后由所述方法輸出的位序列與要寫入的位序列之間的差異)低于傳統(tǒng)的位翻轉(zhuǎn)算法。因此,所述方法改進了位翻轉(zhuǎn)算法(即,減少錯誤率),只是在復雜性方面具有線性變化。如上所述,存儲器可以采用二進制非對稱通道。它例如可以是閃存。在這種情況下,參考圖I和2,所述方法的非對稱性(S卩,所述集合的兩個條件不同的事實)尤其減少錯誤率。因此,條件可以適應于位的狀態(tài)。其理念是,當讀取I時,意味著要寫入的位是I的可能性高。實際上,通道將O錯誤地轉(zhuǎn)換為I的概率很低。在通常情況下,更好的是用于將I更改為O的條件不同于用于將O更改為I的條件。具有兩個不同條件的條件集合確保已對此進行驗證。原則上,可以在二進制非對稱通道(BAC)上使用位翻轉(zhuǎn)算法而無需修改,但由于BAC的特殊性質(zhì)會出現(xiàn)明顯的性能下降,尤其是在b相對較大時(如閃存的情況)。參考圖3,其示出本發(fā)明的一個實施例的流程圖。首先,提供位狀態(tài)集合10,其例如包括第一狀態(tài)和第二狀態(tài)。而且,提供條件集合20。如所述的那樣,如此設(shè)計條件,以便在評估為滿足條件時,更改位狀態(tài)。條件至少包括
-第一條件,即,關(guān)于是否將位狀態(tài)從所述第一狀態(tài)更改為所述第二狀態(tài),以及-第二條件,用于將位狀態(tài)從所述第二狀態(tài)更改為所述第一狀態(tài)。然而所述第二條件不同于所述第一條件。如示出的,讀取寫入的位序列的每個位的值。然后根據(jù)所讀取的位的值將對應的位關(guān)聯(lián)到相應狀態(tài)(步驟SlOO)。然后,對于所述序列的給定目標位30,將評估條件(步驟S200)。要指出的是-根據(jù)所述目標位的狀態(tài),從條件集合20中選擇所述條件;以及-評估所述條件利用計算對應于所述目標位的奇偶校驗的結(jié)果,如前所述。要指出的是,可以在選擇目標位30之前計算所有奇偶校驗。相反,可以在選擇所述目標位之后、在評估所述條件本身之前計算對應于所述目標位的奇偶校驗。這將下面更詳細地討論。接下來,如果確定(步驟S300)滿足選定條件,則相應地更改所述目標位的狀態(tài)(步驟S400)。否則,不更改所述目標位的狀態(tài)(步驟S300a)。最后,可以根據(jù)所述目標位的相應狀態(tài)設(shè)置所述目標位的值(步驟S500 )。優(yōu)選地,重復所述過程,如圖3中所示(步驟S600)。于是在每次重復中目標位30都不同(例如,所述序列中的下一位),以便例如處理所述序列中的所有位。每次重復包括評估適當選擇的條件、確定是否滿足所述條件以及更改當前處理的位的狀態(tài)(如有必要)。在一個實施例中,每次重復需要計算對應于所述目標位的奇偶校驗。如所述的那樣,計算奇偶校驗涉及可以從所述序列的位的當前狀態(tài)中檢索的位值。然后,可以根據(jù)目標位的當前狀態(tài)(在完成所述重復時獲得)設(shè)置當前目標位的值(如有必要)。此類實施例對應于圖3的流程圖。在一種變型中,首先根據(jù)所述序列中的位的當前值計算奇偶校驗,這些位的當前值自身通過對應狀態(tài)確定。然后,可以重復地處理所述序列的所有位,即,每次重復包括評估適當選擇的條件、確定是否滿足所述條件以及更改當前處理的位的狀態(tài)(如有必要)。最后,完成所述位重復時,根據(jù)每個位的當前狀態(tài)設(shè)置所述序列的每個位的值。這具有的優(yōu)點是不需要在所述位重復中針對每個位重復計算奇偶檢驗,從而節(jié)省時間。
在所有情況下,所述評估步驟都利用計算對應于所述目標位的奇偶校驗的結(jié)果。在各實施例中,進一步重復所述過程直到滿足所有奇偶校驗,即,如奇偶校驗計算的結(jié)果所指示的那樣。在變型中,重復所述過程直到達到最大重復數(shù)量,以便確保收斂。因此,所述重復確保最后將所述序列的大多數(shù)位關(guān)聯(lián)到最適當?shù)臓顟B(tài)。因此,在設(shè)置位的值的步驟中,設(shè)置的值可能是最準確的。以下參考圖4和5討論所述方法的兩個實施例,這兩個實施例說明了相應的位狀態(tài)集合以及條件集合的實際實施方式。在圖4的實例(也稱為“修改的位翻轉(zhuǎn)算法”)中,所述狀態(tài)集合包括第一狀態(tài)SI和第二狀態(tài)S2。換言之,在此只有兩個位狀態(tài)。這允許位的狀態(tài)和值之間的雙射對應,假設(shè)位具有二進制值,例如I或O (這是在下面考慮的內(nèi)容)。例如,SI對應于0,S2對應于I。所述條件集合包括第一條件Cl和第二條件C2。將每個位關(guān)聯(lián)到相應狀態(tài)時,如果讀取的位的值是0,則將位關(guān)聯(lián)到第一狀態(tài)SI,如果讀取的位的值是1,則將位關(guān)聯(lián)到第二狀態(tài)S2。如 上所述,依賴于兩個條件。第一條件Cl用于將位狀態(tài)從SI更改為S2,第二條件C2用于將位狀態(tài)從S2更改為SI。然而,所述第一條件和所述第二條件不同,例如以便從通道的非對稱性中受益。完成評估過程時,如果所述目標位的狀態(tài)是第一狀態(tài)SI,則將所述目標位的值設(shè)置為0,如果所述目標位的狀態(tài)是第二狀態(tài)S2,則將所述目標位的值設(shè)置為I。此類解碼方法具有尤其低的復雜性。因此,在此實例中,狀態(tài)SI和S2是中間變量,并且在位值和狀態(tài)之間具有完美對應。更詳細地說,只要不滿足對應于所述目標位的大多數(shù)奇偶校驗,或者只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第一閾值,則可滿足第一條件Cl。只要不滿足對應于所述目標位的所有奇偶校驗,或者只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第二閾值t2,則可滿足第二條件C2。如果使用,則第一閾值和第二閾值t2不同。通常,因為SI對應于O而S2對應于1,所以h <t2。備選地,可以將比例用于比較。可以在上述方法的范圍內(nèi)構(gòu)想許多其他適合的條件。通常,只要不滿足對應于所述目標位的所有奇偶校驗的全部或至少一個但少于大多數(shù)或大多數(shù),或者滿足對應于所述目標位的所有奇偶校驗,則也可滿足條件。參考第二實例討論其他類型的條件。應用于兩個實例中任意一個的條件同樣可以應用于另一實例。所述閾值的值可以依賴于通道的值a和b。這確保依賴于在其上執(zhí)行所述方法的存儲器而改變所述方法。參考圖5討論執(zhí)行所述方法的第二實例(也稱為“2位-位翻轉(zhuǎn)算法”)。如圖5中所示,所述位狀態(tài)集合還可以包括第三狀態(tài)S3和第四狀態(tài)S4。所述條件集合例如可以包括條件對的第一子集,例如KC1,C2),(C3,C4)}。正式地說,一對(Cl, C2)或(C3, C4)的一個條件(Cl或C2)是用于將位狀態(tài)從第i狀態(tài)更改為第j狀態(tài)的條件。該對的另一條件(C2或C4)是用于將位狀態(tài)從所述第j狀態(tài)更改為所述第i狀態(tài)的條件。在此,一對的所述條件不同;第一條件Cl和第二條件C2形成第一子集{(Cl, C2),(C3, C4)}的一對(Cl, C2)。所述第i狀態(tài)可以是SI或S3,所述第j狀態(tài)可以是S2或S4。在圖5的實例中,所述條件集合還包括條件對的第二子集,例如{(C5,C6)},其中對{(C5,C6)}的一個條件C5是用于將位狀態(tài)從第k狀態(tài)(例如S2)更改為第I狀態(tài)(例如S4)的條件,另一條件C6是用于將位狀態(tài)從所述第I狀態(tài)更改為所述第k狀態(tài)的條件。與所述條件對的第一子集不同,在此所述條件相同。在圖5的情況中,第二子集只有一對(C5,C6)。因此,在此情況中參數(shù)k和I可以取值5或6。然而,所述第二子集通??梢跃哂卸鄠€對,例如如果存在多于四個狀態(tài)。此類方法通過引入中間狀態(tài)改善了狀態(tài)之間的轉(zhuǎn)變。所述第一子集在不同狀態(tài)之間引入非對稱性。非對稱性和中間狀態(tài)的組合允許達到更接近要寫入的序列的最終結(jié)果。所述條件集合還可以包括諸如{(C7,CS)}之類的第三子集,其包括用于將位狀態(tài)從第m狀態(tài)(例如SI或S3)更改為第η狀態(tài)(例如分別為S4或S2)的至少一個條件C7或CS。要指出的是,在此情況中沒有對應條件,即,用于將位狀態(tài)從所述第m狀態(tài)更改為所述第η狀態(tài)的條件。這為所述方法引入進一步的非對稱性,并進一步改進實踐中的準確性。如下表I和圖6中的情況,第一位狀態(tài)SI可以對應于要在存儲器上寫入的位的值是O的高置信度。第二狀態(tài)S2可以對應于要在存儲器上寫入的位的值是O的低置信度。第三狀態(tài)S3可以對應于要在存儲器上寫入的位的值是I的高置信度。第四狀態(tài)S4可以對應于要在存儲器上寫入的位的值是I的低置信度。在此類情況下,將每個位關(guān)聯(lián)到所述集合的相應狀態(tài)時,如果讀取的位值是0,則可以將位關(guān)聯(lián)到狀態(tài)SI或S2,如果讀取的位值是1, 則關(guān)聯(lián)到S3或S4。在設(shè)置所述序列的每個位的值的步驟中,如果位的狀態(tài)是SI或S2,則可以將值設(shè)置為0,如果狀態(tài)是S3或S4,則設(shè)置為I。如在圖4的實例中,因此可以在位可以采取的狀態(tài)和兩個值O或I之間具有對應(通常將是這種情況)。此對應可以進一步用于上面針對計算奇偶校驗提供的公式bjb/+…+bk(j)i中。實際上,如果位bpb/、···的狀態(tài)是SI或S2,則使用的值可以是0,如果位bpb/、…、Κ(/的狀態(tài)是S3或S4,則可以是I。如此第二實例和所述第一實例中所示,因此在通常情況下,可以根據(jù)例如由對應位狀態(tài)確定的所述序列的位的值來執(zhí)行計算對應于所述目標位的奇偶校驗。在所述方法的第二實例中,所述狀態(tài)集合可以包括四個狀態(tài),在這種情況下,對于每個狀態(tài),可以通過兩位邏輯實現(xiàn)位狀態(tài),從而與所述第一實例相比產(chǎn)生開銷。應指出,所述方法的第二實例可以通過相應地修改所述條件集合而用于諸如二進制對稱通道(BSC)之類的其他通道模型。下表I針對特定實例提供了廣泛的條件集合以及對應的狀態(tài)集合。再次地,實現(xiàn)此類狀態(tài)集合以及條件集合具有相對低的復雜性,并在實踐中獲得良好的效果。
權(quán)利要求
1.一種用于對在諸如閃存的采用二進制非對稱通道的存儲器上寫入的位序列進行解碼的方法,所述位序列通過低密度奇偶校驗碼或LDPC碼編碼,由此所述序列的每個位具有通過所述LDPC碼定義的對應奇偶校驗,所述方法包括 -提供包括第一狀態(tài)(SI)和第二狀態(tài)(S2)的位狀態(tài)集合(10)以及條件集合(20),其中當滿足條件時,更改位狀態(tài),所述條件集合包括用于將位狀態(tài)從所述第一狀態(tài)更改為所述第二狀態(tài)的第一條件(Cl)和用于將位狀態(tài)從所述第二狀態(tài)更改為所述第一狀態(tài)的第二條件(C2 ),其中所述第一條件和所述第二條件不同, -讀取所述位序列的每個位的值,并根據(jù)所讀取的值將每個位關(guān)聯(lián)到所述集合的相應狀態(tài)(S100), -對于所述位序列的目標位(30 ),評估(S200 )條件,其中 ■根據(jù)所述目標位的狀態(tài)從所述條件集合中選擇條件,以及 ■使用計算與所述目標位對應的奇偶校驗的結(jié)果來評估所述條件, -確定(S300)滿足所述條件, -作為滿足所述條件的結(jié)果而更改(S400)所述目標位的狀態(tài),以及 -根據(jù)所述目標位的狀態(tài)設(shè)置(S500)所述目標位的值。
2.根據(jù)權(quán)利要求I的方法,其中重復(S600)評估步驟,在所述評估步驟的每次重復中,所述目標位(30)是所述序列的不同位。
3.根據(jù)權(quán)利要求2的方法,其中重復所述評估步驟,直到計算所述奇偶校驗的結(jié)果指示滿足所有奇偶校驗或達到最大重復數(shù)為止。
4.根據(jù)權(quán)利要求1-3中的任一權(quán)利要求的方法,其中 -所述位狀態(tài)集合包括所述第一狀態(tài)和所述第二狀態(tài), -所述條件集合包括所述第一條件和所述第二條件, -在關(guān)聯(lián)每個位的步驟中,將位關(guān)聯(lián)到 ■所述第一狀態(tài),如果讀取的位的值是0, ■所述第二狀態(tài),如果讀取的位的值是1, -在設(shè)置所述目標位的值的步驟中,將所述目標位的值設(shè)置為 ■0,如果所述目標位關(guān)聯(lián)到所述第一狀態(tài), ■1,如果所述目標位關(guān)聯(lián)到所述第二狀態(tài)。
5.根據(jù)權(quán)利要求4的方法,其中只要不滿足對應于所述目標位的大多數(shù)奇偶校驗,則滿足所述第一條件,而只要不滿足對應于所述目標位的所有奇偶校驗,則滿足所述第二條件。
6.根據(jù)權(quán)利要求4的方法,其中只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第一閾值,則滿足所述第一條件,而只要不滿足的對應于所述目標位的奇偶校驗的數(shù)量高于第二閾值,則滿足所述第二條件,所述第一閾值和所述第二閾值不同。
7.根據(jù)權(quán)利要求1-3中的任一權(quán)利要求的方法,其中 -所述位狀態(tài)集合還包括第三狀態(tài)(S3 )和第四狀態(tài)(S4 ), -所述條件集合包括條件對的第一子集,其中 ■對的一個條件是用于將位狀態(tài)從第i狀態(tài)更改為第j狀態(tài)的條件, ■該對的另一條件是用于將位狀態(tài)從所述第j狀態(tài)更改為所述第i狀態(tài)的條件,■對的所述條件不同,以及 ■所述第一條件和所述第二條件形成一對所述第一子集, -所述條件集合還包括條件對的第二子集,其中 ■對的一個條件是用于將位狀態(tài)從第k狀態(tài)更改為第I狀態(tài)的條件, ■該對的另一條件是用于將位狀態(tài)從所述第I狀態(tài)更改為所述第k狀態(tài)的條件,以及 ■一對所述第二子集的所述條件相同。
8.根據(jù)權(quán)利要求7的方法,其中所述條件集合針對在所述條件集合中沒有用于將位狀態(tài)從第m狀態(tài)更改為第η狀態(tài)的條件還包括第三子集,所述第三子集包括用于將位狀態(tài)從所述第m狀態(tài)更改為所述第η狀態(tài)的至少一個條件。
9.根據(jù)權(quán)利要求8的方法,其中只要不滿足與所述目標位對應的所有奇偶校驗中的全部或至少一個但少于大多數(shù)或大多數(shù)奇偶校驗,或者滿足與所述目標位對應的所有奇偶校驗,則滿足條件。
10.根據(jù)權(quán)利要求8的方法,其中 -所述第一位狀態(tài)對應于要在所述存儲器上寫入的位的值是O的高置信度, -所述第二狀態(tài)對應于要在所述存儲器上寫入的位的值是O的低置信度, -所述第三狀態(tài)對應于要在所述存儲器上寫入的位的值是I的高置信度, -所述第四狀態(tài)對應于要在所述存儲器上寫入的位的值是I的低置信度, 并且條件的所述第一子集包括 -當不滿足與所述目標位對應的所有奇偶校驗中的至少一個但少于大多數(shù)奇偶校驗時滿足的所述第一條件、 -當不滿足與所述目標位對應的所有奇偶校驗時滿足的所述第二條件、 -當不滿足與所述目標位對應的所有奇偶校驗中的至少一個但少于大多數(shù)奇偶校驗時滿足的用于將位從所述第三狀態(tài)更改為所述第四狀態(tài)的第三條件、 -當不滿足與所述目標位對應的所有奇偶校驗時滿足的用于將位從所述第四狀態(tài)更改為所述第三狀態(tài)的第四條件, 并且條件的所述第二子集包括 -當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第二狀態(tài)更改為所述第四狀態(tài)的第五條件、 -當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第四狀態(tài)更改為所述第二狀態(tài)的第六條件, 并且條件的所述第三子集包括 -當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第一狀態(tài)更改為所述第四狀態(tài)的第七條件、 -當不滿足與所述目標位對應的所有奇偶校驗的大多數(shù)時滿足的用于將位狀態(tài)從所述第三狀態(tài)更改為所述第二狀態(tài)的第八條件。
11.根據(jù)權(quán)利要求1-10中的任一權(quán)利要求的方法,其中根據(jù)通過對應位狀態(tài)確定的所述序列的位的值來執(zhí)行計算與所述目標位對應的奇偶校驗。
12.—種具有記錄在其上的計算機程序的計算機可讀存儲介質(zhì),所述計算機程序包括指令以便由計算機執(zhí)行,所述指令包括用于執(zhí)行權(quán)利要求1-11中的任一權(quán)利要求的方法的裝置。
13.—種系統(tǒng),包括 -適合于寫入通過LDPC碼編碼的位序列的存儲器;以及 -用于執(zhí)行根據(jù)權(quán)利要求1-11中的任一權(quán)利要求的方法的裝置。
14.根據(jù)權(quán)利要求13的系統(tǒng),其中所述存儲器是優(yōu)選地基于浮柵晶體管技術(shù)的閃存。
全文摘要
提供了一種用于對通過LDPC碼編碼的位序列進行解碼的方法。所述方法包括提供包括第一狀態(tài)和第二狀態(tài)的位狀態(tài)集合,以及包括第一條件和第二條件的用于更改位狀態(tài)的條件集合。所述第一條件和所述第二條件不同。所述方法包括讀取所述序列的每個位的值、根據(jù)所讀取的值將每個位關(guān)聯(lián)到所述集合的相應狀態(tài)、確定滿足評估的條件,以及作為滿足所述條件的結(jié)果而更改目標位的狀態(tài)。所述方法然后可以根據(jù)目標位的狀態(tài)設(shè)置所述序列的所述目標位的值。與傳統(tǒng)的位翻轉(zhuǎn)算法相比,此類方法為用于對通過LDPC碼編碼的位序列進行解碼的解決方案提供更好的性能,且只是略微增加了復雜性。
文檔編號H03M13/11GK102893529SQ201180024635
公開日2013年1月23日 申請日期2011年5月25日 優(yōu)先權(quán)日2010年5月31日
發(fā)明者E·S·埃萊夫特里烏, R·哈斯, 胡曉宇, D·V·源 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汉寿县| 中牟县| 麻阳| 中卫市| 临桂县| 高青县| 定南县| 江北区| 策勒县| 桂东县| 广安市| 桐柏县| 平乡县| 介休市| 鄂伦春自治旗| 石屏县| 惠安县| 贵州省| 丰都县| 阿克| 行唐县| 游戏| 渭源县| 陆丰市| 隆尧县| 栾川县| 喀喇| 丰县| 驻马店市| 漳平市| 翁源县| 普安县| 额敏县| 山东| 江西省| 甘孜| 越西县| 华容县| 凉城县| 陆河县| 元朗区|