亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于閃存錯(cuò)誤區(qū)間的ldpc糾錯(cuò)編碼方法

文檔序號(hào):6767250閱讀:1099來(lái)源:國(guó)知局
一種基于閃存錯(cuò)誤區(qū)間的ldpc糾錯(cuò)編碼方法
【專利摘要】本發(fā)明公開(kāi)了一種基于閃存錯(cuò)誤區(qū)間的LDPC糾錯(cuò)編碼方法,根據(jù)固態(tài)硬盤信道當(dāng)前的差錯(cuò)率,計(jì)算出準(zhǔn)確的錯(cuò)誤區(qū)間;利用錯(cuò)誤區(qū)間定位可能的錯(cuò)誤位置;根據(jù)Bit-Flipping方法譯碼準(zhǔn)則翻轉(zhuǎn)已定位為錯(cuò)誤位置中的位。本發(fā)明解決了在高速存儲(chǔ)系統(tǒng)中單純使用軟譯碼的高延遲問(wèn)題,消除了Bit-Flipping方法硬譯碼過(guò)程中錯(cuò)誤碼字的傳播,提高了糾錯(cuò)能力和算法執(zhí)行效率。
【專利說(shuō)明】-種基于閃存錯(cuò)誤區(qū)間的LDPC糾錯(cuò)編碼方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及針對(duì)NAND閃存系統(tǒng)的LPDC糾錯(cuò)編碼領(lǐng)域,特別是一種基于閃存錯(cuò)誤 區(qū)間的LDPC糾錯(cuò)編碼方法。

【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)和社會(huì)各領(lǐng)域信息化系統(tǒng)的迅猛發(fā)展,數(shù)據(jù)的爆炸式增長(zhǎng)使得大容量 存儲(chǔ)系統(tǒng)在可靠性和性能等方面均面臨巨大的挑戰(zhàn)。以NAND Flash作為存儲(chǔ)介質(zhì)的固態(tài) 盤(Solid-State Drive, SSD)具有高性能、低功耗等特點(diǎn),已經(jīng)逐步應(yīng)用于軍事、車載、航空 等多個(gè)領(lǐng)域,為構(gòu)建大容量存儲(chǔ)系統(tǒng)提供了更多的發(fā)展機(jī)遇,采用Flash介質(zhì)構(gòu)建高容錯(cuò)、 高效能的大容量固態(tài)存儲(chǔ)系統(tǒng),是存儲(chǔ)系統(tǒng)的主要發(fā)展趨勢(shì)之一。盡管研究者們針對(duì)固態(tài) 盤展開(kāi)了多方面的研究,取得了一系列成果,但是固態(tài)盤的糾錯(cuò)編碼技術(shù)卻仍然是沿襲磁 存儲(chǔ)系統(tǒng)的傳統(tǒng)ECC糾錯(cuò)方法,尚未針對(duì)Flash介質(zhì)和固態(tài)盤的差錯(cuò)特性進(jìn)行深入研究。
[0003] 另外隨著云計(jì)算應(yīng)用的不斷擴(kuò)大,更多IT廠商紛紛建立自己的數(shù)據(jù)中心,不僅僅 是互聯(lián)網(wǎng)企業(yè),一些傳統(tǒng)的IT廠商也開(kāi)始著重對(duì)于數(shù)據(jù)中心的開(kāi)發(fā)。由于數(shù)據(jù)中心的規(guī)模 龐大,數(shù)以萬(wàn)計(jì)的存儲(chǔ)設(shè)備帶來(lái)能耗成本巨大,且I/O性能瓶頸問(wèn)題突出,這給了固態(tài)硬盤 廣闊的市場(chǎng)空間,固態(tài)存儲(chǔ)系統(tǒng)的低功耗、高性能、低噪聲等特點(diǎn)為大規(guī)模數(shù)據(jù)中心的發(fā)展 提供了更大的空間,成為未來(lái)數(shù)據(jù)中心或云計(jì)算的首選配置,因此,采用高性能固態(tài)存儲(chǔ)系 統(tǒng)構(gòu)建大規(guī)模數(shù)據(jù)中心是存儲(chǔ)系統(tǒng)未來(lái)的主要發(fā)展趨勢(shì)之一。IDC的研究報(bào)告預(yù)計(jì)固態(tài)存 儲(chǔ)系統(tǒng)的銷售額從2010年(24億美金)開(kāi)始將以每年105%的速度增長(zhǎng),且將達(dá)到100億 美金/年,被IDC評(píng)為存儲(chǔ)領(lǐng)域十大新技術(shù)之一。
[0004] 然而,隨著Flash工藝深入到25nm甚至以下,且結(jié)構(gòu)從SLC到MLC再到TLC,存儲(chǔ) 容量越來(lái)越大,數(shù)據(jù)差錯(cuò)率也越來(lái)越高,目前固態(tài)存儲(chǔ)系統(tǒng)的數(shù)據(jù)容錯(cuò)卻仍然依賴于傳統(tǒng) 磁存儲(chǔ)系統(tǒng)的一些糾錯(cuò)技術(shù),不完全符合固態(tài)存儲(chǔ)介質(zhì)的技術(shù)特點(diǎn),難以充分發(fā)揮其性能 優(yōu)勢(shì)。因此,研究符合固態(tài)存儲(chǔ)系統(tǒng)隨機(jī)差錯(cuò)特性的糾錯(cuò)編碼技術(shù),并研發(fā)高容錯(cuò)的糾錯(cuò)編 碼芯片,對(duì)于確保大容量固態(tài)存儲(chǔ)系統(tǒng)的可靠性,具有十分重要的意義。
[0005] LDPC 碼即 Low Density Parity Check Code,是由 Gallager 由上世紀(jì) 60 年代提 出的一類基于奇偶校驗(yàn)矩陣定義的線性分組碼,因其校驗(yàn)矩陣含有少量的非零元素,因而 得其名。LDPC碼因其編碼率高,譯碼速度快,不可檢測(cè)錯(cuò)誤少,硬件實(shí)現(xiàn)簡(jiǎn)單以及發(fā)生錯(cuò)誤 平臺(tái)比較低等很多優(yōu)點(diǎn)成為近些年來(lái)研究的熱點(diǎn)。
[0006] Bit-Flipping是LDPC的一類代表性硬譯碼算法,有很多版本,基本思想主要是基 于Gallager提出的硬譯碼,根據(jù)信息位的不滿足方程數(shù)與滿足方程數(shù)的對(duì)比,進(jìn)行翻轉(zhuǎn)判 決。由于Bit-Flipping譯碼過(guò)程只有簡(jiǎn)單運(yùn)算,其特點(diǎn)是硬件開(kāi)銷小、計(jì)算復(fù)雜度小、運(yùn)算 速度快。
[0007] Zhao 對(duì)傳統(tǒng)的 Bit-Flipping算法進(jìn)行了改進(jìn),稱為 NBF (Novel Bit-Flipping)算 法,NFB解決了傳統(tǒng)算法在譯碼過(guò)程中的全局搜索,采用的方法是通過(guò)動(dòng)態(tài)改變翻轉(zhuǎn)閥值, 實(shí)驗(yàn)表明該算法能效地提高譯碼速度,同時(shí)節(jié)約硬件開(kāi)銷。
[0008] Alami 等人在 Sum-Product 算法后級(jí)聯(lián)了 Bit-Flipping 算法,由于 Bit-Flipping 譯碼算法的譯碼復(fù)雜度很小,因此該方法以少量的復(fù)雜度增加為代價(jià)將Sum-Product算法 的譯碼性能改進(jìn)約0. 2dB。
[0009] Yang等人采用了將吸收集中某一比特的數(shù)值固定,其余比特正常參與譯碼運(yùn)算的 方法,有效的降低了 LDPC碼的錯(cuò)誤平臺(tái),同時(shí)提出了一種利用運(yùn)算估計(jì)錯(cuò)誤平臺(tái)位置的方 法,該方法可以對(duì)小于10-8量級(jí)的誤平臺(tái)的位置進(jìn)行算法分析。
[0010] Wu等根據(jù)校驗(yàn)方程滿足與否,采用不同修正因子對(duì)最小和算法進(jìn)行修正,在低信 噪比的條件下,得到了比采用單一修正因子更好的譯碼性能,但是該算法在應(yīng)用于碼長(zhǎng)較 小的LDPC碼時(shí)存在比較高的地板效應(yīng),即在較高信噪比條件下仍有大于10-6量級(jí)的誤碼 率。
[0011] Daud以IEEE 802. 16e中的LDPC碼為例比較了置信傳播算法、最小和算法和待修 正的最小和算法的譯碼性能,實(shí)驗(yàn)結(jié)果表明,修正的最小和算法可以獲得接近置信傳播算 法的譯碼性能。
[0012] 如上所述,這些研究者從不同方面對(duì)LDPC碼的譯碼算法進(jìn)行了研究,在特定的條 件下,都獲得了比較好的譯碼性能。
[0013] Hard-decision譯碼以簡(jiǎn)單的0和1作為輸入,譯碼過(guò)程只有簡(jiǎn)單運(yùn)算,因此其特 點(diǎn)是硬件開(kāi)銷小、計(jì)算復(fù)雜度小、運(yùn)算速度快。但是它有一個(gè)致命的缺現(xiàn),糾錯(cuò)能力差,原因 如下:第一,基于異或運(yùn)算校驗(yàn)矩陣,在譯碼過(guò)程中,偶數(shù)個(gè)位翻轉(zhuǎn)會(huì)引入錯(cuò)誤的伴隨式信 息,并且錯(cuò)誤的伴隨式信息在后續(xù)譯碼過(guò)程中將會(huì)傳播,導(dǎo)致單純依賴伴隨式信息難以準(zhǔn) 確譯碼;第二,在hard-decision譯碼中位翻轉(zhuǎn)搜索是全局的,但事實(shí)上固態(tài)硬盤的錯(cuò)誤率 數(shù)量級(jí)生命周期內(nèi)一般在1(Γ-15-1(Γ-2之間,全局位的搜索是沒(méi)有必要的;第三,硬判決 操作會(huì)損失掉大部分的信道信息,導(dǎo)致信道信息利用率很低。
[0014] 混合譯碼是一種比較理想的譯碼的方式,因?yàn)榇朔N方法綜合了 soft-decision的 軟信息和hard-decision的譯碼速度。但是目前研究效果不是特別理想,不能同時(shí)很好地 克服糾錯(cuò)能力和運(yùn)算速度相互制約的缺現(xiàn)。


【發(fā)明內(nèi)容】

[0015] 本發(fā)明所要解決的技術(shù)問(wèn)題是,針對(duì)現(xiàn)有技術(shù)不足,提供一種基于閃存錯(cuò)誤區(qū) 間的LDPC糾錯(cuò)編碼方法,解決在高速存儲(chǔ)系統(tǒng)中單純使用軟譯碼的高延遲問(wèn)題,消除 Bit-Flipping方法硬譯碼過(guò)程中錯(cuò)誤碼字的傳播,提高糾錯(cuò)能力和算法執(zhí)行效率。
[0016] 為解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是:一種基于閃存錯(cuò)誤區(qū)間的 LDPC糾錯(cuò)編碼方法,包括以下步驟:
[0017] 1)根據(jù)固態(tài)硬盤信道當(dāng)前的差錯(cuò)率,計(jì)算出準(zhǔn)確的錯(cuò)誤區(qū)間;
[0018] 2)利用錯(cuò)誤區(qū)間定位可能的錯(cuò)誤位置;
[0019] 3)根據(jù)Bit-Flipping方法譯碼準(zhǔn)則翻轉(zhuǎn)已定位為錯(cuò)誤位置中的位。
[0020] 該方法具體步驟如下:
[0021] 1)將原始信息k位經(jīng)過(guò)生成矩陣Gkn生成含有m位冗余信息的η位碼字,將所述 碼字保存在閃存中;
[0022] 2)設(shè)現(xiàn)階段信道的原始錯(cuò)誤率為r,碼長(zhǎng)為η,第i位的軟信息記為叫,信道模 型的四個(gè)高斯分布的平均值從左至右分別為-tha,-thb,thb,th a,根據(jù)互信息MI公式,當(dāng) r為定值時(shí),MI值是關(guān)于q的函數(shù),得到使MI值最大的關(guān)鍵因子q值,確定錯(cuò)誤區(qū)間為 [_tha_q,_th a+q]、[_thb_q,_thb+q]、[thb_q, thb+q]、[tha_q, tha+q];
[0023] 3)根據(jù)~判定信息位是否處在上述錯(cuò)誤區(qū)間中,若是,則添加i到錯(cuò)誤位置集合E 中;以此判斷原始信息中各信息位是否處于上述錯(cuò)誤區(qū)間中,確定位置集合E的所有元素;
[0024] 4)確定在第k次迭代循環(huán)中,伴隨矩陣S= (Hmn*Zn)mod2,信息位i對(duì)應(yīng)的不滿足 方程數(shù)t/f =//,【" [/]%,其中,k為當(dāng)前的迭代循環(huán)次數(shù),i屬于集合E,是指校驗(yàn)矩陣 Hnm的第i列的轉(zhuǎn)矩,Zn為硬判決結(jié)果;
[0025] 5)以初始閥值為列重,即Hmn矩陣中一列'1'的數(shù)量,再根據(jù)翻轉(zhuǎn)準(zhǔn)則:若 胃,則翻轉(zhuǎn)~,并將置為W ;若巧=Rlx,則只翻轉(zhuǎn)?;根據(jù)所述翻轉(zhuǎn)準(zhǔn)則循 環(huán)判斷集合E中的每一個(gè)元素對(duì)應(yīng)的信息是否需要翻轉(zhuǎn);
[0026] 6)判斷經(jīng)步驟5)處理后的信息對(duì)應(yīng)的伴隨矩陣S中的元素是否全部為零或者達(dá) 到當(dāng)前循環(huán)次數(shù)達(dá)到最大循環(huán)次數(shù),若沒(méi)有,則返回步驟3),進(jìn)行下一次循環(huán)。
[0027] 最大循環(huán)次數(shù)為50?100次。
[0028] 與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明解決了在高速存儲(chǔ)系統(tǒng)中 單純使用軟譯碼的高延遲問(wèn)題,消除了 Bit-Flipping方法硬譯碼過(guò)程中錯(cuò)誤碼字的傳播, 提高了糾錯(cuò)能力和算法執(zhí)行效率;提升了高速存儲(chǔ)系統(tǒng)吞吐量,克服了偶數(shù)位翻轉(zhuǎn)引入的 錯(cuò)誤伴隨式信息傳播,縮小了搜索區(qū)間,提高了糾錯(cuò)能力;優(yōu)化了糾錯(cuò)能力和運(yùn)算速度之間 的制約。

【專利附圖】

【附圖說(shuō)明】
[0029] 圖1為對(duì)稱的高斯白噪聲模擬兩層固態(tài)硬盤的信道示意圖;
[0030] 圖2為準(zhǔn)確計(jì)算錯(cuò)誤區(qū)間的數(shù)學(xué)公式;
[0031] 圖3為圖2的公式中各個(gè)概率代表的意義;
[0032] 圖4為閃存編碼譯碼的流程圖;
[0033] 圖5為2014年較新硬譯碼的流程圖;
[0034] 圖6為運(yùn)用本發(fā)明方法進(jìn)行硬譯碼的流程圖;
[0035] 圖7(a)為列重為3時(shí)使用本發(fā)明與不使用本發(fā)明的糾錯(cuò)能力對(duì)比圖;圖7(b)為 列重為5時(shí)使用本發(fā)明與不使用本發(fā)明的糾錯(cuò)能力對(duì)比圖;
[0036] 圖8為使用本發(fā)明與不使用本發(fā)明的收斂速度對(duì)比圖。

【具體實(shí)施方式】
[0037] 本發(fā)明方法分為以下三個(gè)步驟:第一步是根據(jù)固態(tài)硬盤信道當(dāng)前的差錯(cuò)率,計(jì)算 出關(guān)鍵因子q,從而得到準(zhǔn)確具體的錯(cuò)誤區(qū)間;第二步是利用錯(cuò)誤區(qū)間定位可能的錯(cuò)誤信 息位;第三步是根據(jù)結(jié)合的算法規(guī)則翻轉(zhuǎn)已定位的信息位。
[0038] 具體實(shí)現(xiàn)過(guò)程如下:
[0039] 準(zhǔn)備步驟:將原始信息k位經(jīng)過(guò)生成矩陣G生成含有m位冗余信息的η位碼字,將 之保存在閃存中,其中n = m+k,滿足關(guān)=0, Hnm為校驗(yàn)矩陣,用來(lái)檢驗(yàn)所讀取出 來(lái)的信息是否正確,生成矩陣Gkn是一個(gè)只包含O或者1元素的矩陣,用于向原始信息中加 入冗余信息得到能糾錯(cuò)的碼字。
[0040] 第一步,假設(shè)現(xiàn)階段信道的原始錯(cuò)誤率在r,碼長(zhǎng)為n,第i位的軟信息記為IIi, 而信道模型(圖1)的四個(gè)高斯分布的平均值從左至右分別為-th a,-thb,thb,tha。根 據(jù)MI (MutualInformation)公式,當(dāng)r 一定時(shí),MI值是關(guān)于q的函數(shù),并且是在所需范圍 內(nèi)的凸出圖形,得到使MI最大的關(guān)鍵因子q值。再根據(jù)信道模型可知具體的錯(cuò)誤區(qū)間為 [_th a_q, _tha+q]、[_thb_q, _thb+q]、[thb_q, thb+q]、[tha_q, tha+q] 〇
[0041] 第二步,根據(jù)叫判定是否處在上述錯(cuò)誤區(qū)間中,若是,則添加i到錯(cuò)誤位置集合E。
[0042] 第三步,Hmn為校驗(yàn)矩陣,其中m為冗余信息的長(zhǎng)度,η為碼長(zhǎng)。Zn為硬判決結(jié)果。 硬判決是將從存儲(chǔ)單元中讀到的電壓信息按照設(shè)計(jì)時(shí)規(guī)定的準(zhǔn)則轉(zhuǎn)化為比特信息,例如, 在單層固態(tài)硬盤中,根據(jù)它的電壓大于〇,硬判決為〇 ;若小于零,則為1 ;若為雙層固態(tài)硬 盤,每個(gè)單元包含兩比特信息,對(duì)應(yīng)有四個(gè)電壓區(qū)間,根據(jù)電壓所屬區(qū)間,確定兩位的信息。 總之,硬判決結(jié)果就是得到比特信息。則伴隨矩陣S= (H*ZT)mod2, W =/廣[/,/.·/?] *5, 1屬 于集合E。
[0043] 第四步,初始閥值Uix為列重,即H矩陣中一列'1'的數(shù)量,再根據(jù)翻轉(zhuǎn)準(zhǔn)則:若 (閥值),i為E集合中的元素,則翻轉(zhuǎn)叫,并將t/L置為巧;若W = Vix,則只 翻轉(zhuǎn)h。根據(jù)此準(zhǔn)則循環(huán)判斷E集合中每一個(gè)元素。
[0044] 第五步,根據(jù)更新后的數(shù)據(jù),判斷伴隨矩陣S中的元素是否全部為零或者達(dá)到最 大的迭代次數(shù)設(shè)定,若沒(méi)有,則返回執(zhí)行第三步。
[0045] 以下將以本發(fā)明方法進(jìn)行硬譯碼為例進(jìn)行詳細(xì)的說(shuō)明。第一步計(jì)算錯(cuò)誤區(qū)間, 圖1以對(duì)稱的高斯白噪聲模擬兩層固態(tài)硬盤的信道,橫軸為存儲(chǔ)單元讀取的電壓值,縱軸 為對(duì)應(yīng)的電壓值概率密度。兩層的固態(tài)硬盤一個(gè)存儲(chǔ)單元保存兩bit的信息,有四種可 能,對(duì)應(yīng)的有四個(gè)高斯分布代表每一種可能。圖中虛線所跨的區(qū)間即為當(dāng)前信道差錯(cuò)率下 的錯(cuò)誤區(qū)間;圖2詳細(xì)了討論了準(zhǔn)確計(jì)算錯(cuò)誤區(qū)間的數(shù)學(xué)公式,主要采用互信息(Mutual Information)和三次讀(Three reads)的精度來(lái)計(jì)算。在本例中,X是原始存儲(chǔ)信息的集 合{00,01,10,11},Y是從存儲(chǔ)單元中讀取出來(lái)后的可能信息{00, eal,ea2, 01,ebl,eb2, 11,ecl ,ee2, 10}。互信息I (X ;Y)代表在x的輸入下能正確輸出原x的可能性,值越大則越穩(wěn)定,也 即準(zhǔn)確率越高。
[0046] 圖4給出了 LDPC使用DERM位翻轉(zhuǎn)方法的整個(gè)編碼譯碼流程在FPGA中的實(shí)現(xiàn)框 架。
[0047] 從譯碼器的流程方框中可以看出,原始的位翻轉(zhuǎn)電路基本上不需要進(jìn)行改動(dòng)便可 與DERS電路進(jìn)行耦合。從閃存中讀出的軟信息并行進(jìn)入原始位翻轉(zhuǎn)和DERS電路。原始位 翻轉(zhuǎn)進(jìn)行硬判決,而DERM電路輸出給硬判決信息的每一位一個(gè)標(biāo)志(0/1),0代表此信息位 完全正確,在后續(xù)的譯碼中不需要翻轉(zhuǎn),直接跳過(guò)翻轉(zhuǎn)準(zhǔn)則的判定以及相關(guān)的矩陣運(yùn)算;而 1則表示此信息位可能存在錯(cuò)誤,需要根據(jù)后續(xù)的翻轉(zhuǎn)轉(zhuǎn)則進(jìn)行翻轉(zhuǎn)。具體到本文中的實(shí) 例:當(dāng)軟信息處在(_q3,_q2),(q2,q3)區(qū)間,則輸出標(biāo)志位01(因?yàn)樵陔p層閃存中,一個(gè)軟 信息代表兩比特信息);若在(_ql,ql)區(qū)間,則輸出標(biāo)志位10;其它區(qū)間均輸出〇〇。標(biāo)志 信息將會(huì)存儲(chǔ)在信息存儲(chǔ)模塊,直到整個(gè)碼字譯碼完成。
[0048] 右邊虛線方框?yàn)镈ERM實(shí)現(xiàn)的電路,本質(zhì)上是一組比較器。在雙層閃存中,需要 三個(gè)比較器,每個(gè)比較器對(duì)應(yīng)一個(gè)區(qū)間,分別為(_q3,_q2)、(_ql,ql)、(q2,q3)。通過(guò)使 用 Verilog 在 Altera 5SGXEA7H3F35C 的 Stratix V 進(jìn)行仿真綜合,DERM 占用的 ALMs 和 registers分別是10和0,而相對(duì)原始位翻轉(zhuǎn)譯碼器,DERS電路只占了 0. 04%大小的硬件 資源。由此可知,DERS的硬件開(kāi)銷是非常低的,接近可以忽略。
[0049] 圖5給出了 2014較新的關(guān)于LDPC硬譯碼的詳細(xì)流程圖。具體步驟如下:根據(jù)校 驗(yàn)方程計(jì)算每個(gè)信息位的對(duì)應(yīng)的不滿足方程數(shù)Ui,依次對(duì)錯(cuò)誤區(qū)間中信息位進(jìn)行處理,規(guī) 則如下:巧(閥值),i代表位置,則翻轉(zhuǎn)該位,并將置為;若M = ,則 只翻轉(zhuǎn)該位,最后判斷伴隨式是否都滿足或者迭代次數(shù)已達(dá)設(shè)定的最大值,若沒(méi)有,則繼續(xù) 循環(huán)判斷每一位。其中k為當(dāng)前的迭代次數(shù)。
[0050] 圖6是運(yùn)用本發(fā)明方法進(jìn)行硬譯碼的流程圖。具體步驟如下:首先利用錯(cuò)誤區(qū)間 定位可能的錯(cuò)誤位置,再根據(jù)校驗(yàn)方程計(jì)算每個(gè)信息位的不滿足方程數(shù),依次對(duì)定位為 可能錯(cuò)誤位置的位進(jìn)行處理,規(guī)則如下:t/f >^7=(閥值),i代表位置,則翻轉(zhuǎn)該位,并將u 置為t/f;若t/f = ,則只翻轉(zhuǎn)該位,最后判斷伴隨式是否滿足都為零或者迭代次數(shù)已 達(dá)設(shè)定的最大值,若沒(méi)有,則繼續(xù)循環(huán)判斷每一位。
[0051] 相比于現(xiàn)有的譯碼技術(shù),首先,本發(fā)明方法可以顯著地提高高速存儲(chǔ)系統(tǒng)的吞吐 量,因?yàn)椴粌H在固態(tài)硬盤生命周期前期擁有硬譯碼固有的超快速度和可與軟譯碼相提并論 的糾錯(cuò)能力,而且在后期的糾錯(cuò)中也有貢獻(xiàn)。其次,本發(fā)明方法有利于硬譯碼克服單純依賴 伴隨式信息譯碼時(shí),偶數(shù)位翻轉(zhuǎn)可能引入錯(cuò)誤的伴隨式信息,并隨著譯碼進(jìn)程不斷傳播導(dǎo) 致的糾錯(cuò)能力差的情況。同時(shí)也為譯碼縮小搜索空間,不必浪費(fèi)資源在其余大部分都正確 的信息位上。最后,本發(fā)明方法可以很容易與其他算法進(jìn)行耦合,形成糾錯(cuò)能力更強(qiáng),收斂 速度更快的有效算法。
[0052] 以下用實(shí)驗(yàn)數(shù)據(jù)來(lái)證明本發(fā)明的優(yōu)點(diǎn)。實(shí)驗(yàn)平臺(tái)為Synopsys tool set在65nm CMOS library。在實(shí)驗(yàn)中,我們構(gòu)造了兩種QC-PEG-LDPC規(guī)則碼字,碼率均為0. 9,長(zhǎng)度為 4KB,列重分別為3和5,最大迭代次數(shù)設(shè)置為100。為了證明DERM算法的有效性,分別選擇 了 2014發(fā)表在權(quán)威期刊上兩個(gè)算法進(jìn)行對(duì)比,下文將分別用NBF和GDBF縮寫進(jìn)行描述。
[0053] 首先如圖7所示,可以看出使用本發(fā)明方法(DERM)的兩種算法(DERM/NBF,DERM/ ⑶BF)比原始的兩種算法(NBF,⑶BF)都要具有更低的不可糾正錯(cuò)誤率。尤其是列重為3 時(shí),使用DERM的效果更加明顯。這是因?yàn)镈ERM能有效克服偶數(shù)位翻轉(zhuǎn)引入的錯(cuò)誤伴隨式 信息傳播,縮小搜索區(qū)間,提高糾錯(cuò)能力,即使列重很小時(shí)仍能有很強(qiáng)的糾錯(cuò)能力。
[0054] 圖8展示了使用DERM的算法與原始算法的在迭代次數(shù)上的差值。從圖中可以看出 對(duì)于DERM/NBF與NBF在列重為3和5下,分別出現(xiàn)了最大的差值峰值為58和49,而DERM/ ⑶BF和⑶BF組則峰會(huì)為45左右。仔細(xì)觀察時(shí)發(fā)現(xiàn),峰值出現(xiàn)都在中間位置,這主要是因?yàn)?在原始差錯(cuò)率達(dá)到〇. 006左右時(shí),原始NBF和GDBF算法出現(xiàn)大量不能成功譯碼,導(dǎo)致平均 迭代次數(shù)極巨增加,而加入DERM的處理后,譯碼成功率急劇上升,一升一降導(dǎo)致了這一巨 大的差距。導(dǎo)致這個(gè)結(jié)果的主要原因是DERM算法能克服單純依賴校驗(yàn)矩陣,當(dāng)出現(xiàn)偶數(shù)位 翻轉(zhuǎn)時(shí)引入的錯(cuò)誤伴隨式信息。
[0055] 表1給出了使用DERM與否的吞吐量對(duì)比,單位為MB/S,平臺(tái)時(shí)鐘頻率為250MHz。 原始NBF和⑶BF分別平均需要16和24個(gè)時(shí)鐘周期完成一次迭代,而使用DERM算法的NBF 和⑶BF為10和16,這主要是因?yàn)镈ERM算法能有效的排除大部分正確的碼字參與翻轉(zhuǎn),并 能反過(guò)來(lái)有效地利用這些正確的碼字來(lái)正確譯碼。從表1可以算出,使用DERM算法大致能 提高的吞吐量的比率大約為30% -48%。
[0056] 表1吞吐量對(duì)比情況

【權(quán)利要求】
1. 一種基于閃存錯(cuò)誤區(qū)間的LDPC糾錯(cuò)編碼方法,其特征在于,包括以下步驟: 1) 根據(jù)固態(tài)硬盤信道當(dāng)前的差錯(cuò)率,計(jì)算出準(zhǔn)確的錯(cuò)誤區(qū)間; 2) 利用錯(cuò)誤區(qū)間定位可能的錯(cuò)誤位置; 3) 根據(jù)Bit-Flipping方法譯碼準(zhǔn)則翻轉(zhuǎn)已定位為錯(cuò)誤位置中的位。
2. 根據(jù)權(quán)利要求1所述的基于閃存錯(cuò)誤區(qū)間的LDPC糾錯(cuò)編碼方法,其特征在于,該方 法具體步驟如下: 1) 將原始信息k位經(jīng)過(guò)生成矩陣Gkn生成含有m位冗余信息的η位碼字,將所述碼字 保存在閃存中,其中n=m+k,滿足關(guān)系=0,Hmn為校驗(yàn)矩陣,用來(lái)檢驗(yàn)所讀取出來(lái) 的信息是否正確,生成矩陣Gkn是一個(gè)只包含0或者1元素的矩陣,用于向原始信息中加入 冗余信息得到能糾錯(cuò)的碼字; 2) 設(shè)現(xiàn)階段信道的原始錯(cuò)誤率為r,碼長(zhǎng)為η位,第i位的軟信息記為ni,信道模 型的四個(gè)高斯分布的平均值從左至右分別為-tha,-thb,thb,tha,根據(jù)互信息MI公式,當(dāng) r為定值時(shí),MI值是關(guān)于q的函數(shù),得到使MI值最大的關(guān)鍵因子q值,確定錯(cuò)誤區(qū)間為 [_tha_q,_tha+q]、[_thb_q,_thb+q]、[thb_q,thb+q]、[tha_q,tha+q]; 3) 根據(jù)叫判定信息位是否處在上述錯(cuò)誤區(qū)間中,若是,則添加i到錯(cuò)誤位置集合E中; 以此判斷原始信息中各信息位是否處于上述錯(cuò)誤區(qū)間中,確定位置集合E的所有元素; 4) 確定在第k次迭代循環(huán)中,伴隨矩陣S= (Hmn*Zn)mod2,信息位i對(duì)應(yīng)的不滿足方程 數(shù)巧=ALW%其中,i屬于集合E,/〇']是指校驗(yàn)矩陣Hmn的第i列的轉(zhuǎn)矩,Zn為硬判 決結(jié)果; 5) 以初始閥值Uiax為列重,即Hmn矩陣中一列'1'的數(shù)量,再根據(jù)翻轉(zhuǎn)準(zhǔn)則:若 巧>以《,貝_轉(zhuǎn)?并將[/1置為[^;若0=^/;^,則只翻轉(zhuǎn)叫;根據(jù)所述翻轉(zhuǎn)準(zhǔn)則循 環(huán)判斷集合E中的每一個(gè)元素對(duì)應(yīng)的信息是否需要翻轉(zhuǎn); 6) 判斷經(jīng)步驟5)處理后的信息對(duì)應(yīng)的伴隨矩陣S中的元素是否全部為零或者達(dá)到當(dāng) 前循環(huán)次數(shù)達(dá)到最大循環(huán)次數(shù),若沒(méi)有,則返回步驟3),進(jìn)行下一次循環(huán)。
3. 根據(jù)權(quán)利要求2所述的基于閃存錯(cuò)誤區(qū)間的LDPC糾錯(cuò)編碼方法,其特征在于,所述 步驟6)中,最大循環(huán)次數(shù)為50?100次。
【文檔編號(hào)】G11C29/42GK104464822SQ201410673529
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】胡玉鵬, 宋順, 周超, 卿敏龍, 廖優(yōu) 申請(qǐng)人:湖南大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1