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

一種nand閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法

文檔序號:6544481閱讀:187來源:國知局
一種nand閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法
【專利摘要】本發(fā)明公開了一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法,該方法為:將初始數(shù)據(jù)從左到右進行迭代異或,左起第一位不變,生成碼字;判斷所述碼字的0的數(shù)據(jù)個數(shù)是否過半,若過半,則對碼字進行翻轉(zhuǎn),并在翻轉(zhuǎn)后的數(shù)據(jù)最后添加標識位。本發(fā)明的方法能減少NAND閃存中待存入數(shù)據(jù)里CSPs數(shù)據(jù)模式,降低充電峰值電流,提高電壓相對較低的區(qū)域中數(shù)據(jù)存儲率,降低電壓衰減導(dǎo)致的數(shù)據(jù)錯誤,從而加強數(shù)據(jù)可靠性。
【專利說明】一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及閃存容錯編碼【技術(shù)領(lǐng)域】,具體是一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法,適用于基于NAND閃存芯片的固態(tài)硬盤。
【背景技術(shù)】
[0002]固態(tài)硬盤(SSD,solid state drive)是一種利用Flash芯片或者DRAM芯片作為數(shù)據(jù)永久存儲的硬盤,而基于Flash存儲器又分為NOR型和NAND型,在這里我們所討論的是NANDFlash memory,簡稱NAND閃存。NAND閃存是一種高性能、可攜帶、低功耗、非易失的存儲技術(shù),是當前在國際上備受關(guān)注的存儲裝置,而NAND閃存編碼技術(shù)是當前研究者關(guān)注的熱門領(lǐng)域,它涉及多學(xué)科高度交叉、知識高度集成的前沿?zé)狳c研究領(lǐng)域。
[0003]由于計算機的數(shù)據(jù)只有O和I兩種形式,在NAND閃存芯片中是使用晶體管中的電荷來表示和保存數(shù)據(jù)。NAND閃存芯片由許多晶體管組成,每個這樣的晶體管稱作“Cell”,即單元。Cell有兩種類型:第一種是SLC(Single Level Cell),每個Cell可以存儲Ibit數(shù)據(jù),Cell中充滿電表示0,放電后表示I ;第二種為MLC (Mult1-Level Cell),每個Cell可以存儲多個bit,可以表示多種狀態(tài)的數(shù)據(jù),使用多個電壓閾值來表示不同的數(shù)據(jù)狀態(tài)。
[0004]每一個NAND閃存芯片中由許多Cell串組成,每個Cell串是由多個Cell串聯(lián)而成,處于一條位線(bit-line)上,如圖1中區(qū)域I內(nèi)的Cell處于一條位線上,每個Cell串每次只能讀寫其中一個Cell,多個Cell串并聯(lián)則可以并行讀寫多位數(shù)據(jù),所有位于Cell串相同位置上的Cell稱作一頁(Page),如圖1中區(qū)域2內(nèi)的Cell就組成一頁(Page),將一頁(Page)上的Cell貫穿起來的導(dǎo)線組稱為字線(word-line),多個頁(Page)組成一個塊(Block)。每一個NAND閃存芯片包含多個塊(Block)。對于NAND閃存來說,讀寫操作的最小單位是頁(Page),而一旦數(shù)據(jù)需要擦除,則需要擦除整塊(Block)。
[0005]NAND閃存相比于傳統(tǒng)硬盤雖然具備讀取速度快、無噪音和發(fā)熱量低等優(yōu)點,但是隨著時間的推移,NAND存儲介質(zhì)的使用壽命逐漸縮短,一方面對cell充電后,由于應(yīng)力引起的泄漏電流(SILC)或電子陷阱從隧道氧化物從浮動閘門的電子噴射而引起電壓衰減會導(dǎo)致數(shù)據(jù)保留錯誤(Data retention error);另一方面,讀寫操作電壓引起的電子注入也會導(dǎo)致干擾錯誤(Program disturbance error),從而引發(fā)數(shù)值隨機差錯。而數(shù)據(jù)保留錯誤的出錯率是干擾錯誤出錯率的幾百倍。由于閃存的Cell中數(shù)據(jù)保留錯誤的表現(xiàn)是數(shù)據(jù)O衰減變成數(shù)據(jù)1,因此,如果能增加存入數(shù)據(jù)中I的比重,便可以容錯,降低數(shù)據(jù)保留錯誤。此外,在cell充電時,為了維持位線之間的電勢差,需要在寫操作的同時對相鄰位線之間的電容進行充電,其充電的峰值電流可高達幾百至上千毫安,不僅消耗電能而且這種突發(fā)的強電流極易導(dǎo)致存儲設(shè)備異常,造成數(shù)據(jù)丟失。而CSPs數(shù)據(jù)模式(CSPs =Column StripePatterns,是指數(shù)據(jù)中O和I交錯存入,如101010...,相鄰數(shù)據(jù)都出現(xiàn)電勢差,則需要很大電容來維持數(shù)據(jù)電勢差)是消耗充電峰值電流最大的一種數(shù)據(jù)模式,因此,在數(shù)據(jù)存入NAND閃存時,有必要進行預(yù)先編碼運算,讓數(shù)據(jù)以合理的狀態(tài)存入cell中,這里合理的狀態(tài)是指盡可能將數(shù)據(jù)通過編碼增加I的個數(shù),從而減少電壓衰減所導(dǎo)致的隨機數(shù)據(jù)錯誤,以及消除CSPs數(shù)據(jù)模式,從而降低突發(fā)的寫操作峰值電流強度和功耗,提高存儲設(shè)備的可靠性。
[0006]R.Rivest等人在上世紀八十年代首次提出在NAND閃存里進行重寫,由于閃存內(nèi)的存儲單元存儲的數(shù)據(jù)只能由低到高,反過來則不允許。因此提出一種新穎的編碼方案就是重寫,在原來已經(jīng)存儲了數(shù)據(jù)的單元中繼續(xù)存儲數(shù)據(jù),只需要升高原來的電壓就可以達到重復(fù)存儲數(shù)據(jù)的目的,同時,每次重寫引入兩個變量使譯碼得以實現(xiàn)。這種方法能夠減少NAND閃存的擦寫次數(shù),但是并沒有容錯的作用。
[0007]Tanakamaru等人在近年提出一種SPEA消除算法和非對稱編碼算法,通過消除CSPs數(shù)據(jù)模式降低功耗,再使用非對稱編碼算法增加數(shù)據(jù)I的存儲率,以此來降低數(shù)據(jù)保留錯誤和干擾錯誤。
[0008]NAND閃存是一種新興存儲設(shè)備,因此相關(guān)理論研究也是新興的一個熱門研究領(lǐng)域,對于閃存編碼技術(shù)的目的包括消除NAND閃存數(shù)據(jù)存儲過程中的大功耗數(shù)據(jù)模式,解決高電流所導(dǎo)致的存儲設(shè)備異常問題;緩解閃存因使用壽命的降低所導(dǎo)致的數(shù)據(jù)保留錯誤問題;增加寫的次數(shù),以此減少擦除次數(shù)來延長閃存使用壽命。

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

[0009]本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有編碼技術(shù)不足,提供一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲編碼方法,減少NAND閃存中待存入數(shù)據(jù)里CSPs數(shù)據(jù)模式,增加數(shù)據(jù)I的個數(shù),降低數(shù)據(jù)差錯率,同 時降低充電峰值電流。
[0010]為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法,該方法為:將初始數(shù)據(jù)從左到右進行迭代異或,左起第一位不變,生成新碼字;判斷所述新碼字的O的數(shù)據(jù)個數(shù)是否過半,若過半,則對所述新碼字進行翻轉(zhuǎn),并在翻轉(zhuǎn)后的數(shù)據(jù)最后添加標識位。
[0011]本發(fā)明方法具體步驟如下:
[0012]I)將待存數(shù)據(jù)dQ,Cl1, d2……..Cl2lri輸入到相應(yīng)的I/O數(shù)據(jù)緩沖區(qū),所述待存數(shù)據(jù)長度為Cn = 2n = 2m,η≥4,m≥3 ;
[0013]2)將所述待存數(shù)據(jù)從左到右進行異或處理,第一位Cltl保持不變,Cl1和Cltl異或得到新碼字第Cl1個數(shù)據(jù),以此類推,最后,d2n_2和d2n_3異或得到新碼字第d2n_2個數(shù)據(jù),Cl2lri和d2n_2異或得到新碼字第Cl2lri個數(shù)據(jù);
[0014]3)將經(jīng)上述步驟2)異或處理后的數(shù)據(jù)進行二進制相加,并將相加結(jié)果存儲在一個m位的寄存器中,當相加結(jié)果不足m位時,在前面補O ;將所述相加結(jié)果的最高有效位取反得到標識位的值;
[0015]4)將經(jīng)上述步驟2)異或處理后的數(shù)據(jù)與所述標識位的值進行異或處理;
[0016]5)將所述標識位的值作為經(jīng)上述步驟4)處理后的數(shù)據(jù)的最后一位,得到最終的(2n+l)位數(shù)據(jù),在相應(yīng)的I/O數(shù)據(jù)接口中輸出最終的數(shù)據(jù)。
[0017]與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明的方法能減少NAND閃存中待存入數(shù)據(jù)里CSPs數(shù)據(jù)模式,提高數(shù)據(jù)I的比重,從而減少電壓衰減所導(dǎo)致的隨機數(shù)據(jù)錯誤,并降低突發(fā)的寫操作峰值電流強度和功耗,提高存儲設(shè)備的可靠性?!緦@綀D】

【附圖說明】
[0018]圖1為NAND閃存的一個Block內(nèi)部結(jié)構(gòu)示意圖;
[0019]圖2為本發(fā)明一實施例編碼過程示意圖;
[0020]圖3為本發(fā)明一實施例譯碼過程示意圖;
[0021]圖4為本發(fā)明邏輯電路實施示意圖。
【具體實施方式】
[0022]本發(fā)明是針對NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯方法是先對待存入設(shè)備的初始數(shù)據(jù)進行迭代異或編碼,得到新碼字之后再進行糾錯碼ECC編碼,把編碼后的碼字再寫入NAND閃存芯片中。在讀取數(shù)據(jù)時,是先把芯片中的碼字進行ECC譯碼,然后再進行迭代異或譯碼讀取到數(shù)據(jù)。以上的ECC編碼/譯碼以及迭代異或編碼/譯碼都是在FPGA(現(xiàn)場可編程門陣列)中完成。
[0023]本發(fā)明編碼過程分為兩個階段:第一個階段,對于待存入設(shè)備的初始數(shù)據(jù)先從左到右進行迭代異或,左起第一個數(shù)據(jù)保持不變,生成碼字I (見圖2);第二個階段,對碼字I的O和I的個數(shù)進行判斷,如果O的個數(shù)大于一半則將碼字I全部進行位翻轉(zhuǎn)得到最終的碼字2 (見圖2),并且在數(shù)據(jù)后添加標識位Flag (見圖2)。
[0024]本發(fā)明譯碼過程是首先根據(jù)標識位來判斷碼字2 (見圖3)是否翻轉(zhuǎn),如果數(shù)據(jù)翻轉(zhuǎn)則譯碼時也全部翻轉(zhuǎn)數(shù)據(jù),再從左到右迭代異或得到初始數(shù)據(jù),同時第一位保持不變。
[0025]這種針對NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯方法在對初始數(shù)據(jù)進行編碼之后可以減少CSPs數(shù)據(jù)模式,降低寫操作的峰值電流和設(shè)備功耗,而對O個數(shù)的判斷來翻轉(zhuǎn)數(shù)據(jù)則能提高I在整個數(shù)據(jù)中所占比重,提高數(shù)據(jù)可靠性。
[0026]示例:數(shù)據(jù)長度使用2n_bits,編碼過程如圖2所示,譯碼過程如圖3所示,其中,標識位Flag是冗余開銷。
[0027]本發(fā)明具體實現(xiàn)步驟如下:
[0028]第一步,將待存數(shù)據(jù)先輸入到相應(yīng)的I/O數(shù)據(jù)緩沖區(qū)(如圖4input區(qū)域),數(shù)據(jù)長度 Cn = 2n = 2m, η > 4, m > 3。
[0029]第二步,將數(shù)據(jù)從左到右進行異或處理。數(shù)據(jù)用‘ Cl1, d2……..Cl2lri來表示,第一位Cltl保持不變,Cl1和Cltl或得到新碼字第Cl1數(shù)據(jù),以此類推,最后,d2n_2和d2n_3或得到新碼字第d2n_2數(shù)據(jù),Cl2lri和d2n_2異或得到新碼字第Cl2lri個數(shù)據(jù)。如圖4。
[0030]第三步,將第二步得到的數(shù)據(jù)全部進行二進制相加,結(jié)果存儲在一個m位的寄存器中,不足m位的在前面補O。這里只有一種情況會產(chǎn)生溢出,即第二步產(chǎn)生的數(shù)據(jù)均為1,二進制相加之后和為(m+1)位,但是這種情況的概率是l/22n,當η不斷增大時候l/22n接近于O,因此這里暫不考慮。MSB(The most significant bit)是指最高有效位,也就是m位里的左起第一位。通過MSB可以判斷第二步得到的數(shù)據(jù)中的O是否大于一半,如果MSB是1,那么數(shù)據(jù)中O的個數(shù)少于數(shù)據(jù)總長度的1/2,如果MSB是0,則數(shù)據(jù)中O的個數(shù)大于等于數(shù)據(jù)總長度的1/2。計算出MSB的值后取反得到標識位的值。如圖4。
[0031]第四步,將第二步產(chǎn)生的數(shù)據(jù)均和所述標識位進行異或處理得到最終的數(shù)據(jù)。如圖4。
[0032]第五步,將第四步產(chǎn)生的數(shù)據(jù)(含標識位,置于數(shù)據(jù)最后一位)在相應(yīng)的I/O數(shù)據(jù)接口中輸出(如圖4output區(qū)域)。
【權(quán)利要求】
1.一種NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法,其特征在于,該方法為:將初始數(shù)據(jù)從左到右進行迭代異或,左起第一位不變,生成新碼字;判斷所述新碼字的O的數(shù)據(jù)個數(shù)是否過半,若過半,則對所述新碼字進行翻轉(zhuǎn),并在翻轉(zhuǎn)后的數(shù)據(jù)最后添加標識位。
2.根據(jù)權(quán)利要求1所述的NAND閃存系統(tǒng)的數(shù)據(jù)存儲容錯編碼方法,其特征在于,該方法具體步驟如下: 1)將待存數(shù)據(jù)屯,Cl1,d2……..Cl2lri輸入到相應(yīng)的I/O數(shù)據(jù)緩沖區(qū),所述待存數(shù)據(jù)長度為 Cn = 2n = 2% η ≤ 4,m ≤ 3 ; 2)將所述待存數(shù)據(jù)從左到右進行異或處理,第一位Cltl保持不變,Cl1和Cltl異或得到新碼字第Cl1個數(shù)據(jù),以此類推,最后,d2n_2和d2n_3異或得到新碼字第d2n_2個數(shù)據(jù),Cl2lri和d2n_2異或得到新碼字第Cl2lri個數(shù)據(jù); 3)將經(jīng)上述步驟2)異或處理后的數(shù)據(jù)進行二進制相加,并將相加結(jié)果存儲在一個m位的寄存器中,當相加結(jié)果不足m位時,在前面補O ;將所述相加結(jié)果的最高有效位取反得到標識位的值; 4)將經(jīng)上述步驟2)異或處理后的數(shù)據(jù)與所述標識位的值進行異或處理; 5)將所述標識位的值作為經(jīng)上述步驟4)處理后的數(shù)據(jù)的最后一位,即標識位,得到最終的(2n+l)位數(shù)據(jù),在相應(yīng)的I/O數(shù)據(jù)接口中輸出最終的數(shù)據(jù)。
【文檔編號】G06F11/10GK103942115SQ201410162872
【公開日】2014年7月23日 申請日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】胡玉鵬, 劉萬青, 劉衛(wèi)東, 卿敏龍, 宋順, 周超 申請人:湖南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宕昌县| 彝良县| 金寨县| 偃师市| 梁平县| 辰溪县| 阿荣旗| 拉萨市| 上犹县| 田阳县| 哈密市| 聊城市| 禄丰县| 英吉沙县| 灵璧县| 弥勒县| 博乐市| 县级市| 黄冈市| 天峻县| 诸暨市| 梅州市| 阳春市| 凤山县| 溧阳市| 石屏县| 连南| 云龙县| 宜州市| 柳江县| 兴和县| 疏附县| 永善县| 兴仁县| 枝江市| 洛浦县| 锡林郭勒盟| 桂阳县| 平凉市| 博罗县| 惠来县|