• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      優(yōu)化鑿孔極化碼在NAND FLASH 中的糾錯(cuò)技術(shù)研究

      2022-01-07 01:23:24宋燕娜
      軟件導(dǎo)刊 2021年12期
      關(guān)鍵詞:存儲(chǔ)單元比特率閾值電壓

      宋燕娜,郭 銳

      (杭州電子科技大學(xué)通信工程學(xué)院,浙江杭州 310018)

      0 引言

      隨著現(xiàn)代科技的飛速發(fā)展,關(guān)于存儲(chǔ)器的發(fā)展也一直是熱點(diǎn)話題,其已融入人們生活的方方面面。存儲(chǔ)器可分類為易失[1]和非易失[2]兩類,NAND FLASH(簡(jiǎn)稱為閃存)屬于后者,即斷電后數(shù)據(jù)能夠存儲(chǔ)。閃存的存儲(chǔ)單元在發(fā)展過(guò)程中由于對(duì)存儲(chǔ)容量的高要求而不斷增加[3-4]。但存儲(chǔ)密度增加的同時(shí),也帶來(lái)了更大的噪聲[5-6]。因此,當(dāng)閃存由于不可避免的噪聲干擾而一再損害存儲(chǔ)數(shù)據(jù)可靠性時(shí),就需要引入糾錯(cuò)碼(Error Correcting Code,ECC)以保證閃存數(shù)據(jù)讀取正確性。

      極化碼[7]相較于其他信道編碼具有更為出色的糾錯(cuò)能力,它的編譯碼復(fù)雜度都較低,且能被證明可以達(dá)到信道容限。因此,利用極化碼對(duì)閃存進(jìn)行讀數(shù)糾錯(cuò)成為一大研究熱點(diǎn)。文獻(xiàn)[8]提出一種基于極化碼構(gòu)造的新編碼方案,它支持任意數(shù)量的重寫并能夠糾正大量錯(cuò)誤;文獻(xiàn)[9]研究了閃存的可靠性和持久性問(wèn)題,并且設(shè)計(jì)了針對(duì)閃存中非對(duì)稱錯(cuò)誤的極化碼糾錯(cuò)方案,完成了對(duì)閃存的一次性大量糾錯(cuò);文獻(xiàn)[10]提出通過(guò)縮短非系統(tǒng)極化碼和系統(tǒng)極化碼的方法,構(gòu)造碼率匹配的極化碼應(yīng)用于閃存,提高了閃存的可靠性;文獻(xiàn)[11]設(shè)計(jì)了在固態(tài)硬盤(Solid State Drives,SSDs)中的多速率極化碼,由于SSDs 中的存儲(chǔ)單元主要由閃存組成,因此該研究提高了極化碼對(duì)閃存的糾錯(cuò)性能。為了使極化碼更好地滿足閃存高碼率的要求,且可以在閃存的數(shù)據(jù)糾錯(cuò)應(yīng)用上具有更好的性能,本文對(duì)極化碼進(jìn)行了優(yōu)化巴氏參數(shù)構(gòu)造和鑿孔操作以構(gòu)造新碼字。

      本文以MLC 閃存為例,以閃存閾值電壓分布模型為基礎(chǔ),使用非均勻存儲(chǔ)感知法計(jì)算重疊區(qū)域的相鄰邊界值和感知電壓,進(jìn)而計(jì)算每個(gè)存儲(chǔ)比特的對(duì)數(shù)似然比(Log likelihood ratio,LLR),并將其擬合成高斯分布并得到方差。通過(guò)迭代計(jì)算每個(gè)存儲(chǔ)單元位的巴氏參數(shù),并且根據(jù)閃存頁(yè)容量和已知的元數(shù)據(jù)信息構(gòu)造碼率匹配的極化碼,使之可以更好地應(yīng)用于閃存的糾錯(cuò)模型中。本文所用的優(yōu)化巴氏參數(shù)方法構(gòu)造的碼字性能與高斯近似構(gòu)造方法相比,在構(gòu)造(136,128)、(272,256)、(550,512)鑿孔碼字時(shí)分別有2.32、2.1、1.7dB 的性能增益,與蒙特卡洛法相比分別有0.12、0.13、0.15dB 的增益,且碼長(zhǎng)越長(zhǎng)糾錯(cuò)性能越強(qiáng);改變閃存的閾值電壓分布,可以得出如下結(jié)論:極化碼的糾錯(cuò)性能隨著閃存擦除單元標(biāo)準(zhǔn)差的減小而增強(qiáng)。

      1 MLC 閃存基本理論

      1.1 MLC 閃存基本結(jié)構(gòu)

      一個(gè)或N 個(gè)平面組成閃存,多個(gè)塊(Block)又組成一個(gè)平面,每塊包含多頁(yè)(Page),多個(gè)存儲(chǔ)單元組成一頁(yè),其中讀寫操作主要在頁(yè)中進(jìn)行,而擦除操作主要在塊中進(jìn)行。在閃存的每頁(yè)中有數(shù)據(jù)區(qū)和數(shù)據(jù)冗余區(qū),圖1 中Page 代表的是數(shù)據(jù)區(qū),用來(lái)存儲(chǔ)有用的用戶信息。此外,閃存中還有oob 區(qū)域(附加數(shù)據(jù)空間),進(jìn)行閃存的糾錯(cuò)校驗(yàn),用于存放元數(shù)據(jù)信息,在閃存中存儲(chǔ)的固件所用的臨時(shí)數(shù)據(jù)和信息通常被稱為元數(shù)據(jù)[12]。

      Fig.1 NAND FLASH component unit圖1 閃存組成單元

      閃存中最常用的是MLC 閃存,在一個(gè)存儲(chǔ)晶體管中存儲(chǔ)兩位數(shù)據(jù),通過(guò)圖2 可以看出,閃存由源極、漏極、控制柵、氧化絕緣層和浮動(dòng)?xùn)沤M成。閃存擁有雙層浮柵,外層有一個(gè)控制柵,保證閃存的可靠性;內(nèi)層有一個(gè)浮動(dòng)?xùn)牛?3],它的作用是對(duì)電荷的收放,而浮動(dòng)?xùn)磐庥醒趸^緣層,它可以保護(hù)浮柵門不輕易吸收或釋放電荷,尤其是在沒(méi)有電源供電的情況下,這就是存儲(chǔ)器的非易失性。浮動(dòng)?xùn)胖羞€有不同狀態(tài)的存儲(chǔ)單元,閃存的本質(zhì)就是對(duì)這些電壓進(jìn)行探測(cè)和感知[14]。

      Fig.2 MLC NAND FLASH storage structure圖2 MLC 閃存的存儲(chǔ)結(jié)構(gòu)

      閃存的基本操作主要有擦除、編程(寫入)和讀取。閃存可以讀/寫一個(gè)頁(yè),但是必須以塊大小擦除??梢越茖⒉脸隣顟B(tài)的閾值電分布類比為高斯分布,可以近似表示為如式(1)所示,μS0和σS0是擦除狀態(tài)閾值電壓分布的均值和標(biāo)準(zhǔn)差。

      閃存的另一個(gè)重要操作就是寫入操作,在閃存中寫入操作就是頁(yè)的編程操作。對(duì)于編程過(guò)程,增量步脈沖編程(ISPP)技術(shù)被廣泛應(yīng)用,如圖3 所示。因此,編程狀態(tài)的閾值電壓可以看作是[Vp,Vp+ΔVpp]上的均勻分布,其中,Vp和ΔVpp分別表示校驗(yàn)電壓和編程步進(jìn)增量電壓[15]。第k個(gè)編程狀態(tài)閾值電壓的邊界Vp和Vp+ΔVpp分別用Vl(k)和Vr(k)表示,則編程狀態(tài)的閾值電壓分布表示為如式(2)所示。

      但是均勻分布只是一種理想中的情況,當(dāng)閃存沒(méi)有噪聲干擾時(shí)可以實(shí)現(xiàn),但實(shí)際情況下,閃存存在各種噪聲干擾,因此如式(2)所示對(duì)編程狀態(tài)閾值電壓分布的模擬并不準(zhǔn)確。

      Fig.3 Programming/check recursive programming operations圖3 編程/校驗(yàn)遞歸編程操作

      閃存的第3 種基本操作是對(duì)數(shù)據(jù)的讀取操作[16-17],閃存中數(shù)據(jù)讀取寫入的基本單位都是頁(yè)。數(shù)據(jù)通過(guò)閃存存儲(chǔ)以后,若浮柵門晶體管的閾值電壓判定較為準(zhǔn)確,寫入的數(shù)據(jù)就可以被讀取且錯(cuò)誤概率較小。尤其是若浮動(dòng)?xùn)艠O的閾值電壓能夠確定,電流在通過(guò)閃存單元時(shí),即可更高效可靠地讀取閃存中存儲(chǔ)的數(shù)據(jù)。

      1.2 MLC 閃存干擾源與信道模型

      單元間干擾(Cell-to-cell interference,CCI),顧名思義,既是不同單元之間因?yàn)榛ハ嘤绊懚a(chǎn)生干擾。閃存中則是相鄰的存儲(chǔ)單元之間由于重疊區(qū)域而對(duì)彼此產(chǎn)生損害[18]。這些損害會(huì)影響閾值電壓的探測(cè)精度,使得探測(cè)到的感知電壓發(fā)生偏移,在閃存的幾種干擾中,它擁有最大的危害。圖4 表示了受損害單元的位置與損害單元的字線和位線的位置。一個(gè)受損害單元主要受到它相鄰字線3 個(gè)位線上單元的損害。

      Fig.4 Intercell interference of full bit line structure圖4 全部位線結(jié)構(gòu)的單元間干擾

      從圖4 可以看出,在閃存中,字線n和位線m相關(guān)聯(lián)的位置位于(n,m),因此由單元間干擾引起的受害單元的MLC 閃存閾值電壓變化F 可以估算如式(3)所示。

      其中,ΔV(n+1,k)是在編程操作期間第n個(gè)干擾單元的閾值電壓偏移,γk是受害單元與干擾單元之間的耦合比。γxy和γy分別表示斜對(duì)角線方向和90°方向的電容耦合系數(shù)。

      閃存的閾值電壓不僅受CCI 的影響,也容易受到其他干擾,比如編程/擦除(Program/Erase,P/E)循環(huán),它會(huì)導(dǎo)致閃存產(chǎn)生壞塊。本文分別簡(jiǎn)要介紹P/E 循環(huán)的主要干擾源[19],即隨機(jī)電報(bào)噪聲(Random Telegraph Noise,RTN)和數(shù)據(jù)保留噪聲(Data Retention Noise,DRN)。

      關(guān)于RTN 的形成過(guò)程如下:由于在P/E 循環(huán)過(guò)程中,在靠近界面的電荷陷阱位置發(fā)生的電子捕獲和發(fā)射事件,會(huì)導(dǎo)致閾值電壓轉(zhuǎn)移和波動(dòng)。在達(dá)到一定數(shù)量的編程周期后,閃存單元的氧化層也將受到損傷,使得閃存的持久性下降。RTN 的閾值電壓分布模型pRTN(x)可以建模為參數(shù)λr的對(duì)稱指數(shù)函數(shù),如式(4)所示。

      其中,λr表示循環(huán)次數(shù)并且不是遞減函數(shù),N 表示P/E循環(huán)次數(shù),Kr是一個(gè)常量。

      在經(jīng)過(guò)較長(zhǎng)時(shí)間的存儲(chǔ)和多次P/E 循環(huán)后,電荷發(fā)生泄露,減弱了數(shù)據(jù)保留能力,即閃存保持電荷的能力降低或受到限制。由于界面陷阱恢復(fù)和電子去陷阱而導(dǎo)致的閾值電壓降低,DRN 的閾值電壓分布模型pDRN(x)可以近似建模為高斯分布,如式(5)所示。

      其中,μd表示其均值,表示其方差;Ks、Kd、Km是常量,x0表示閃存處于擦除狀態(tài)時(shí)閾值電壓初值;t 表示記憶保留時(shí)間,t0是初始時(shí)間。

      首先通過(guò)對(duì)閃存的擦除操作,將去除浮柵門晶體管中的所有電荷,使得閾值電壓分布都一致,再對(duì)閃存進(jìn)行編程操作,將數(shù)據(jù)寫入閃存中,通過(guò)閃存的傳輸信道,經(jīng)歷了CCI、RTN 及DRN 噪聲,可以得到閃存的最終閾值電壓分布,并且將寫入的數(shù)據(jù)讀取出來(lái),如圖5 所示。

      Fig.5 MLC NAND FLASH channel model圖5 MLC 閃存信道模型

      根據(jù)上述不同干擾下的閾值電壓分布公式,可得到最終的噪聲閾值電壓分布pf(x)如式(6)所示。

      使用Matlab 進(jìn)行仿真,其中MLC 閃存閾值電壓分布模型的參數(shù)設(shè)置如表1 所示[20]。

      根據(jù)表格中的數(shù)據(jù)可以得到閃存閾值電壓在CCI、RTN 和DRN 后的概率密度圖,如圖6 所示。

      可以看到,閃存在經(jīng)過(guò)不同的干擾后受到的閾值電壓偏移量和偏移方向都不同,這些結(jié)果清楚地顯示了NAND閃存的動(dòng)態(tài)特性。

      Table 1 MLC NAND FLASH threshold voltage distribution model parameters表1 MLC 閃存閾值電壓分布模型參數(shù)

      Fig.6 MLC NAND FLASH final threshold voltage distribution model after RTN,CCI and DRN effects圖6 MLC 閃存經(jīng)過(guò)RTN、CCI 和DRN 影響后的最終閾值電壓分布模型

      2 基于極化碼的MLC 閃存差錯(cuò)控制

      以下是閃存的差錯(cuò)控制過(guò)程:首先將待存儲(chǔ)的信息序列輸入ECC 編碼器進(jìn)行編碼,然后在閃存頁(yè)中進(jìn)行編程操作,將編碼后的碼字信息寫入閃存有噪傳輸信道,接著從閃存中讀取存儲(chǔ)的數(shù)據(jù),讀取后將該數(shù)據(jù)輸入ECC 譯碼器,檢查錯(cuò)誤并且將錯(cuò)誤糾正,輸出譯碼后的信息序列(見(jiàn)圖7)。本文主要介紹適用于MLC 閃存的極化碼編譯碼方法并對(duì)其進(jìn)行差錯(cuò)控制。

      Fig.7 MLC NAND FLASH error correction model圖7 MLC 閃存的糾錯(cuò)模型

      2.1 MLC 閃存非均勻存儲(chǔ)感知法與LLR 計(jì)算

      在2 bit/cell 的MLC 閃存中,有4 種不同的狀態(tài)信息分布在存儲(chǔ)單元中,需要將它們不重疊地分離開(kāi),劃分成不同的電壓區(qū)間,因此需要3 個(gè)硬判決參考電壓。非均勻存儲(chǔ)感知法與傳統(tǒng)的均勻感知法相比,在減少存儲(chǔ)感知等級(jí)數(shù)量的同時(shí),也能保證數(shù)據(jù)的準(zhǔn)確性。

      因此,本文在讀取MLC 閃存中存儲(chǔ)的閾值電壓時(shí)可以利用非均勻存儲(chǔ)感知法,使得在減少存儲(chǔ)感知等級(jí)數(shù)量的同時(shí),使數(shù)據(jù)可靠性更高,如圖8 所示。主要重疊區(qū)域的邊界分布在硬判決參考電壓兩側(cè),而硬判決對(duì)感知精度的要求則更高。重疊區(qū)域受單元間干擾更強(qiáng),因此會(huì)對(duì)閃存的感知電壓能力造成更大影響,而非重疊區(qū)域則相對(duì)沒(méi)有那么大的影響。本文采用非均勻存儲(chǔ)感知法,以實(shí)現(xiàn)對(duì)閃存電壓更好的感知。

      Fig.8 Non-uniform storage perception strategy圖8 非均勻存儲(chǔ)感知策略

      從圖8 可以看出,使用非均勻存儲(chǔ)感知法,需要計(jì)算重疊區(qū)域的閃存閾值電壓相鄰的邊界值,可以通過(guò)式(7)計(jì)算,分別設(shè)為左右相鄰狀態(tài)主要重疊區(qū)域的邊界電壓,將第a(a=0,1,2)個(gè)存儲(chǔ)狀態(tài)的閾值電壓分布與相鄰的相除,設(shè)定系數(shù)Q,就可以得到邊界電壓。

      接下來(lái)將描述LLR 值的計(jì)算過(guò)程,可以將存儲(chǔ)單元的閾值電壓準(zhǔn)確地映射成對(duì)數(shù)似然比LLR。第k個(gè)存儲(chǔ)狀態(tài)對(duì)應(yīng)閾值電壓的概率密度函數(shù)表示為p(k)(x)(k=0,1,2,3)。Si表示第i個(gè)比特為0 的存儲(chǔ)狀態(tài)的集合。因此,給定存儲(chǔ)單元的閾值電壓Vth,可以按式(8),計(jì)算出每一個(gè)比特的LLR。

      當(dāng)閃存經(jīng)受了CCI、RTN、DRN 干擾后,它處于擦除狀態(tài)的閾值電壓概率密度函數(shù)表示如式(9)所示。

      當(dāng)閃存經(jīng)受了CCI、RTN、DRN 干擾后,它處于編程狀態(tài)的閾值電壓概率密度函數(shù)表示如式(10)所示。

      其中,Rl、Rr表示兩個(gè)相鄰的參考電壓。MLC 閃存中,S1={00,01},S2={10,00} 。

      令式(7)的概率比系數(shù)Q=600,根據(jù)式(7)、式(9)和式(10)得到的參考電壓和重疊區(qū)域邊界電壓結(jié)果如表2 所示。

      Table 2 Voltage after interference表2 發(fā)生干擾后的電壓

      根據(jù)上文非均勻感知法基本理論,它在一個(gè)重疊區(qū)域至少需要3 個(gè)數(shù)值,即兩側(cè)的感知電壓與中間的硬判決感知電壓,因此對(duì)于MLC 閃存,一共有3 個(gè)主要重疊區(qū)域。由此至少可以得到9 個(gè)感知電壓值,具體的9 級(jí)非均勻存儲(chǔ)感知電壓如表3 所示。

      Table 3 Class 9 non-uniform storage perceived voltage表3 9 級(jí)非均勻存儲(chǔ)感知電壓

      根據(jù)式(8)可以得出,當(dāng)S1=0 時(shí),對(duì)應(yīng)的第1 個(gè)比特為0 的LLR 值計(jì)算公式如式(11)所示。

      根據(jù)式(8)可以得出,當(dāng)S2=0 時(shí),對(duì)應(yīng)的第2 個(gè)比特為0 的LLR 值計(jì)算公式為如式(12)所示。

      在得到感知電壓的的基礎(chǔ)上,假設(shè)某一個(gè)存儲(chǔ)單元的閾值電壓Vth在感知電壓區(qū)間(Rl,Rr],一般設(shè)定閾值電壓Vth如式(13)所示。

      其中,Rl、Rr表示兩個(gè)相鄰的參考電壓。

      但是考慮到落在非重疊區(qū)域的電壓值探測(cè)精度較低,因此本文不采用通過(guò)平均值計(jì)算閾值電壓的方法計(jì)算LLR值,而是采用根據(jù)感知電壓區(qū)間對(duì)閃存的各存儲(chǔ)單元通過(guò)積分計(jì)算LLR 值,以提高在非重疊區(qū)域存儲(chǔ)比特的LLR 計(jì)算準(zhǔn)確度。

      根據(jù)上文已經(jīng)得到了感知電壓區(qū)間(Rl,Rr],因此根據(jù)式(11)—式(13)可以得到如表4 所示的位于(Rl,Rr]區(qū)間的閾值電壓Vth對(duì)應(yīng)的LLR 值。

      Table 4 LLR value corresponding to level 9 nonuniform perception in MLC NAND FLASH表4 MLC 閃存中9 級(jí)非均勻感知對(duì)應(yīng)的LLR 值

      由于非均勻存儲(chǔ)感知中的存儲(chǔ)感知等級(jí)數(shù)量越高,電壓區(qū)間劃分越細(xì)致,對(duì)電壓的感知精度也越高,因此可以增大存儲(chǔ)感知等級(jí),使得LLR 的計(jì)算值更準(zhǔn)確。

      僅從表4 無(wú)法直接看出LLR 的分布規(guī)律,由于通過(guò)MLC 閃存信道的每一個(gè)存儲(chǔ)比特對(duì)應(yīng)一個(gè)LLR 值,意味著LLR 值受單個(gè)存儲(chǔ)比特的影響,由此可以聯(lián)想到互信息量?;バ畔(X;Y)代表隨機(jī)變量Y中包含隨機(jī)變量X的信息量,或者說(shuō)隨機(jī)變量X由于已知隨機(jī)變量Y而減少的不確定性。

      因此,可以計(jì)算LLR 相對(duì)于存儲(chǔ)比特的互信息量I(λ;X)??紤]到互信息量I(λ;X)在線性高斯模型中與最小均方誤差(Minimum Mean Square Error,MMSE)的 關(guān)系[21],可以將MLC 閃存信道和高斯信道聯(lián)系起來(lái),因此在高斯信道中根據(jù)互信息量I(λ;X)可得到LLR 的方差,再根據(jù)此方差構(gòu)造新的極化碼。

      I(λ;X)的計(jì)算公式如式(14)所示。

      其中,λ為存儲(chǔ)信道中的LLR元素,p(λ|x=0) 和p(λ|x=1)的計(jì)算公式可通過(guò)式(15)推導(dǎo)得到。

      將L的部分看為一個(gè)整體,用exp(a)和exp(b)代替,并對(duì)式子左右都取對(duì)數(shù),則式(15)轉(zhuǎn)變?yōu)槭剑?6)。

      其中,a和b分別是信道1 和信道2 接收的對(duì)數(shù)似然比,s是根據(jù)概率運(yùn)算后得到的信道1 的比特估計(jì)值。

      將上述公式等效為式(17)。

      式(17)可以進(jìn)一步等效為式(18)。

      由此可以得出,p(λ|x=0)與p(λ|x=1)的計(jì)算公式如式(19)所示。

      2.2 適用于閃存的優(yōu)化巴氏參數(shù)鑿孔極化碼設(shè)計(jì)方法

      由圖7 中NAND FLASH 的糾錯(cuò)模型可知,若ECC 糾錯(cuò)碼是極化碼,則極化碼應(yīng)用于閃存的數(shù)據(jù)讀寫糾錯(cuò)系統(tǒng)的具體實(shí)施步驟為:首先通過(guò)閃存的Page 進(jìn)行寫入操作,在極化碼編碼器中輸入源碼信息序列;接著,在極化碼編碼器中進(jìn)行編碼操作,將寫入的源碼信息序列轉(zhuǎn)化為編碼序列;然后,經(jīng)過(guò)格雷映射后從長(zhǎng)度為N的比特序列變?yōu)殚L(zhǎng)度為的比特序列對(duì),隨后將通過(guò)閃存的有噪傳輸信道并傳輸?shù)綐O化碼的譯碼器端口,譯碼器端口接收到的是受到閃存噪聲源影響的存杵序列;最后,譯碼器端口接收到的通過(guò)譯碼后即可得到譯碼序列,從而完成對(duì)寫入存儲(chǔ)的數(shù)據(jù)讀出的過(guò)程。

      本文采用計(jì)算巴氏參數(shù)值的方法對(duì)信息位進(jìn)行選取。由于MLC 閃存信道屬于非BEC,文獻(xiàn)[22]提出在非BEC 情況下對(duì)巴氏參數(shù)的計(jì)算方法,其中迭代計(jì)算單元位的巴氏參數(shù)時(shí)所需要的迭代初值可以表示為如式(20)所示。

      式(21)通過(guò)Ungerboeck 星座子集劃分方法[23]計(jì)算單元位的容量。

      其中,C(S)表示存儲(chǔ)單元位的容量。在閃存存儲(chǔ)單元中,概率密度函數(shù)p(r|sm)服從的高斯分布,|S|表示存儲(chǔ)單元狀態(tài)的個(gè)數(shù)。最后,使用(N,K,R)定義極化碼,可以在MLC 閃存中根據(jù)計(jì)算得到的巴氏參數(shù)初值構(gòu)造極化碼。

      接下來(lái),可以通過(guò)迭代計(jì)算存儲(chǔ)單元位的巴氏參數(shù)進(jìn)行極化碼編碼優(yōu)化。巴氏參數(shù)是測(cè)量每個(gè)極化存儲(chǔ)單元位可靠性的重要標(biāo)準(zhǔn),如式(22)所示。

      由此完成了對(duì)極化碼碼字的初步構(gòu)造。MLC 閃存對(duì)碼率的要求較高,且原始的碼字不能滿足其要求,因而采用了鑿孔的方法,使得極化碼構(gòu)造高碼率的碼字,并將其應(yīng)用于MLC 閃存中進(jìn)行糾錯(cuò)。鑿孔極化碼的具體過(guò)程如圖9 所示。

      Fig.9 Encoding and decoding process of pubctured polar code圖9 鑿孔極化碼編譯碼過(guò)程

      鑿孔比特一般選取可靠性較小的比特進(jìn)行鑿孔,這樣得到的碼字能最大程度地還原原碼字的性能。因此,將巴氏參數(shù)值按降序排序,在鑿孔時(shí)選擇鑿孔排序在最前面的索引,這些比特位的巴氏參數(shù)值最大最不可靠。首先構(gòu)造碼字(N,K),設(shè)P是鑿孔比特的個(gè)數(shù),上介紹了迭代計(jì)算每個(gè)信道的,由于對(duì)信息比特鑿孔會(huì)使得極化碼性能大幅度降低,本文默認(rèn)先鑿凍結(jié)比特,其對(duì)應(yīng)鑿孔比特信道的巴氏參數(shù)大小滿足式(24)。

      其中,A′表示凍結(jié)比特的信道索引集合,P為鑿孔比特個(gè)數(shù)。

      閃存中存儲(chǔ)的數(shù)據(jù)不僅包括外界寫入的存儲(chǔ)數(shù)據(jù),也有自己內(nèi)部的一些數(shù)據(jù)。其中,存儲(chǔ)固件所用的臨時(shí)數(shù)據(jù)和信息通常被稱為元數(shù)據(jù)。將這些元數(shù)據(jù)傳送到極化碼中,由于閃存對(duì)此已知,可以將其放在信息序列中不大可靠的位置,當(dāng)需要對(duì)極化碼鑿孔時(shí),可以根據(jù)需要將其鑿去,由于譯碼端已知其信息,在譯碼時(shí)可以不設(shè)置為0。

      將優(yōu)化巴氏參數(shù)法和鑿孔法結(jié)合,構(gòu)造出的新碼字可以更好地適應(yīng)閃存高碼率的要求,也可更好地對(duì)閃存進(jìn)行糾錯(cuò),其編譯碼流程如圖10 所示。根據(jù)上文得到的LLR 擬合方差計(jì)算出存儲(chǔ)單元容量,并利用優(yōu)化巴氏參數(shù)法將極化碼碼字進(jìn)行重新構(gòu)造,通過(guò)極化碼編碼得到碼字(N,K),其中有H 比特閃存已知的元數(shù)據(jù)信息。再根據(jù)鑿孔法進(jìn)行碼率匹配,選取巴氏參數(shù)值最大即信道可靠度最低的比特進(jìn)行鑿孔,待構(gòu)造的鑿孔碼字為(N1,K),鑿孔數(shù)為P(P=N-N1),構(gòu)造高碼率的極化碼碼字。此時(shí),將碼字寫入MLC 閃存頁(yè)中,由于MLC 閃存擁有大容量的存儲(chǔ)空間,因此可以將信息比特和凍結(jié)比特分開(kāi)存儲(chǔ),將前者存儲(chǔ)到數(shù)據(jù)區(qū),后者存儲(chǔ)到數(shù)據(jù)冗余區(qū),這樣可以更好地利用閃存空間。在經(jīng)過(guò)閃存的各種噪聲干擾后,將其輸入到譯碼器輸入端,并在此時(shí)鑿孔碼字的對(duì)應(yīng)位置插入P個(gè)對(duì)應(yīng)比特信息,按巴氏參數(shù)值降序排列,前P-H 個(gè)插入為0 比特,后H 個(gè)插入對(duì)應(yīng)的元數(shù)據(jù)信息,得到待譯碼碼字。使用對(duì)應(yīng)的譯碼算法,最后得到估計(jì)結(jié)果,再得到對(duì)應(yīng)的信息序列。

      Fig.10 Polar code error control process of MLC NAND FLASH圖10 極化碼對(duì)MLC 閃存差錯(cuò)控制過(guò)程

      3 系統(tǒng)仿真與分析

      3.1 極化碼編譯碼方法對(duì)閃存糾錯(cuò)性能的影響

      首先對(duì)適用于MLC 閃存的不同編碼方式構(gòu)造的極化碼進(jìn)行仿真。閃存的特點(diǎn)之一是存儲(chǔ)容量很大,因此閃存的塊容量及其他內(nèi)部區(qū)域容量也非常大。通常一塊閃存芯片的總?cè)萘繛椋?28G+9 728M)bits,每片包含2 048 塊,在閃存塊中1 塊有512 頁(yè),而頁(yè)中存在數(shù)據(jù)區(qū)和冗余區(qū),前者有16kByte 容量的信息,后者有1 216Byte 容量的信息。若不經(jīng)過(guò)加工而直接將閃存的頁(yè)容量作為碼長(zhǎng),則一共有(16k+1 216)Byte,若是直接對(duì)如此巨大容量的閃存進(jìn)行糾錯(cuò),則效率極低,計(jì)算機(jī)負(fù)荷也會(huì)很重。因此,本文采用3種不同的容量拆分方案,將每頁(yè)拆分成幾百段,則每段的編譯碼效率會(huì)提高很多,總體效率和可靠性也會(huì)隨之提高[24]。3 種不同方案的鑿孔極化碼碼字構(gòu)造如表5 所示。

      以方案一為例,具體拆分過(guò)程如下:首先將閃存每頁(yè)分為1 024 段,每段分配128bits 的數(shù)據(jù)區(qū)和8bits 的冗余區(qū)。因此適用于閃存的極化碼(N1,K)為(136,128),其中N1=136 為碼字長(zhǎng)度,K=128 為信息比特長(zhǎng)度。(N1,K)是(N,K)經(jīng)過(guò)鑿孔操作后得到的碼字,由于極化碼的碼長(zhǎng)N=2n,因此構(gòu)造的碼字長(zhǎng)度應(yīng)為N=2n>136,為了提高效率,選擇(N,K)為最接近的(256,128),可得出凍結(jié)比特中鑿孔比特?cái)?shù)目P=N-N1=120。

      Table 5 Character construction of three punctured polar codes for MLC NAND FLASH表5 適用于MLC 閃存的3 種鑿孔極化碼碼字構(gòu)造

      將不同構(gòu)造方法得到的極化碼應(yīng)用于MLC 閃存中,進(jìn)行仿真實(shí)驗(yàn),并且將優(yōu)化巴氏參數(shù)法與高斯近似構(gòu)造法進(jìn)行比較。并且,將這兩種構(gòu)造方法應(yīng)用于3 種不同鑿孔拆分方案的MLC 閃存中,得到6 種不同碼字的鑿孔極化碼。在仿真實(shí)驗(yàn)中,采用SCL(L=4)譯碼方案。設(shè)定元數(shù)據(jù)信息H=16bits。

      由于讀取電壓的改變,本文對(duì)SNR 的定義如式(25)所示。

      圖11—圖13 是優(yōu)化巴氏參數(shù)法和傳統(tǒng)的高斯近似法方法分別應(yīng)用于鑿孔方案一、二、三時(shí)的誤比特率性能曲線??梢缘玫饺缦陆Y(jié)論:利用優(yōu)化巴氏參數(shù)法構(gòu)造的鑿孔碼字相比高斯近似和蒙特卡洛法具有更好的誤比特率性能。當(dāng)BER=10-1時(shí),構(gòu)造(136,128)碼字的優(yōu)化巴氏參數(shù)法相比高斯近似和蒙特卡洛法獲得的性能增益約為2.32和0.12dB;構(gòu)造(272,256)碼字的優(yōu)化巴氏參數(shù)法相比高斯近似和蒙特卡洛法獲得的性能增益約為2.1 和0.13dB;構(gòu)造(550,512)碼字的優(yōu)化巴氏參數(shù)法相比高斯近似和蒙特卡洛法獲得的性能增益約為1.7 和0.15dB。

      Fig.11 Bit error rate diagram constructed by different encoding methods(136,128)圖11 不同編碼方法構(gòu)造(136,128)誤比特率

      Fig.12 Bit error rate diagram constructed by different encoding methods(272,256)圖12 不同編碼方法構(gòu)造(272,256)誤比特率

      Fig.13 Bit error rate diagram constructed by different encoding methods(550,512)圖13 不同編碼方法構(gòu)造(550,512)誤比特率

      從圖11—圖13 可知,使用優(yōu)化巴氏參數(shù)構(gòu)造法時(shí),構(gòu)造(550,512)碼字的誤比特率性能更好,原因在于隨著碼長(zhǎng)的增加,極化碼的性能會(huì)隨之增強(qiáng)。因此,3 種鑿孔碼字中方案3 構(gòu)造的(550,512)碼字在閃存中具有更好的糾錯(cuò)性能。

      由圖14 可知,采用不同的譯碼方法,可以得到不同性能的仿真曲線。圖14 所示的2 條曲線分別是SCL(L=1、4時(shí))譯碼算法下得到的誤比特率仿真圖,采用優(yōu)化巴氏參數(shù)編碼方法構(gòu)造(136,128)鑿孔碼字,當(dāng)BER=10-1時(shí),SCL(L=4)相比SCL(L=1)(即SC),可以得到約0.2dB 的性能增益。

      Fig.14 Bit error rate diagram constructed by different decoding methods(136,128)圖14 不同譯碼方法構(gòu)造(136,128)誤比特率

      3.2 閾值電壓分布對(duì)閃存糾錯(cuò)性能的影響

      由于閾值電壓分布的改變會(huì)導(dǎo)致主要重疊區(qū)域大小的改變,而主要重疊區(qū)域的大小也會(huì)影響感知數(shù)據(jù)的精度。若是閾值電壓分布的改變導(dǎo)致主要重疊區(qū)域變大,則對(duì)數(shù)據(jù)的感知精度要求更高;若是閾值電壓分布的改變導(dǎo)致主要重疊區(qū)域變小,則會(huì)降低對(duì)數(shù)據(jù)的感知精度要求。因此閾值電壓分布的改變會(huì)影響對(duì)數(shù)據(jù)的感知精度,也會(huì)影響讀取閃存存儲(chǔ)數(shù)據(jù)的可靠性。

      鑒于優(yōu)化巴氏參數(shù)構(gòu)造法相比其他構(gòu)造法具有更好的誤比特率性能,使用優(yōu)化巴氏參數(shù)法構(gòu)造(136,128)鑿孔碼字,采用SCL(L=4)譯碼算法,觀察當(dāng)閃存中擦除單元的標(biāo)準(zhǔn)差改變時(shí),極化碼的誤比特率性能變化,如圖15 所示。

      Fig.15 Bit error rate of NAND FLASH erasing unit with different standard deviation圖15 閃存擦除單元標(biāo)準(zhǔn)差不同時(shí)的誤比特率

      圖15 表示閃存擦除單元的標(biāo)準(zhǔn)差σ 不同時(shí),(136,128)鑿孔極化碼的誤比特率性能曲線??梢缘玫饺缦陆Y(jié)論:當(dāng)擦除狀態(tài)閾值電壓的標(biāo)準(zhǔn)差變小時(shí),極化碼的誤比特率性能有一定提升。當(dāng)BER=10-1時(shí),與σ=0.35、0.45 的曲線相比,σ=0.25 的曲線分別獲得了約0.035 dB 與0.08 dB的增益。這是因?yàn)殡S著擦除狀態(tài)標(biāo)準(zhǔn)差的不斷減小,閃存單元之間的重疊區(qū)域也逐漸減小,存儲(chǔ)感知精度上升,使得極化碼的糾錯(cuò)性能得到提升。

      4 結(jié)語(yǔ)

      本文將閃存存儲(chǔ)單元的LLR 值擬合為高斯分布,并將其方差與極化碼構(gòu)造相關(guān)聯(lián),使得極化碼可以適用于閃存存儲(chǔ)數(shù)據(jù)的糾錯(cuò)應(yīng)用中,但是由于閃存通常要求較高的碼率,故引入鑿孔極化碼解決碼率兼容問(wèn)題。根據(jù)閃存頁(yè)容量和已知的元數(shù)據(jù)信息,拆分出不同的鑿孔極化碼,通過(guò)仿真結(jié)果可知,本文提出的優(yōu)化巴氏參數(shù)法相比高斯近似和蒙特卡洛法的誤比特率性能更好,并且優(yōu)化巴氏參數(shù)法構(gòu)造的(550,512)鑿孔碼字相比其他鑿孔碼字具有更好的糾錯(cuò)性能。當(dāng)改變SCL 譯碼算法的L 值,閃存的誤比特率性能會(huì)隨著L 的增大而增強(qiáng)。本文還驗(yàn)證如下:隨著閃存擦除單元標(biāo)準(zhǔn)差的減小,各存儲(chǔ)單元之間的噪聲干擾減弱,存儲(chǔ)器對(duì)存儲(chǔ)數(shù)據(jù)的感知精度上升,極化碼的糾錯(cuò)性能提升。但同時(shí)也存在一些不足,如閾值電壓分布狀態(tài)的改變對(duì)極化碼糾錯(cuò)的影響還沒(méi)有研究透徹。本文主要分析了擦除狀態(tài)閾值電壓分布的改變對(duì)極化碼糾錯(cuò)性能的影響,未來(lái)還可以分析其他編程狀態(tài)閾值電壓分布的改變對(duì)極化碼糾錯(cuò)性能的影響。

      猜你喜歡
      存儲(chǔ)單元比特率閾值電壓
      基于深度學(xué)習(xí)的有源智能超表面通信系統(tǒng)
      一種28 nm工藝下抗單粒子翻轉(zhuǎn)SRAM的12T存儲(chǔ)單元設(shè)計(jì)
      雜質(zhì)縱向高斯分布UTBB-SOI MOSFET的虛擬陰極閾值電壓解析模型
      數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)形式及實(shí)驗(yàn)驗(yàn)證
      基于非均勻感知策略的MLC閃存系統(tǒng)①
      基于多個(gè)網(wǎng)絡(luò)接口的DASH系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      一種成本更低的全新靜態(tài)DRAM存儲(chǔ)單元
      MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
      相同比特率的MPEG視頻雙壓縮檢測(cè)*
      65nm工藝下MOSFET閾值電壓提取方法研究
      湖北省| 揭阳市| 治多县| 乌鲁木齐市| 清原| 岱山县| 临夏县| 屏东市| 葫芦岛市| 舞阳县| 那曲县| 伊通| 涿州市| 财经| 尼玛县| 滁州市| 启东市| 青铜峡市| 庐江县| 渭源县| 庆安县| 冀州市| 承德县| 阿瓦提县| 平遥县| 阿克陶县| 米脂县| 桐梓县| 双桥区| 峨山| 宁国市| 潮州市| 镇康县| 峨山| 门源| 都昌县| 韩城市| 肃宁县| 鹿邑县| 肃南| 湖口县|