• 
    

    
    

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

      基于CRC與比特交織的LDPC碼3D Flash差錯控制方法研究

      2020-06-19 08:45:58郟宏鑫郭銳
      軟件導(dǎo)刊 2020年4期

      郟宏鑫 郭銳

      摘要:為解決3D Flash存儲密度增大導(dǎo)致Flash整體誤碼率不斷提高、數(shù)據(jù)可靠存儲時間縮短的問題,提出一種基于循環(huán)冗余校驗與比特交織的LDPC碼3D Flash差錯控制方法。該方法首先用CRC判決讀取數(shù)據(jù)是否出錯,若出錯則實施LDPC糾錯,避免浪費糾錯資源。在數(shù)據(jù)讀寫過程中使用比特交織的方法改變3D TLCFlash邏輯頁的比特信息存放順序,降低3D Flash單一邏輯頁誤碼率過高引起的不必要壞區(qū)發(fā)生概率。仿真結(jié)果表明,在3D TLC Flash信道下,LSB邏輯頁的比特誤碼率下降約35.7%,F(xiàn)lash數(shù)據(jù)保留時間增加了30.go-/o。該差錯控制方法可在3D TLC Flash控制器中實現(xiàn),不僅可提高3D TLC Flash數(shù)據(jù)存儲可靠性,還可延長3DTLC Flash數(shù)據(jù)可靠存儲時間。

      關(guān)鍵詞:三維三層單元閃存;低密度奇偶檢驗碼;循環(huán)冗余校驗;比特交織;差錯控制

      DOI: 10. 11907/rjdk.191719

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      中圖分類號:TP393

      文獻(xiàn)標(biāo)識碼:A

      文章編號:1672-7800(2020)004-0247-05

      0 引言

      3D Flash作為Flash發(fā)展的新方向備受關(guān)注[1],其存儲單元結(jié)構(gòu)復(fù)雜,單元間相互干擾比傳統(tǒng)平面Flash更嚴(yán)重,因此會產(chǎn)生更多的錯誤,在3D Flash實際使用過程中,隨著Flash擦寫次數(shù)增加及Flash存儲數(shù)據(jù)時間變長,其可靠性不斷下降,因此需改進(jìn)3D Flash差錯控制技術(shù)[2-4]。為保證3D Flash存儲數(shù)據(jù)可靠性,目前最常用的方法是采用低密度奇偶檢驗糾錯碼進(jìn)行3D Flash差錯控制[5]。張猛等[6]在FPCA平臺進(jìn)行了關(guān)于3D Flash錯誤模式仿真,研究了3D TLC Flash邏輯頁誤碼率特性,將該特性應(yīng)用到3D TLCFlash LDPC解碼過程中,分析優(yōu)化了解碼過程中對數(shù)似然信息計算;Cristian等[7]通過機器學(xué)習(xí)優(yōu)化LDPC糾錯碼率,利用3D TLC Flash分析Flash存儲耐久性,但是已有研究均未給出具體的3D Flash差錯控制應(yīng)用方案;Nakamura等[8]提出自適應(yīng)人工神經(jīng)網(wǎng)絡(luò)結(jié)合LDPC碼的糾錯方案,通過人工神經(jīng)網(wǎng)絡(luò)自適應(yīng)計算譯碼信息,可有效糾正錯誤、延長數(shù)據(jù)保留時間,但該方法沒有考慮到Flash在實際使用過程中數(shù)據(jù)存儲出錯比例較小,讀取的數(shù)據(jù)全部參與神經(jīng)網(wǎng)絡(luò)迭代譯碼對數(shù)似然信息分析,硬件復(fù)雜度高,且僅限于計算機輔助運算,迭代計算量巨大[9-10]。此外即使讀取的存儲數(shù)據(jù)存在錯誤,對錯誤數(shù)據(jù)所在頁直接進(jìn)行LDPC迭代譯碼,也容易出現(xiàn)迭代譯碼次數(shù)過多或迭代譯碼失敗的情況[11-12];Tokutomi[13]針對3D TLC Flash提出一種錯誤位置記錄表的差錯控制方法,該方法將Flash錯誤位置記錄到表中,在下一個讀取周期中參考錯誤位置記錄表,提前消除部分錯誤數(shù)據(jù),減少重復(fù)位置錯誤,但該方法沒有考慮3D TLC Flash邏輯頁誤碼率特性,只是單純地將存儲錯誤位置記到一個位置更新表中,隨著讀寫次數(shù)和數(shù)據(jù)保留時間的不斷增加,表占用存儲器容量過高且大容量數(shù)據(jù)對比計算量巨大,查找操作將顯著增加譯碼時延。

      以上方法均未能在兼顧3D TLC Flash邏輯頁誤碼率特性的情況下給出一種低計算復(fù)雜度且便于實際使用的3D Flash差錯控制方法。因此本文通過分析3D TLC Flash邏輯頁誤碼率特性與Flash糾錯過程中不必要的糾錯迭代過程,提出提高3D TLC Flash數(shù)據(jù)可靠存儲時長且便于實際使用的差錯控制方法。針對3D TLC Flash實際數(shù)據(jù)存儲出錯比例較小情況,引入CRC校驗碼過濾時不需要進(jìn)行糾錯的Flash邏輯頁,改進(jìn)文獻(xiàn)[7-8]中不必要的LDPC碼糾錯迭代計算過程引入的復(fù)雜度,同時考慮到文獻(xiàn)[6]中3D TLC Flash邏輯頁誤碼率特性,引入比特交織方法改變3D TLC Flash邏輯頁中錯誤信息比特分布情況,將LSB頁中較高的誤比特率分配至誤比特率較低的其余邏輯頁中,在總平均誤碼率不變的情況下,改善3D TLC Flash單一邏輯頁誤碼率過高引起壞區(qū)增多的情況,最終構(gòu)建一種能夠提高3D TLC Flash存儲可靠性、增加數(shù)據(jù)可靠存儲時長且易于實現(xiàn)的差錯控制方法。

      1 3D TLC Flash邏輯頁錯誤特征

      Wu等[6]對3D TLC Flash存儲單元邏輯頁誤碼率進(jìn)行了FPCA仿真研究,圖1和圖2顯示了在讀寫次數(shù)分別約為3K和6K時,LSB頁、CSB頁、MSB頁誤碼率與數(shù)據(jù)保留時長之間的關(guān)系[14]。由圖1、圖2可知,在數(shù)據(jù)保留時間相同的情況下,隨著讀寫次數(shù)的增加,LSB頁誤碼率增幅遠(yuǎn)大于CSB頁和MSB頁誤碼率,CSB頁誤碼率增幅略大于MSB頁面誤碼率。當(dāng)讀寫次數(shù)一定時,隨著數(shù)據(jù)保留時長的增長,LSB頁誤碼率水平遠(yuǎn)大于CSB頁和MSB頁誤碼率,CSB頁誤碼率略大于MSB頁面誤碼率,并且隨著數(shù)據(jù)保留時間的持續(xù)增加,LSB頁誤碼率情況始終較高。

      在3D TLC Flash數(shù)據(jù)存儲過程中,當(dāng)存儲單元所在MSB、CSB、LSB頁的其中一個邏輯頁誤碼率過高且超過LDPC差錯控制器糾錯能力閾值時,該邏輯頁會由于誤碼率過高而糾錯失敗,此時即使位于該邏輯頁字線的其它邏輯頁能夠通過LDPC差錯控制器成功完成糾錯,這些邏輯頁所在存儲區(qū)仍舊會被Flash控制器判定為壞區(qū)[14],該現(xiàn)象嚴(yán)重影響了3D TLC Flash長時間數(shù)據(jù)存儲可靠性。由于3D TLC Flash中不同邏輯頁能夠正確存儲數(shù)據(jù)的能力不同,其中MSB頁能夠正確存儲數(shù)據(jù)的時間最長,CSB頁次之,LSB頁最差。因而LSB頁誤碼率情況是影響3DTLC Flash長時間數(shù)據(jù)存儲的關(guān)鍵因素。隨著3D TLCFlash存儲時間的延長,如果LSB頁誤碼率性能惡化到超過LDPC差錯控制器的糾錯閾值,則即使在MSB頁,CSB頁誤碼率在可被正確譯碼還原數(shù)據(jù)的情況下,該邏輯頁所在區(qū)也會被Flash控制器認(rèn)作為壞區(qū)進(jìn)行處理,從而影響存儲性能。圖3描述了3D TLC Flash邏輯頁誤碼率與LD-PC糾錯能力的關(guān)系,隨著Flash使用時間的延長,所有邏輯頁誤碼率均不斷增加,當(dāng)某一邏輯頁誤碼率達(dá)到Flash糾錯碼最大糾錯閾值時,該邏輯頁所在區(qū)域?qū)⒉豢煽?。因此為提?D TLC Flash長時間正確存儲數(shù)據(jù)的能力,需解決LSB邏輯頁誤碼率問題,使LSB頁誤碼率曲線在達(dá)到LDPC碼糾錯能力閾值時,對應(yīng)的數(shù)據(jù)保留時間盡量長[15]。

      2 3D TLC Flash差錯控制方法設(shè)計

      3D TLC Flash改善糾錯性能需要考慮兩個問題:①Flash糾錯效率問題,即如何提高數(shù)據(jù)處理有效性;②Flash邏輯頁經(jīng)過大量擦寫后,隨著數(shù)據(jù)保留時間的延長,LSB頁誤碼率突兀、糾錯性能差的問題,即如何提高數(shù)據(jù)存儲可靠性。

      針對問題一,本文引入CRC碼,檢查讀取數(shù)據(jù)是否出錯。CRC碼作為檢錯碼需在校驗開始前選擇一個能代表特定二進(jìn)制數(shù)字的多項式。在消息發(fā)送和接收時均需用到多項式,且它的MSB位和LSB位都是1;其次將需要發(fā)送的消息先與該多項式進(jìn)行數(shù)模2除運算,得到傳輸需要的CRC碼并把它添加到發(fā)送消息的末尾,再經(jīng)過信道進(jìn)行傳輸[16]。生成的新序列能讓發(fā)送端和接收端共同選定的某個特征進(jìn)行數(shù)模2運算,如果有余數(shù),則說明數(shù)據(jù)幀在傳輸過程中出錯;如果運算后為0,則說明數(shù)據(jù)在傳輸過程中沒有發(fā)生錯誤[17-18]。由于Flash頁中存在錯誤的比特數(shù)占全部數(shù)據(jù)比特的比例很小,引入CRC碼可以讓本來不存在錯誤的Flash頁避免計算量復(fù)雜的LDPC糾錯譯碼運算,從而提高Flash糾錯效率與數(shù)據(jù)處理有效性[19]。

      針對問題二,本文在Flash糾錯控制器中引入比特交織器。Flash中的錯誤會使存儲單元狀態(tài)發(fā)生轉(zhuǎn)變,其中單元存儲狀態(tài)轉(zhuǎn)移到相鄰狀態(tài)較為容易,而跨越相鄰狀態(tài)轉(zhuǎn)變成其它次級狀態(tài)則十分困難。另外,F(xiàn)lash中的錯誤會使存儲單元從含有較少電子的存儲單元狀態(tài)向具有較多電子數(shù)量的存儲單元狀態(tài)轉(zhuǎn)移[20]。結(jié)合圖4的存儲單元狀態(tài)分析可知,3D TLC Flash的單元狀態(tài)轉(zhuǎn)變絕大部分是相鄰狀態(tài)間的轉(zhuǎn)變,并且轉(zhuǎn)變呈現(xiàn)L0→L1→…→L7這樣電平值增大的趨勢[6]。

      傳統(tǒng)TLC Flash存儲二進(jìn)制信息比特可由圖5表示(彩圖掃描OSID碼可見,下文同),可以看到數(shù)據(jù)是按照TLC存儲單元最高位有效位、中央有效位、最低有效位的形式,分別拆分、并行存人對應(yīng)字線的MSB、CSB、LSB頁3個邏輯頁中去,其中信息比特中加粗的是數(shù)據(jù)存入TLCFlash邏輯頁中一定時間內(nèi),發(fā)生錯誤的位置對應(yīng)TLCFlash邏輯頁的紅色二進(jìn)制比特。由于TLC Flash在長時間數(shù)據(jù)保留過程中,LSB邏輯頁誤碼率最高,如圖5中的信息比特流存儲于邏輯頁錯誤分布情況描述,由于LSB位比特誤碼率高,所以存儲到邏輯頁中后LSB頁的比特誤碼率明顯高于CSB頁和MSB頁,此外CSB頁的比特誤碼率略高于MSB頁。數(shù)據(jù)未出錯存儲情況下的位線狀態(tài)也在圖5中給出,以便與邏輯頁數(shù)據(jù)比較。其中信息比特序列出錯情況是最低有效位容易發(fā)生錯誤,而中央有效位和最高有效位出錯概率較小。

      經(jīng)過比特交織處理后的TLC Flash存儲二進(jìn)制信息的比特方式如圖6所示,可以看到數(shù)據(jù)在存入邏輯頁前首先對數(shù)據(jù)段進(jìn)行了均勻分段,分段后的數(shù)據(jù)分別依次串行輸入到MSB、CSB、LSB邏輯頁中,而不同于傳統(tǒng)方法中的最高有效位只存儲在MSB邏輯頁、中央有效位只存儲在CSB邏輯頁、最低有效位只存儲在LSB邏輯頁的存儲數(shù)據(jù)形式。其中加粗的信息比特與Flash邏輯頁中紅色二進(jìn)制比特如圖5所述。數(shù)據(jù)未出錯存儲情況下的位線狀態(tài)同樣也已給出。對比圖5所示的傳統(tǒng)TLC Flash邏輯頁的存儲方式,TLC Flash長時間存儲信息條件下,兩種方案的Flash邏輯頁平均誤比特率相同,但經(jīng)過比特交織處理后的存儲形式LSB頁誤比特率得到了明顯改善,傳統(tǒng)方案LSB頁的比特誤碼率在圖5中約為0.625,而串并轉(zhuǎn)換方案LSB頁的比特誤碼率在圖6中約為0.375。雖然MSB頁和CSB頁的誤比特率有一定程度的增加,但隨著信息比特長度的增加,它們的誤比特率遠(yuǎn)低于傳統(tǒng)LSB頁的誤比特率,只要LSB頁的誤比特率在邏輯頁可被LDPC碼正確糾錯的閾值之內(nèi),則這3個邏輯頁均可糾錯譯碼。

      通過在數(shù)據(jù)寫入3D TLC Flash邏輯頁前進(jìn)行比特交織處理,改變錯誤信息比特在Flash邏輯頁中的分布情況,將LSB頁中存在較高的誤比特率分配至誤比特率較低的其余邏輯頁中,在總平均誤碼率不變的情況下,略微增加MSB和CSB邏輯頁的誤比特率,可減少3D TLC Flash中LSB頁較大誤比特率造成的單一邏輯頁誤碼率過高引起壞區(qū)增多的情況,從而大幅提高3D TLC Flash長時間存儲數(shù)據(jù)的可靠性。本文提出的Flash糾錯方法添加了通信硬件中常用的CRC校驗?zāi)K與交織模塊,因此可以在3D TLCFlash控制器中實現(xiàn)。

      3 3D TLC Flash差錯控制方法仿真

      3.1 差錯控制方法框圖

      3.1.1 數(shù)據(jù)寫入階段

      將長度為k的用戶數(shù)據(jù)信息X{x1,x2,…,xk)分別經(jīng)過CRC編碼器和LDPC編碼器處理,得到長度為r1的CRC校驗位(記作CRC-P)和長度為r2的LDPC校驗位(記作LDPC-P)。將長度為k的用戶信息、長度為r1的CRC校驗位信息以及長度為r,的LDPC校驗位信息組成總長度為n的碼字C{c,,c2,…,ct,Ck+l,Ck+2,…,Ck+1,Ck+rl+l,…,Cn),其中n=k+r1 +r2。將碼字C經(jīng)過比特交織分段處理后,改變原有邏輯頁數(shù)據(jù)存儲順序并寫入到TLC Flash存儲器中。其中用戶信息存儲在Flash數(shù)據(jù)區(qū),CRC校驗位和LDPC校驗位存儲在Flash冗余區(qū)。數(shù)據(jù)寫入階段框架如圖7所示。

      由圖8可知,F(xiàn)lash糾錯方法用到2個交織器件與CRC編譯碼器模塊,硬件復(fù)雜度略有所增加,但數(shù)字電路為常用模塊,因此可以在3D TLC Flash控制器中用邏輯電路實現(xiàn)。

      3.2 仿真分析

      本部分對基于CRC和比特交織的LDPC碼的3DFlash差錯控制方法進(jìn)行仿真,仿真信道為3D TLC Flash信道(}昆合噪聲信道),分別對傳統(tǒng)3D TLC差錯控制方法與本文提出的差錯控制方法進(jìn)行測試,測試時長為4周,每天對3D TLC Flash循環(huán)隨機擦寫次數(shù)約50次,統(tǒng)計擦寫完成后相應(yīng)的Flash邏輯頁誤碼率情況見圖9和圖10。

      可以看到在擦寫測試周期里,傳統(tǒng)TLC數(shù)據(jù)存儲方法隨著數(shù)據(jù)保留時間的增加,各個邏輯頁的比特誤碼率均有提高,LSB邏輯頁的比特誤碼率曲線斜率明顯高于MSB和CSB邏輯頁,且數(shù)據(jù)保留時間越長,LSB邏輯頁與MSB、CSB邏輯頁之間的比特誤碼率差距越大。本文提出的基于CRC與比特交織的LDPC碼3D Flash差錯控制方法隨著數(shù)據(jù)保留時間的增加,各個邏輯頁比特誤碼率均有提高,且CSB、MSB的比特誤碼率增幅比傳統(tǒng)方法更大。但是LSB邏輯頁的比特誤碼率有明顯改善,在測試周期結(jié)束后測得LSB頁比特誤碼率由0.014降低到了0.009,下降幅度約為35.7%。兩方案的平均邏輯頁誤碼率相近,說明本文方法降低了3D TLC Flash LSB頁單一邏輯頁誤碼率,提高了3D TLC Flash長時間存儲數(shù)據(jù)的可靠性。

      調(diào)節(jié)LDPC差錯控制器設(shè)定的最大迭代次數(shù)可以改變系統(tǒng)糾錯能力,從而得到LDPC譯碼迭代次數(shù)與Flash數(shù)據(jù)可靠保留時長之間的關(guān)系(見圖11),可以看到在擦寫測試周期里,當(dāng)LDPC最大迭代次數(shù)為50時,傳統(tǒng)TLC數(shù)據(jù)存儲方法的可靠數(shù)據(jù)保留時長約為20.7天,而本文提出的基于CRC與比特交織的LDPC碼3D Flash差錯控制方法數(shù)據(jù)可靠保留時長約為27.1天,數(shù)據(jù)可靠保留時間增加了30.9%,且在相同數(shù)據(jù)可靠保留時長的條件下,本文提出差錯控制方法所需最大迭代次數(shù)比傳統(tǒng)3D TLC數(shù)據(jù)存儲方法更少,這表明本文方法加快了糾錯迭代速率,從而具有較好的譯碼性能。

      4 結(jié)語

      本文提出了一種基于CRC與比特交織的LDPC碼3DFlash差錯控制方法。針對Flash實際數(shù)據(jù)存儲出錯比例較小情況,引入CRC校驗碼過濾不需要進(jìn)行糾錯的Flash邏輯頁,提高TLC Flash糾錯效率;針對Flash邏輯頁中LSB頁存在較高誤比特率的問題,引入比特交織方法改變錯誤信息比特在Flash邏輯頁中的分布情況,將LSB頁存在的較高誤比特率分配至誤比特率較低的其余邏輯頁中,在總平均誤碼率不變的情況下減少3D TLC Flash LSB頁中大誤比特率造成的單一邏輯頁誤碼率過高引起壞區(qū)增多的情況,提高了3D TLC Flash存儲可靠性。3D TLC Flash仿真擦寫測試結(jié)果表明,LSB邏輯頁比特誤碼率下降幅度約為35.7%,F(xiàn)lash數(shù)據(jù)保留時間增加了30.9%。同時,因本文方法添加了常用的CRC校驗?zāi)K與交織模塊,使該方法可在3D TLC Flash控制器中實現(xiàn)。

      參考文獻(xiàn)

      [1]

      KANG D. JEONC W, KIM C, et al. 256 Cb 3 h/cell V-NAND flashmemory with 48 stacked WL layers [J]. IEEE Journal of Solid-StateCircuits, 2017 , 52( 1) : 210-217.

      [2]

      WONG G. SSD market overview [M]. Inside Solid State Drives (SS-Ds) . Dordrecht: Springer, 2013.

      [3]

      TANAKAMARU S. YANACIHARA Y. TAKEUCHI K. Highly reli-able solid-state drives ( SSDs) ,vith error-prediction LDPC ( EP-LD-PC ) architecture and error-recovery scheme [ C]. 2013 18th Asia andSouth Pacific Design Automation Conference , 2013 : 83-84.

      [4]

      TOKUTOMI T, DOI M. HACHIYA S, et al. 7.7 enterprise-grade 6xfast read and Sx highly reliable SSD with TLC NAND-flash memoryfor big-data storage [ C ] . 2015 IEEE International Solid-State CircuitsConference. 2015 : 1-3.

      [5]

      NAKAMURA T, DEGUCHI Y, TAKEUCHI K. AEP-LDPC ECC witherror dispersion coding for burst error reduction of 2D and 3D NANDflash memories [Cl. 2017 IEEE International Memory Workshop,2017 : 1-4.

      [6]

      WU F, ZHANC M. DU Y, et al. Using error modes aware LDPC to im-prove decoding performance of 3D TLC NAND flash [J/OL]. IEEETransactions on Computer-Aided Design of Integrated Circuits andSystems :

      1,

      201 9-02-05.

      https : //ieeexplore.ieee.org/document/8634908.

      [7]

      ZAMBELLI C , CANCELLIERE G . RIGUZZI F . et al. Characterizationof TLC 3D-NAND flash endurance through machine learning for LD-PC code rate optimization[ C ] . 2017 IEEE International Memory Work-shop (IMW) . 2017 : 1-4.

      类乌齐县| 屯留县| 石渠县| 凤城市| 兴山县| 开封县| 四川省| 玉树县| 喜德县| 莎车县| 商都县| 旌德县| 丽水市| 赤水市| 盱眙县| 蓬安县| 淮安市| 阿图什市| 萨嘎县| 镇原县| 栾川县| 玛纳斯县| 威海市| 巫溪县| 民丰县| 华池县| 广平县| 通城县| 盐池县| 庄河市| 邯郸县| 白朗县| 临夏县| 天峨县| 河东区| 交城县| 云安县| 安龙县| 铁力市| 汉寿县| 大厂|