一種固態(tài)盤閃存芯片閾值電壓感知方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種固態(tài)盤內(nèi)部閃存芯片閾值電壓感知優(yōu)化方法,主要用于多層單元閃存芯片使用低密度奇偶校驗(yàn)碼糾錯(cuò)時(shí)的一種優(yōu)化方法。該系統(tǒng)結(jié)構(gòu)主要由LDPC編碼模塊、閃存芯片存儲(chǔ)模塊、非均勻閾值電壓感知模塊、對(duì)數(shù)似然比計(jì)算模塊和LDPC譯碼模塊組成。LDPC編碼模塊主要對(duì)原始數(shù)據(jù)利用LDPC生成矩陣編碼生成碼字;閃存芯片存儲(chǔ)模塊主要存儲(chǔ)數(shù)據(jù);非均勻閾值電壓感知模塊主要對(duì)閃存芯片進(jìn)行非均勻閾值電壓感知;對(duì)數(shù)似然比計(jì)算模塊主要由閾值電壓值得到對(duì)數(shù)似然比值;LDPC譯碼模塊主要根據(jù)對(duì)數(shù)似然比值和校驗(yàn)矩陣進(jìn)行解碼糾錯(cuò)。本發(fā)明適用于固態(tài)盤糾錯(cuò)領(lǐng)域,提高存儲(chǔ)數(shù)據(jù)的可靠性。
【專利說明】-種固態(tài)盤閃存芯片閾值電壓感知方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于固態(tài)盤閃存芯片糾錯(cuò)【技術(shù)領(lǐng)域】,更具體地,涉及一種固態(tài)盤閃存芯片 閾值電壓感知方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著各類移動(dòng)設(shè)備在人們?nèi)粘I钪械钠毡閼?yīng)用,作為非易失性存儲(chǔ)器種類之一 的閃存芯片(Not And, NAND Flash memory),越來越發(fā)揮著重要的作用。由于NAND Flash memory的物理結(jié)構(gòu)特點(diǎn),容易發(fā)生錯(cuò)誤,如何保證數(shù)據(jù)的可靠性,成為NAND Flash memory 應(yīng)用能否成功的關(guān)鍵技術(shù)之一。因此,采用糾錯(cuò)碼的可靠性保證技術(shù)成為NAND Flash memory應(yīng)用中的關(guān)鍵一環(huán),得到了廣泛的應(yīng)用和研究。
[0003] 目前NAND Flash memory的架構(gòu)已經(jīng)從單層單元閃存芯片(Single Layer Cell, SLC)發(fā)展到多層單元閃存芯片(Multi-Level Cell,MLC),NAND Flash的制造工藝發(fā)展到 25納米甚至是20納米的水平,這意味著NAND Flash memory中發(fā)生錯(cuò)誤的幾率越來越大, 因此,NAND Flash memory設(shè)備中需要使用更強(qiáng)糾錯(cuò)能力的糾錯(cuò)算法。
[0004] 在現(xiàn)有的糾錯(cuò)碼技術(shù)中,低密度奇偶校驗(yàn)碼(Low-Density Parity-Check code, LDPC)具有強(qiáng)大的糾錯(cuò)能力,數(shù)據(jù)寫入NAND Flash memory時(shí)利用LDPC碼進(jìn)行編碼生成由 原始信息和校驗(yàn)信息組成的碼字,然后在數(shù)據(jù)讀取時(shí)再次利用LDPC碼進(jìn)行解碼糾錯(cuò),以達(dá) 到降低 NAND Flash memory 的位錯(cuò)誤率(Bit Error Rate,BER)的目的。
[0005] LDPC碼糾錯(cuò)需要精確的對(duì)數(shù)似然比(Log-likelihood Rate,LLR)信息,而對(duì)數(shù)似 然比信息取決于NAND Flash memory閃存芯片單元cell的閾值電壓感知精度。
[0006] 在MLC NAND Flash memory中,一個(gè)閃存芯片單兀cell存儲(chǔ)2bits,它具有四種存 儲(chǔ)狀態(tài)〇〇、〇1、10、11,可以使用22 = 4個(gè)閾值電壓窗口來表不,每一個(gè)閾值電壓窗口代表一 種存儲(chǔ)狀態(tài)。
[0007] 理想情況下,MLC NAND Flash memory會(huì)有4種互不交叉的閾值電壓窗口,如圖1 所示,4個(gè)閾值電壓窗口之間具有一定的距離,能夠根據(jù)閾值電壓值識(shí)別出正確的存儲(chǔ)值。 但是由于閃存芯片中噪聲的干擾,4種閾值電壓窗口會(huì)互相交叉,從而出現(xiàn)3個(gè)交叉閾值電 壓窗口的情形,如圖2所示,4種閾值電壓窗口出現(xiàn)相互交叉現(xiàn)象,這樣在交叉閾值電壓窗 口內(nèi)感知閾值電壓時(shí)就不能正確區(qū)分出對(duì)應(yīng)的存儲(chǔ)狀態(tài),出現(xiàn)錯(cuò)誤。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的是精確獲取MLC NAND Flash memory閃存芯片單元內(nèi)的閾值電壓 值,從而得到所需的對(duì)數(shù)似然比值作為L(zhǎng)DPC碼解碼糾錯(cuò)的初始信息,進(jìn)行LDPC解碼糾錯(cuò), 提高NAND Flash memory的可靠性。
[0009] 為了實(shí)現(xiàn)上述目的,本發(fā)明構(gòu)建了一種在交叉閾值電壓窗口內(nèi)非均勻閾值電壓感 知優(yōu)化方法,減少了傳統(tǒng)的交叉閾值電壓窗口內(nèi)均勻閾值電壓感知次數(shù),將獲得的閾值電 壓作為MLC NAND Flash memory中LDPC譯碼模塊的輸入。構(gòu)建的非均勻感知策略主要在 交叉閾值電壓區(qū)域內(nèi)進(jìn)行非均勻的閾值電壓感知而在交叉區(qū)域外不做任何感知。
[0010] 按照本發(fā)明的一個(gè)方面,提供了一種固態(tài)盤內(nèi)部閃存芯片閾值電壓感知方法,包 括如下步驟:
[0011] (1)數(shù)據(jù)輸入步驟,包括如下子步驟:
[0012] (1. 1)當(dāng)原始數(shù)據(jù)R被寫入閃存芯片時(shí),根據(jù)低密度奇偶校驗(yàn)碼LDPC生成矩陣G 對(duì)原始數(shù)據(jù)R進(jìn)行編碼,生成碼字C ;
[0013] (1. 2)將生成的碼字C寫入閃存芯片中;
[0014] (2)數(shù)據(jù)輸出步驟,包括如下子步驟:
[0015] (2. 1)計(jì)算出交叉區(qū)域的左分界線和右分界線然后求得兩分界線之間 的距離為& -處1,其中i=0,l,2;
[0016] (2. 2)對(duì)閃存芯片的閾值電壓進(jìn)行非均勻感知:
[0017] (2. 2. 1)根據(jù)要求精度確定每個(gè)閾值電壓交叉區(qū)域內(nèi)感知次數(shù)η ;
[0018] (2. 2. 2)根據(jù)感知次數(shù)η確定每個(gè)閾值電壓交叉區(qū)域的左、右半?yún)^(qū)域的感知次數(shù) . η 2
[0019] (2. 2. 3)根據(jù)每個(gè)閾值電壓交叉區(qū)域的左、右半?yún)^(qū)域的感知次數(shù)m計(jì)算左、右半?yún)^(qū) 域中需要感知電壓的位置;
[0020] (2. 2. 4)根據(jù)得到的感知電壓位置讀取閾值電壓;
[0021] (2. 3)根據(jù)非均勻感知的閾值電壓計(jì)算對(duì)數(shù)似然比LLR ;
[0022] (2.4)根據(jù)LLR及LDPC校驗(yàn)矩陣Q對(duì)步驟(1)中寫入閃存芯片的碼字C進(jìn)行解碼 糾錯(cuò)。
[0023] 本發(fā)明的一個(gè)實(shí)施例中,所述步驟(2. 2. 3)中根據(jù)每個(gè)閾值電壓交叉區(qū)域的左、 右半?yún)^(qū)域的感知次數(shù)m計(jì)算左、右半?yún)^(qū)域中需要感知電壓的位置具體包括:
[0024] 使用公比為q的等比數(shù)列獲取需要感知的閾值電壓,其中q> 1,對(duì)于交叉區(qū) 域的左半部分需要感知的次數(shù)為m,則選取的感知點(diǎn)距離左邊界的相對(duì)距離分別為1、 q、q2. . . (Γ1,記W = l+q+. . . +CT1,則選取的感知電壓位置距離左邊界的絕對(duì)距離分別為
【權(quán)利要求】
1. 一種固態(tài)盤閃存芯片閾值電壓感知方法,其特征在于,所述方法包括如下步驟: (1) 數(shù)據(jù)輸入步驟,包括如下子步驟: (1. 1)當(dāng)原始數(shù)據(jù)R被寫入閃存芯片時(shí),根據(jù)低密度奇偶校驗(yàn)碼LDPC生成矩陣G對(duì)原 始數(shù)據(jù)R進(jìn)行編碼,生成碼字C; (1. 2)將生成的碼字C寫入閃存芯片中; (2) 數(shù)據(jù)輸出步驟,包括如下子步驟: (2. 1)計(jì)算出交叉區(qū)域的左分界線義卜和右分界線,然后求得兩分界線之間的距 離為 A = -處),其中 i = 0,1,2 ; (2. 2)對(duì)閃存芯片的閾值電壓進(jìn)行非均勻感知: (2. 2. 1)根據(jù)要求精度確定每個(gè)閾值電壓交叉區(qū)域內(nèi)感知次數(shù)n ; (2.2.2)根據(jù)感知次數(shù)n確定每個(gè)閾值電壓交叉區(qū)域的左、右半?yún)^(qū)域的感知次數(shù) n m --; 2 (2. 2. 3)根據(jù)每個(gè)閾值電壓交叉區(qū)域的左、右半?yún)^(qū)域的感知次數(shù)m計(jì)算左、右半?yún)^(qū)域中 需要感知電壓的位置; (2. 2. 4)根據(jù)得到的感知電壓位置讀取閾值電壓; (2. 3)根據(jù)非均勻感知的閾值電壓計(jì)算對(duì)數(shù)似然比LLR ; (2.4)根據(jù)LLR及LDPC校驗(yàn)矩陣Q對(duì)步驟(1)中寫入閃存芯片的碼字C進(jìn)行解碼糾 錯(cuò)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述步驟(2. 2. 3)中根據(jù)每個(gè)閾值電壓交叉 區(qū)域的左、右半?yún)^(qū)域的感知次數(shù)m計(jì)算左、右半?yún)^(qū)域中需要感知電壓的位置具體包括: 使用公比為q的等比數(shù)列獲取需要感知的閾值電壓,其中q > 1,對(duì)于交叉區(qū)域 的左半部分需要感知的次數(shù)為m,則選取的感知點(diǎn)距離左邊界的相對(duì)距離分別為1、q、 q2. . . qm'記W = l+q+.. .+qm'則選取的感知電壓位置距離左邊界的絕對(duì)距離分別為 其中Si表示每個(gè)交叉區(qū)域的距離,i = 0, 1,2。
3. 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(1)中具體根據(jù)下式生成碼字 C : C = RXG (1)。
4. 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(2. 1)中計(jì)算出交叉區(qū)域的左 分界線和右分界線具體為:
P(i)(x)是第i個(gè)閾值電壓高斯概率分布函數(shù),M是一比值,根據(jù)交叉區(qū)域大小確定。將 閾值電壓高斯概率函數(shù)代入上式中得到
根據(jù)已知的第i個(gè)閾值電壓高斯概率函數(shù)的均值y i和方差4,和比值M,通過解上面 的公式⑶和(4),求出各個(gè)交叉區(qū)域的左分界線見(/)和右分界線矽、
5. 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(2.3)中根據(jù)非均勻感知的閾 值電壓計(jì)算第i位的LLR具體為:
其中\(zhòng)表示感知電壓值,化表示感知電壓所在的區(qū)域范圍值,P(i) (x)表示第i個(gè)閾值 電壓感知高斯函數(shù)。
6. 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(2. 4)具體包括: (2. 4. 1)、將步驟(2. 3)得到的LLR信息輸入到校驗(yàn)矩陣Q中的變量節(jié)點(diǎn)中,作為L(zhǎng)DPC 解碼的初始信息; (2. 4. 2)、校驗(yàn)矩陣Q中每個(gè)變量節(jié)點(diǎn)與校驗(yàn)節(jié)點(diǎn)相互之間進(jìn)行迭代處理譯碼信息,只 在變量節(jié)點(diǎn)與校驗(yàn)節(jié)點(diǎn)在校驗(yàn)矩陣Q中互為連接關(guān)系的節(jié)點(diǎn)間傳輸; (2. 4. 3)、如果解碼得到的LDPC譯碼向量C'與輸入的碼字C相等或者達(dá)到了最大的迭 代次數(shù)時(shí)LDPC譯碼過程結(jié)束。
7. -種固態(tài)盤閃存芯片閾值電壓感知系統(tǒng),其特征在于,所述系統(tǒng)包括輸入模塊,輸出 模塊和閃存芯片存儲(chǔ)模塊,其中: 所述輸入模塊,包含LDPC編碼模塊,所述LDPC編碼模塊,用于對(duì)k-bit原始數(shù)據(jù)根據(jù) LDPC生成矩陣進(jìn)行編碼生成n-bit LDPC碼字C,其中n > k ; 所述閃存芯片存儲(chǔ)模塊,用于存儲(chǔ)LDPC碼字C ; 所述輸出模塊包含非均勻電壓感知模塊,LLR計(jì)算模塊以及LDPC譯碼模塊,其中: 所述非均勻電壓感知模塊,對(duì)閃存芯片存儲(chǔ)模塊中的閃存芯片進(jìn)行非均勻閾值電壓感 知操作,所述非均勻閾值電壓感知操作是對(duì)三個(gè)閾值電壓交叉窗口區(qū)域進(jìn)行非均勻閾值電 壓感知,閾值電壓交叉窗口之外不進(jìn)行電壓感知操作; 所述LLR計(jì)算模塊,用于根據(jù)得到的閾值電壓計(jì)算出對(duì)應(yīng)的對(duì)數(shù)似然比值; LDPC譯碼模塊,用于根據(jù)得到的對(duì)數(shù)似然比值以及LDPC校驗(yàn)矩陣進(jìn)行迭代譯碼操作, 獲得LDPC輸出碼字C',糾正閃存芯片存儲(chǔ)模塊中碼字的錯(cuò)誤。
8. 如權(quán)利要求7所述的方法,其特征在于,所述非均勻電壓感知模塊包括感知次數(shù)計(jì) 算模塊、感知位置計(jì)算模塊以及閾值電壓感知模塊,其中: 所述感知次數(shù)計(jì)算模塊,用于根據(jù)每個(gè)閾值電壓交叉區(qū)域內(nèi)感知次數(shù)n,確定每個(gè)閾值 電壓交叉區(qū)域的左、右半?yún)^(qū)域的感知次數(shù)? = I; 所述感知位置計(jì)算模塊,用于根據(jù)感知次數(shù)計(jì)算模塊計(jì)算得到的每個(gè)閾值電壓交叉區(qū) 域的左、右半?yún)^(qū)域的感知次數(shù)m計(jì)算左、右半?yún)^(qū)域中需要感知電壓的位置; 所述閾值電壓感知模塊,用于根據(jù)感知位置計(jì)算模塊計(jì)算得到的感知電壓位置讀取閾 值電壓。
9.如權(quán)利要求8所述的方法,其特征在于,所述感知位置計(jì)算模塊具體用于: 使用公比為q的等比數(shù)列獲取需要感知的閾值電壓,其中q> 1,對(duì)于交叉區(qū)域 的左半部分需要感知的次數(shù)為m,則選取的感知點(diǎn)距離左邊界的相對(duì)距離分別為1、q、 q2. . . cT1,記W = l+q+. . . +CT1,則選取的感知電壓位置距離左邊界的絕對(duì)距離分別為 其中Si表示每個(gè)交叉區(qū)域的距離,i = 0, 1,2。
【文檔編號(hào)】G11C16/34GK104282340SQ201410522792
【公開日】2015年1月14日 申請(qǐng)日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】馮丹, 陳儉喜, 劉景寧, 戚世貴, 吳嬋明 申請(qǐng)人:華中科技大學(xué)