專(zhuān)利名稱(chēng):一種糾正固定錯(cuò)誤的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)器領(lǐng)域,更具體的,涉及相變隨機(jī)存取存儲(chǔ)器中錯(cuò)誤校驗(yàn)與糾錯(cuò)編碼方法,尤其是固定錯(cuò)誤的校驗(yàn)與糾錯(cuò)方法。
背景技術(shù):
相變隨機(jī)存取存儲(chǔ)器(PhaseChange Random Access Memory,PCRAM)是一種新型的隨機(jī)存儲(chǔ)技術(shù),也是作為下一代存儲(chǔ)器的最有力競(jìng)爭(zhēng)者。其通過(guò)存儲(chǔ)介質(zhì)材料在晶態(tài)和非晶態(tài)之間的導(dǎo)電性差異來(lái)存儲(chǔ)數(shù)據(jù)比特“0”和“ 1 ”。PCRAM介質(zhì)在生產(chǎn)過(guò)程中會(huì)產(chǎn)生壞位(bit),為確保PCRAM存儲(chǔ)數(shù)據(jù)的可靠性,一般需要在應(yīng)用系統(tǒng)或芯片中檢測(cè)出壞位的位置與類(lèi)型,然后把壞位的數(shù)據(jù)糾正過(guò)來(lái),這稱(chēng)為數(shù)據(jù)校驗(yàn)與糾錯(cuò)(Error Checking and Correcting,ECC)。一般而言,PCRAM介質(zhì)在生產(chǎn)過(guò)后,需要經(jīng)過(guò)各種檢測(cè)技術(shù)來(lái)標(biāo)記其中的壞位,包括錯(cuò)誤位置與錯(cuò)誤類(lèi)型(稱(chēng)為錯(cuò)誤圖樣),這種在生產(chǎn)過(guò)程中產(chǎn)生的,永久固定的錯(cuò)誤稱(chēng)為固定錯(cuò)誤,而且在其后的使用過(guò)程中, 通過(guò)一些電路技術(shù)可以保證其不再產(chǎn)生隨機(jī)錯(cuò)誤。傳統(tǒng)的糾錯(cuò)方法是采用線性分組碼、循環(huán)碼或者其他的糾錯(cuò)碼來(lái)進(jìn)行糾錯(cuò),如漢明碼,BCH碼,RS碼等。但是上述的這些糾錯(cuò)碼都是針對(duì)隨機(jī)錯(cuò)誤而設(shè)計(jì)的,其需要的冗余數(shù)據(jù)會(huì)比較大,如(7,4)漢明碼,糾正一個(gè)錯(cuò)誤,需要3位冗余,碼率只有57.1% ;糾錯(cuò)算法的復(fù)雜度與時(shí)延也比較高,如BCH的算法,其采用大塊數(shù)據(jù)的編碼方法,譯碼復(fù)雜度非常高,帶來(lái)的譯碼時(shí)延,芯片面積,功耗等都非常大。PCRAM作為一種隨機(jī)存取存儲(chǔ)器,針對(duì)其錯(cuò)誤的特點(diǎn),需要設(shè)計(jì)一種編解碼復(fù)雜度低,延時(shí)小的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法,來(lái)保證其數(shù)據(jù)的可靠性和存儲(chǔ)器的性能。
發(fā)明內(nèi)容
本發(fā)明目的在于針對(duì)相位隨機(jī)存取存儲(chǔ)器中的錯(cuò)誤特點(diǎn),提供一種新的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法來(lái)保證數(shù)據(jù)的可靠性,同時(shí)具有碼率高,編解碼復(fù)雜度低,延時(shí)小等特點(diǎn)。本發(fā)明提供一種糾正固定錯(cuò)誤的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法,其包括錯(cuò)誤圖樣檢測(cè); 偽信息序列生成;特征序列生成;數(shù)據(jù)編碼;特征序列恢復(fù);數(shù)據(jù)解碼;并行編解碼策略; 自適應(yīng)碼率。1)錯(cuò)誤圖樣檢測(cè)獲取固定錯(cuò)誤的位置與類(lèi)型。用戶信息數(shù)據(jù)到達(dá),編碼器查詢欲存儲(chǔ)區(qū)域是否存在錯(cuò)誤,若有錯(cuò),則獲取錯(cuò)誤圖樣,錯(cuò)誤圖樣一般在生產(chǎn)之后存儲(chǔ)在某個(gè)固定區(qū)域。如果固定為“ 1 ”,則稱(chēng)其為“ 1-型錯(cuò)誤”,如果固定為“0”,則稱(chēng)“0-型錯(cuò)誤”。。2)偽信息序列生成在原始信息序列的首位添加一個(gè)冗余比特,一般添加“0”作為冗余比特;3)特征序列生成編碼器根據(jù)獲得的錯(cuò)誤圖樣與偽信息序列生成特征序列;特征序列的長(zhǎng)度與偽信息序列一致,根據(jù)固定錯(cuò)誤的類(lèi)型,其取值有兩種a)若固定錯(cuò)誤為“1-型錯(cuò)誤”,則特征序列為全1序列;
4
b)若固定錯(cuò)誤為“0-型錯(cuò)誤”,則特征序列為全0序列;4)數(shù)據(jù)編碼編碼器根據(jù)特征序列與偽信息序列生成碼字;編碼函數(shù)為序列模2 加法運(yùn)算。5)特征序列恢復(fù)解碼器根據(jù)輸出碼字的冗余數(shù)據(jù)恢復(fù)出相應(yīng)的特征序列;特征序列恢復(fù)的類(lèi)型有兩種a)若輸出碼字的首位為“1”,則特征序列為全1序列;b)若輸出碼字的首位為“0”,則特征序列為全0序列;6)數(shù)據(jù)解碼解碼器根據(jù)特征序列與輸出碼字,恢復(fù)出偽信息序列,截掉偽信息序列的首位冗余比特,即恢復(fù)出原始信息序列。解碼函數(shù)為序列模2加法運(yùn)算。7)并行編解碼策略原始信息數(shù)據(jù)可以并行通過(guò)編碼器,其編碼效果與串行輸入一致;輸出碼字也可以并行通過(guò)解碼器,其解碼效果與串行輸入一致,但是并行編解碼策略帶來(lái)的時(shí)延比串行策略要小很多,代價(jià)是芯片面積與功耗有所增加。8)自適應(yīng)調(diào)節(jié)碼長(zhǎng),根據(jù)誤碼率需求改變碼的長(zhǎng)度,而冗余校驗(yàn)數(shù)據(jù)不變,從而獲得更好的編碼效率;a)若原始誤碼率較低,或需求的誤碼率較低,則可增加信息序列長(zhǎng)度,其他操作保持不變; b)若原始誤碼率較高,或需求的誤碼率較高,則可減小信息序列長(zhǎng)度,其他操作保持不變。 本發(fā)明能夠糾正單個(gè)比特固定錯(cuò)誤;碼率高,不論碼長(zhǎng)為何值,只需一位冗余數(shù)據(jù),且可動(dòng)態(tài)調(diào)節(jié);編碼器復(fù)雜度很低,時(shí)延小,只需做序列模2加法運(yùn)算;解碼器復(fù)雜度低,時(shí)延小,也只需做序列模2加法運(yùn)算。本發(fā)明特別適用于只存在固定錯(cuò)誤的相變隨機(jī)存取存儲(chǔ)器。
圖1是相變隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)表示示意圖
圖2是相變隨機(jī)存取存儲(chǔ)器中錯(cuò)誤圖樣示意圖
圖3是本發(fā)明編解碼整體框架結(jié)構(gòu)示意圖
圖4是本發(fā)明串行編碼流程示意圖5是本發(fā)明串行解碼流程示意圖6是本發(fā)明并行編碼策略示意圖7是本發(fā)明并行解碼策略示意圖8是本發(fā)明自適應(yīng)調(diào)節(jié)碼長(zhǎng)的流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行詳細(xì)說(shuō)明。圖1是使用本發(fā)明的相位隨機(jī)存取存儲(chǔ)器的數(shù)據(jù)表示示意圖,當(dāng)采用短而高的電流脈沖作用于相變材料時(shí),其呈現(xiàn)非晶態(tài),此時(shí)表現(xiàn)為半導(dǎo)體特性,反射率低,電阻率高,用來(lái)表示數(shù)據(jù)“1”;當(dāng)采用長(zhǎng)而低的電流脈沖作用于相變材料時(shí),其呈現(xiàn)結(jié)晶態(tài),此時(shí)表現(xiàn)為金屬特性,反射率高,電阻率低,用來(lái)表示數(shù)據(jù)“0”。
圖2是使用本發(fā)明的相位隨機(jī)存取存儲(chǔ)器的錯(cuò)誤圖樣示意圖,當(dāng)需要把信息數(shù)據(jù)塊中的數(shù)據(jù)(用M(i,j)表示),寫(xiě)入存儲(chǔ)區(qū)域塊中的存儲(chǔ)單元(用C(i,j)表示)時(shí),(注 這里i表示行號(hào),j表示列號(hào)),由于存儲(chǔ)單元存在固定錯(cuò)誤,使得存儲(chǔ)數(shù)據(jù)可能發(fā)生錯(cuò)誤, 難以保證其可靠性。假設(shè)信息數(shù)據(jù)與存取區(qū)域的錯(cuò)誤圖樣如圖2所示,則存儲(chǔ)單元C(l,4) 與C(4,6)固定為“0”,不論寫(xiě)入何值,其讀出值始終為“0”,而存儲(chǔ)單元C(2,7)與C(3,2) 固定為“1”,不論寫(xiě)入何值,其讀出值始終為“1”。對(duì)照信息數(shù)據(jù)塊可知,M(l, 4)和M(3,2) 的值為“1”,M0和W4,6)的值為“0”。因此,M(l,4)與C(l,4)不吻合,讀出將出錯(cuò);M(3, 2)與C (3,2)吻合,讀出將不出錯(cuò);M(2,7)與以2,7)不吻合,讀出將出錯(cuò);M(4,6)與C (4,6) 吻合,讀出將不出錯(cuò)。圖3是本發(fā)明的編解碼整體框架結(jié)構(gòu)示意圖,寫(xiě)入數(shù)據(jù)時(shí),用戶信息數(shù)據(jù)M經(jīng)過(guò)編碼器后,得到輸出碼字C,然后寫(xiě)入存儲(chǔ)介質(zhì)PCRAM ;讀出數(shù)據(jù)時(shí),用戶從存儲(chǔ)介質(zhì)中獲取數(shù)據(jù)碼字C',經(jīng)過(guò)解碼器后,得到恢復(fù)信息數(shù)據(jù)M'。本發(fā)明提出第一實(shí)施例,給出串行策略時(shí),本發(fā)明的編解碼方法。編碼器假設(shè)采用的碼長(zhǎng)為N,則用戶信息序列長(zhǎng)度為(N-I)。如圖4所示,當(dāng)寫(xiě)入請(qǐng)求到達(dá),編碼器接收到用戶信息數(shù)據(jù)序列,即M = [X1, X2,…,Xn-J.(1)然后在其首位添加一個(gè)冗余比特“0”,得到偽信息序列,即
權(quán)利要求
1.一種糾正固定錯(cuò)誤的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法,其包括(1)錯(cuò)誤圖樣檢測(cè),獲取固定錯(cuò)誤的位置與類(lèi)型;(2)偽信息序列生成,在原始信息序列的基礎(chǔ)上添加一個(gè)冗余比特;(3)特征序列生成,編碼器根據(jù)獲得的錯(cuò)誤圖樣與偽信息序列生成特征序列;(4)數(shù)據(jù)編碼,編碼器根據(jù)特征序列與偽信息序列生成碼字;(5)特征序列恢復(fù),解碼器根據(jù)輸出碼字的冗余數(shù)據(jù)恢復(fù)出相應(yīng)的特征序列;(6)數(shù)據(jù)解碼,解碼器根據(jù)特征序列與輸出碼字,恢復(fù)出偽信息序列,截掉偽信息序列的冗余比特,即可恢復(fù)出原始信息序列。(7)并行編解碼策略,數(shù)據(jù)并行經(jīng)過(guò)編解碼器,以獲得更小的時(shí)延。(8)自適應(yīng)調(diào)節(jié)碼長(zhǎng),根據(jù)誤碼率需求調(diào)節(jié)碼的長(zhǎng)度,而冗余校驗(yàn)數(shù)據(jù)不變,從而獲得更優(yōu)的編碼效率。
2.根據(jù)權(quán)利要求1所述的編解碼方法,其特征在于存在固定錯(cuò)誤的存儲(chǔ)單元無(wú)論輸入為何值,輸出保持固定為“0”或者“1”,如果固定為“1”,則稱(chēng)其為“1-型錯(cuò)誤”,如果固定為“0”,則稱(chēng)“0-型錯(cuò)誤”。
3.根據(jù)權(quán)利要求1所述的編解碼方法,其特征在于固定錯(cuò)誤可以經(jīng)過(guò)檢測(cè)設(shè)備或方法得到,并通知給編碼器,且后續(xù)操作中不會(huì)產(chǎn)生隨機(jī)錯(cuò)誤。
4.根據(jù)權(quán)利要求1所述的編解碼方法,原始信息序列為二進(jìn)制序列,序列的元素取值為“0”或者“1”。
5.根據(jù)權(quán)利要求1所述的編解碼方法,偽信息序列是指在原始信息序列的首位添加一位比特“0”。
6.根據(jù)權(quán)利要求1所述的編解碼方法,特征序列的序列長(zhǎng)度與偽信息序列一致,根據(jù)固定錯(cuò)誤的類(lèi)型,其取值有兩種a)若固定錯(cuò)誤為“1-型錯(cuò)誤”,則特征序列為全1序列;b)若固定錯(cuò)誤為“0-型錯(cuò)誤”,則特征序列為全0序列。
7.根據(jù)權(quán)利要求1所述的編解碼方法,其中編碼函數(shù)為序列模2加法運(yùn)算。
8.根據(jù)權(quán)利要求1所述的編解碼方法,特征序列恢復(fù)的類(lèi)型有兩種a)若輸出碼字的首位為“1”,則恢復(fù)的特征序列為全1序列;b)若輸出碼字的首位為“0”,則恢復(fù)的特征序列為全0序列。
9.根據(jù)權(quán)利要求1所述的編解碼方法,其中解碼函數(shù)為序列模2加法運(yùn)算。
10.根據(jù)權(quán)利要求1所述的編解碼方法,其并行編解碼策略特征在于a)編碼時(shí),原始數(shù)據(jù)經(jīng)過(guò)串并轉(zhuǎn)換(或緩沖)可以進(jìn)行并行編碼,從而獲得更小的編碼時(shí)延;b)解碼時(shí),碼字經(jīng)過(guò)串行轉(zhuǎn)換(或緩沖)可以進(jìn)行并行解碼,從而獲得更小的解碼時(shí)延。上述并行策略帶來(lái)的代價(jià)是芯片面積與功耗的增加。
11.根據(jù)權(quán)利要求1所述的編解碼方法,自適應(yīng)調(diào)節(jié)碼的長(zhǎng)度,以獲得最優(yōu)的編碼效率,其特征在于a)若原始誤碼率較低,或需求的誤碼率較低,則可適當(dāng)增加碼字長(zhǎng)度,其他操作保持不b)若原始誤碼率較高,或需求的誤碼率較高,則可適當(dāng)減小碼字長(zhǎng)度,其他操作保持不變。
全文摘要
本發(fā)明提供了一種糾正固定錯(cuò)誤的數(shù)據(jù)校驗(yàn)與糾錯(cuò)方法,其包括錯(cuò)誤圖樣檢測(cè),獲取固定錯(cuò)誤的位置與類(lèi)型;偽信息序列生成;特征序列生成,編碼器根據(jù)錯(cuò)誤圖樣與偽信息序列生成特征序列;數(shù)據(jù)編碼,生成碼字;特征序列恢復(fù),解碼器根據(jù)輸出碼字的冗余數(shù)據(jù)恢復(fù)出相應(yīng)的特征序列;數(shù)據(jù)解碼,恢復(fù)出原始信息序列。本發(fā)明在糾正單個(gè)比特固定錯(cuò)誤時(shí)具有很低的復(fù)雜度和編解碼時(shí)延,尤其采用并行編解碼策略時(shí),能獲得更低的編解碼時(shí)延,在相變隨機(jī)存取存儲(chǔ)器等錯(cuò)誤可檢測(cè),同時(shí)要求低延時(shí)的應(yīng)用場(chǎng)景中,具有很大的實(shí)用價(jià)值。同時(shí),本發(fā)明的碼長(zhǎng)可根據(jù)實(shí)際需求的誤碼率進(jìn)行自適應(yīng)調(diào)節(jié),以獲得最優(yōu)的編碼效率。
文檔編號(hào)G11C29/42GK102436852SQ20121000407
公開(kāi)日2012年5月2日 申請(qǐng)日期2012年1月6日 優(yōu)先權(quán)日2012年1月6日
發(fā)明者吳大畏, 康旺, 張有光 申請(qǐng)人:北京航空航天大學(xué)