專利名稱:相變存儲(chǔ)器的數(shù)據(jù)寫入方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)器件領(lǐng)域,特別涉及相變存儲(chǔ)器的數(shù)據(jù)寫入方法及裝置。
背景技術(shù):
相變存儲(chǔ)器PCM (Phase Change Memory)是以硫系化合物(典型材料為Ge2Sb2Te5, GST)為基礎(chǔ)的半導(dǎo)體存儲(chǔ)器。PCM按位為單位進(jìn)行操作,利用硫系化合物在低阻的晶態(tài)(SET態(tài))和高阻的非晶態(tài)(RESET態(tài))之間的電阻阻值的差來表征和存儲(chǔ)二進(jìn)制數(shù)據(jù)“I”和“O”。所謂相指的是物質(zhì)系統(tǒng)中具有相同物理性質(zhì)的均勻物質(zhì)部分,它和其它部分之間用一定的分界面隔離開來。例如,在由水和冰組成的系統(tǒng)中,冰是一個(gè)相,水是另一個(gè)相。冰變?yōu)樗^程即為一個(gè)相變過程。
PCM因?yàn)槠浯嫒∷俣瓤?、非易失性、工藝簡單和高容量被視為閃存和DRAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)的接班者。
同時(shí),PCM也存在一定的不足,那就是在寫入PCM數(shù)據(jù)時(shí)的能量損耗比較大。因此,減小寫入PCM數(shù)據(jù)時(shí)的能量損耗成為當(dāng)下的研究熱門。發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供相變存儲(chǔ)器的數(shù)據(jù)寫入方法及裝置,來減小PCM寫入數(shù)據(jù)時(shí)的能量損耗。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
—種相變存儲(chǔ)器的數(shù)據(jù)寫入方法,包括:
將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)所述源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與所述源數(shù)據(jù)的位數(shù)N相等,所述N為自然數(shù);
計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值;
令所述目標(biāo)地址存儲(chǔ)所述多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
優(yōu)選的,在所述多種不同的預(yù)處理方式中,其中一種預(yù)處理方式為不進(jìn)行任何處理,其他預(yù)處理方式包括按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式中的任意一種或任意組合。
優(yōu)選的,所述計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值的過程包括:
針對(duì)任一備選數(shù)據(jù),將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,所述i為自然數(shù),取值介于I至N之間,并且包括I和N ;
將所述比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,所述X為自然數(shù),取值介于I至N之間,并且包括I和N ;
計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
優(yōu)選的,所述將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較的過程包括:
將所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)和所述備選數(shù)據(jù)按位異或得到異或結(jié)果,在第i位上的異或結(jié)果作為第i位的比較結(jié)果。
優(yōu)選的,任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或1,所述計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值的過程包括:
設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b;
統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),記為numO ;
統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),記為numl ;
根據(jù)公式a*nUmO+b*nUml計(jì)算出將備選數(shù)據(jù)在每一目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
優(yōu)選的,所述方法還包括:
保存取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在所述目標(biāo)地址中的、取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)還原成所述源數(shù)據(jù)。
一種相變存儲(chǔ)器的數(shù)據(jù)寫入裝置,包括:數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)計(jì)算模塊和數(shù)據(jù)存儲(chǔ)豐吳塊;
數(shù)據(jù)預(yù)處理模塊用于,將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)所述源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與所述源數(shù)據(jù)的位數(shù)N相等,所述N為自然數(shù);
數(shù)據(jù)計(jì)算模塊用于,計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值;
數(shù)據(jù)存儲(chǔ)模塊用于,令所述目標(biāo)地址存儲(chǔ)所述多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
優(yōu)選的,所述數(shù)據(jù)計(jì)算模塊包括數(shù)據(jù)比較單元、目標(biāo)位生成單元和計(jì)算單元;
所述數(shù)據(jù)比較單元用于,針對(duì)任一備選數(shù)據(jù),將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,所述i為自然數(shù),取值介于I至N之間,并且包括I和N ;
目標(biāo)位生成單元用于,將所述比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,所述X為自然數(shù),取值介于I至N之間,并且包括I和N ;
所述計(jì)算單元用于,計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
優(yōu)選的,任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或1,所述計(jì)算單元包括設(shè)置子單元、第一統(tǒng)計(jì)子單元、第二統(tǒng)計(jì)子單元和能量損耗值計(jì)算子單元;
所述設(shè)置子單元用于,設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b;
所述第一統(tǒng)計(jì)子單元用于,統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),并記為numO ;
所述第二統(tǒng)計(jì)子單元用于,統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),并記為numl ;
所述能量損耗值計(jì)算子單元用于,根據(jù)公式atumO+l/numl計(jì)算出將備選數(shù)據(jù)在每一目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
優(yōu)選的,所述裝置還包括還原模塊,所述還原模塊用于保存最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在所述目標(biāo)地址中的、取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)還原成所述源數(shù)據(jù)。
從上述的技術(shù)方案可以看出,在本發(fā)明實(shí)施例中,通過將將要寫入PCM的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),對(duì)源數(shù)據(jù)進(jìn)行多種預(yù)處理,得到多組備選數(shù)據(jù),分別計(jì)算多組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值。最后令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù),從而減小了 PCM寫入數(shù)據(jù)時(shí)的能量損耗。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的相變存儲(chǔ)器的數(shù)據(jù)寫入方法流程圖2是本發(fā)明實(shí)施例提供的相變存儲(chǔ)器的數(shù)據(jù)寫入方法的又一流程圖3是本發(fā)明實(shí)施例提供的相變存儲(chǔ)器的數(shù)據(jù)寫入裝置結(jié)構(gòu)圖4是本發(fā)明實(shí)施例提供的相變存儲(chǔ)器的數(shù)據(jù)寫入裝置的又一結(jié)構(gòu)圖5是本發(fā)明實(shí)施例提供的相變存儲(chǔ)器的數(shù)據(jù)寫入裝置的另一結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明公開了一種相變存儲(chǔ)器PCM (Phase Change Memory)的數(shù)據(jù)寫入方法,如圖1所示,該方法至少包括以下步驟:
S1:將將要寫入PCM的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與源數(shù)據(jù)的位數(shù)N相等,其中N為自然數(shù);
更具體的,可將源數(shù)據(jù)記作writedata[N],可將多種不同的預(yù)處理方式記作M+1種不同的預(yù)處理方式。針對(duì)對(duì)writedata[N]進(jìn)行M+1種預(yù)處理而得到的M+1組備選數(shù)據(jù),可為這M+1組備選數(shù)據(jù)分配M+1個(gè)寄存器,這樣,后續(xù)可對(duì)M+1組備選數(shù)據(jù)進(jìn)行并行處理,從而提高了處理速度。
在上述M+1種預(yù)處理方式中,其中的“I”表示為不對(duì)writedata[N]進(jìn)行任何處理,其他的“M”種預(yù)處理方式可包括按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式等中的任意一種或任意組合。
例如,當(dāng)M=I時(shí),對(duì)writedata[N]進(jìn)行兩種預(yù)處理,一種為不對(duì)writedata[N]進(jìn)行任何處理,也即,令writedata[N]直接作為備選數(shù)據(jù)。另一預(yù)處理方式可為按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式。
當(dāng)然,也可將按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式任意組合得到的處理方式,作為上述另一預(yù)處理方式。比如,對(duì)writedata[N]按位取反得到writedatalXT1(上標(biāo)-1表示按位取反),再將writedataliNr1與給定數(shù)據(jù)按位異或得到writedata[N]_lx°K (上標(biāo)XOR表示按位異或),將writedata[N]_lx°K作為備選數(shù)據(jù)。
當(dāng)M=2時(shí),除令writedata[N]直接作為備選數(shù)據(jù)外,對(duì)writedata[N]進(jìn)行另兩種預(yù)處理一預(yù)處理A和預(yù)處理B,預(yù)處理A可為按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式等中的任意一種,或者,也可為由按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式進(jìn)行任意組合所得到的預(yù)處理方式;而預(yù)處理B同樣可為按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式等中的任意一種,或者,也可為由按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式進(jìn)行任意組合所得到的預(yù)處理方式。只要保證預(yù)處理A不同于預(yù)處理B即可。
以此類推,可衍生出很多種預(yù)處理方式,只要保證各預(yù)處理方式彼此不相同即可。
S2:計(jì)算每一組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值;
S3:令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
由上可見,在本發(fā)明實(shí)施例中,通過將將要寫入PCM的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),對(duì)源數(shù)據(jù)進(jìn)行多種預(yù)處理,得到多組備選數(shù)據(jù),分別計(jì)算多組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值。最后令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù),從而減小了 PCM寫入數(shù)據(jù)時(shí)的能量損耗。
在本發(fā)明其它實(shí)施例中,上述所有實(shí)施例中步驟S2具體可有多種實(shí)現(xiàn)方式。其中一種實(shí)現(xiàn)方式可為:針對(duì)第j組備選數(shù)據(jù)(j為自然數(shù),取值介于I至M+1之間,并且包括I和M+1),計(jì)算其能量損耗值具體為:
設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b;
統(tǒng)計(jì)第j組備選數(shù)據(jù)中取值為O的個(gè)數(shù),記為n0;
統(tǒng)計(jì)第j組備選數(shù)據(jù)中取值為I的個(gè)數(shù),記為nl;
根據(jù)公Sa*n0+b*nl計(jì)算出將第j組備選數(shù)據(jù)中的N位數(shù)據(jù)全部寫入目標(biāo)地址的能量損耗值。
與之相對(duì)應(yīng),步驟S3可細(xì)化為:將能量損耗值最小的備選數(shù)據(jù)的N位數(shù)據(jù)全部寫入目標(biāo)地址中。
上述步驟S2的另一實(shí)現(xiàn)方式可為:
—、預(yù)先從目標(biāo)地址中讀出當(dāng)前存儲(chǔ)數(shù)據(jù)readdata[N];
二、計(jì)算每一組備選數(shù)據(jù)寫入目標(biāo)地址的能量損耗值;
針對(duì)第j組備選數(shù)據(jù)(j為自然數(shù),取值介于I至M+1之間,并且包括I和M+1),其寫入目標(biāo)地址的能量損耗值可通過下述步驟計(jì)算(將j從I至
M+1依次取值,即可得到M+1個(gè)能量損耗值):
步驟A,將第j組備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,i為自然數(shù),取值介于I至N之間,并且包括I和N ;
具體的,可將第j組備選數(shù)據(jù)記作Wj [N],可將第j組備選數(shù)據(jù)的第i位記作Wj [i],可將第j組備選數(shù)據(jù)在第i位上的取值Wj[i]與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值readdata[i]是否相同的比較結(jié)果記作Bj [i]。
將readdata[N]中在第i位取值readdata[i]與Wj[i]相比較,得到第j組備選數(shù)據(jù)與readdata [N]在第i位上的取值是否相同的比較結(jié)果B ji] (i為自然數(shù),取值介于I至N之間),并且Bj[i]的取值可為c或d, c與d的取值不相同,當(dāng)取值為c時(shí)表示readdata[i]與W」[i]取值相同,當(dāng)取值為d時(shí)表示readdata[i]與Wj[i]取值不相同。
在本發(fā)明其它實(shí)施例中,上述步驟A可進(jìn)一步細(xì)化為:
將目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)和備選數(shù)據(jù)按位異或得到異或結(jié)果,在第i位上的異或結(jié)果作為第i位的比較結(jié)果;具體的,將readdata[N]和第j組備選數(shù)據(jù)進(jìn)行按位異或,也SP,將readdata[i]與Wji]進(jìn)行異或運(yùn)算,得到異或結(jié)果(每一位均對(duì)應(yīng)一個(gè)異或結(jié)果),將第i位上的異或結(jié)果作為上述比較 結(jié)果Bji],此時(shí),上述c具體取值為O而上述d具體取值為I (O代表第j組備選數(shù)據(jù)在第i位的取值與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位的取值相同,I代表第j組備選數(shù)據(jù)在第i位的取值與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位的取值不相同)。
舉例來講,假設(shè)N = 8, readdata[N]各位具體取值分別為:11110000,而第I組備選數(shù)據(jù)各位具體取值分別為:01000111。則進(jìn)行按位異或所得的異或結(jié)果也即比較結(jié)果為:10110111,也即 B1Ll] = 1,B1 [2] = 0,B1 [3] = 1,B1 [4] = 1,B1 [5] = 0,B1 [6] = 1,B1 [7]=1,B1M = I。
此外,也可將readdata[N]和第I組備選數(shù)據(jù)進(jìn)行按位同或,將第i位上的同或結(jié)果作為上述比較結(jié)果B」[i],此時(shí),上述c具體取值為I而上述d具體取值為O (I代表第j組備選數(shù)據(jù)在第i位的取值與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位的取值相同,O代表第j組備選數(shù)據(jù)在第i位的取值與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位的取值不相同)。
步驟B,將比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,X為自然數(shù),取值介于I至N之間,并且包括I和N ;
具體的,將B』l]至BjN]中每一取值為d的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位(X為自然數(shù),取值介于I至N之間);
沿用前述所舉例子,根據(jù)比較結(jié)果10110111,可確定出B1 [I] 'B1 [3] 'B1 [4] 'B1 [6]、B1 [7], B1 [8]所對(duì)應(yīng)的6位為目標(biāo)位,此時(shí)X = 6。
步驟C,計(jì)算將第j組備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入目標(biāo)地址相應(yīng)位置的能量損耗值。
更具體的,因?yàn)樵磾?shù)據(jù)的每一位取值為O或1,而預(yù)處理都為二進(jìn)制變換,所以由預(yù)處理得到的任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或1,參見圖2,上述步驟C具體可包括如下步驟:
S201:設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b;
具體的,a: b的值由PCM的具體參數(shù)決定,可以從PCM供應(yīng)商和學(xué)術(shù)文獻(xiàn)中得到。例如:A Low Power Phase Change Random Access Memory Using a Data-Comparison WriteScheme中寫入0的能量損耗值為12nJ/bit,寫入I的能量損耗值為為64nJ/bit,因此a:b可以近似為1:5。
S202:統(tǒng)計(jì)在X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),記為numO ;
S203:統(tǒng)計(jì)在X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),記為numl ;
S204:根據(jù)公式a*nUmO+b*nUml計(jì)算出將第j組備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入目標(biāo)地址相應(yīng)位置的能量損耗值。
仍沿用前述所舉例子,前已述及,B1 [I] 'B1 [3] 'B1 [4] 'B1 [6] 'B1 [7] 'B1 [8]所對(duì)應(yīng)的6位為目標(biāo)位。則在步驟S202中,將統(tǒng)計(jì)第I鉬各詵數(shù)據(jù)01000111在第1、3、4、6、7、8 (1、3、4、6、7、8為6個(gè)目標(biāo)位)位上取值為I的個(gè)數(shù)。則可知,取值為I的個(gè)數(shù)為3。同理,在步驟S203中,可統(tǒng)計(jì)出01000111在第1、3、4、6、7、8位上取值為O的個(gè)數(shù)為3。然后,根據(jù)公式a*nUm0+b*nUml可計(jì)算出第I組備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入目標(biāo)地址相應(yīng)位置的能量損耗值為3a+3b。
與之相應(yīng),步驟S3可細(xì)化為:確定M+1個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù),同時(shí)將確定出的備選數(shù)據(jù)的X個(gè)目標(biāo)位上的取值寫入目標(biāo)地址的相應(yīng)位。
仍沿用前述所舉例子,如最后確定第I組備選數(shù)據(jù)對(duì)應(yīng)的能量損耗值最小,則利用第I組在第1、3、4、6、7、8位上的取值替換readdata[N]在第1、3、4、6、7、8位上的取值,也即,將readdata[l]替換為0,將readdata[3]替換為0,將readdata[4]替換為0,將readdata[6]替換為 1,將 readdata[7]替換為 1,將 readdata[8]替換為 I。
替換完成后,目標(biāo)地址中存儲(chǔ)的即為M+1個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
在本發(fā)明其它實(shí)施例中,上述所有實(shí)施例的方法還可包括:
保存取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在目標(biāo)地址中的數(shù)據(jù)還原成源數(shù)據(jù)writedata[N]。
每一種預(yù)處理方式都對(duì)應(yīng)一種反預(yù)處理方式,例如,假設(shè),采用第I種預(yù)處理方式將源數(shù)據(jù)11011100處理成10001110,而根據(jù)第I種預(yù)處理方式對(duì)應(yīng)的反預(yù)處理方式,可將10001110 再還原成 11011100。
有鑒于此,上述保存取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式可以包括:
為M+1種預(yù)處理方式進(jìn)行編號(hào);
記錄能量損耗值最小的備選數(shù)據(jù)所對(duì)應(yīng)預(yù)處理方式的編號(hào)。
相應(yīng)的,“根據(jù)保存的還原方式將存儲(chǔ)在目標(biāo)地址中的數(shù)據(jù)還原成源數(shù)據(jù)”可具體包括:
在讀取存儲(chǔ)數(shù)據(jù)時(shí),根據(jù)所記錄的編號(hào)對(duì)寫入目標(biāo)地址中的數(shù)據(jù)進(jìn)行反預(yù)處理,將其還原為源數(shù)據(jù)writedata[N]。
當(dāng)然,也可為M+1種反預(yù)處理方式進(jìn)行編號(hào),并記錄能量損耗值最小的備選數(shù)據(jù)所對(duì)應(yīng)反預(yù)處理方式的編號(hào)。而在讀取存儲(chǔ)數(shù)據(jù)時(shí),根據(jù)所記錄的編號(hào)對(duì)寫入目標(biāo)地址中的數(shù)據(jù)進(jìn)行反預(yù)處理,將其還原為源數(shù)據(jù)writedata[N]。
與上述方法相對(duì)應(yīng),本發(fā)明實(shí)施例還公開了相變存儲(chǔ)器的數(shù)據(jù)寫入裝置,參見圖3,其可包括數(shù)據(jù)預(yù)處理模塊31、數(shù)據(jù)計(jì)算模塊32和數(shù)據(jù)存儲(chǔ)模塊33,其中:
數(shù)據(jù)預(yù)處理模塊31用于,將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與源數(shù)據(jù)的位數(shù)N相等,N為自然數(shù);
數(shù)據(jù)計(jì)算模塊32用于,計(jì)算每一組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值;
具體的,如圖4所示,數(shù)據(jù)計(jì)算模塊32可包括數(shù)據(jù)比較單元321、目標(biāo)位生成單元322和計(jì)算單元323 ;
數(shù)據(jù)比較單元321用于,針對(duì)任一備選數(shù)據(jù),將備選數(shù)據(jù)在第i位上的取值與目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,其中i為自然數(shù),取值介于I至N之間,并且包括I和N ;
目標(biāo)位生成單元322用于,將比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,其中X為自然數(shù),取值介于I至N之間,并且包括I和N ;
計(jì)算單元323用于,計(jì)算將備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入目標(biāo)地址相應(yīng)位置的能量損耗值。
更具體的,任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或I。如圖5所示,計(jì)算單元可包括設(shè)置子單元3231、第一統(tǒng)計(jì)子單元3232、第二統(tǒng)計(jì)子單元3233和計(jì)算能量損耗值子單元3234 ;
其中,設(shè)置子單元3231用于,設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b;
第一統(tǒng)計(jì)子單元3232用于,統(tǒng)計(jì)在X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),并記為 numO ;
第二統(tǒng)計(jì)子單元3233用于,統(tǒng)計(jì)在X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),并記為 numl ;
計(jì)算能量損耗值子單元3234用于,根據(jù)公式a*numO+b*numl計(jì)算出將備選數(shù)據(jù)在每一目標(biāo)位上的取值寫入目標(biāo)地址相應(yīng)位置的能量損耗值。
數(shù)據(jù)存儲(chǔ)模塊33用于,令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
數(shù)據(jù)預(yù)處理模塊31、數(shù)據(jù)計(jì)算模塊32和數(shù)據(jù)存儲(chǔ)模塊33的各細(xì)化功能可參見上述方法的相關(guān)記載,在此不作贅述。
在本發(fā)明其它實(shí)施例中,仍參見圖3,上述所有實(shí)施例中的裝置還可包括還原模塊34,還原模塊34用于保存最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在目標(biāo)地址中的、取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)還原成源數(shù)據(jù)。還原模塊34的各細(xì)化功能可參見上述方法的相關(guān)記載,在此不作贅述。
需要說明的是,上述數(shù)據(jù)預(yù)處理模塊31、數(shù)據(jù)計(jì)算模塊32和還原模塊34的功能可以由PCM內(nèi)的硬件電路實(shí)現(xiàn)。而數(shù)據(jù)存儲(chǔ)模塊33的功能由PCM內(nèi)的存儲(chǔ)單元實(shí)現(xiàn)。
由上可見,在本發(fā)明實(shí)施例中,數(shù)據(jù)預(yù)處理模塊31用于,將將要寫入PCM的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),對(duì)源數(shù)據(jù)進(jìn)行多種預(yù)處理,得到多組備選數(shù)據(jù);數(shù)據(jù)計(jì)算單元32用于,分別計(jì)算多組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值。最后數(shù)據(jù)存儲(chǔ)模塊33用于,令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù),從而減小了 PCM寫入數(shù)據(jù)時(shí)的能量損耗。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1.一種相變存儲(chǔ)器的數(shù)據(jù)寫入方法,其特征在于,包括: 將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)所述源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與所述源數(shù)據(jù)的位數(shù)N相等,所述N為自然數(shù); 計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值; 令所述目標(biāo)地址存儲(chǔ)所述多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述多種不同的預(yù)處理方式中,其中一種預(yù)處理方式為不進(jìn)行任何處理,其他預(yù)處理方式包括按位取反、與給定數(shù)據(jù)按位異或、與給定數(shù)據(jù)按位同或和循環(huán)移位方式中的任意一種或任意組合。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值的過程包括: 針對(duì)任一備選數(shù)據(jù),將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,所述i為自然數(shù),取值介于I至N之間,并且包括I和N; 將所述比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,所述X為自然數(shù),取值介于I至N之間,并且包括I和N ; 計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較的過程包括: 將所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)和所述備選數(shù)據(jù)按位異或得到異或結(jié)果,在第i位上的異或結(jié)果作為第i位的比較結(jié)果。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或1,所述計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值的過程包括: 設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b; 統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),記為numO ; 統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),記為numl ; 根據(jù)公式a*num0+b*numl計(jì)算出將備選數(shù)據(jù)在每一目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 保存取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在所述目標(biāo)地址中的、取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)還原成所述源數(shù)據(jù)。
7.—種相變存儲(chǔ)器的數(shù)據(jù)寫入裝置,其特征在于,包括:數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)計(jì)算模塊和數(shù)據(jù)存儲(chǔ)模塊; 數(shù)據(jù)預(yù)處理模塊用于,將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)所述源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與所述源數(shù)據(jù)的位數(shù)N相等,所述N為自然數(shù); 數(shù)據(jù)計(jì)算模塊用于,計(jì)算所述每一組備選數(shù)據(jù)存儲(chǔ)至所述目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值; 數(shù)據(jù)存儲(chǔ)模塊用于,令所述目標(biāo)地址存儲(chǔ)所述多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)計(jì)算模塊包括數(shù)據(jù)比較單元、目標(biāo)位生成單元和計(jì)算單元; 所述數(shù)據(jù)比較單元用于,針對(duì)任一備選數(shù)據(jù),將備選數(shù)據(jù)在第i位上的取值與所述目標(biāo)地址當(dāng)前存儲(chǔ)數(shù)據(jù)在第i位上的取值進(jìn)行比較,得到取值相同或取值不同的比較結(jié)果,所述i為自然數(shù),取值介于I至N之間,并且包括I和N ; 目標(biāo)位生成單元用于,將所述比較結(jié)果中取值不同的比較結(jié)果所對(duì)應(yīng)的位作為目標(biāo)位,確定出X個(gè)目標(biāo)位,所述X為自然數(shù),取值介于I至N之間,并且包括I和N ; 所述計(jì)算單元用于,計(jì)算將所述備選數(shù)據(jù)在所有目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,任一備選數(shù)據(jù)在每一目標(biāo)位上的取值為O或1,所述計(jì)算單元包括設(shè)置子單元、第一統(tǒng)計(jì)子單元、第二統(tǒng)計(jì)子單元和能量損耗值計(jì)算子單元; 所述設(shè)置子單元用于,設(shè)置寫入O的能量損耗值和寫入I的能量損耗值的比例系數(shù)為a:b; 所述第一統(tǒng)計(jì)子單元用于,統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為O的目標(biāo)位的個(gè)數(shù),并記為numO ; 所述第二統(tǒng)計(jì)子單元用于,統(tǒng)計(jì)在所述X個(gè)目標(biāo)位中取值為I的目標(biāo)位的個(gè)數(shù),并記為numl ; 所述能量損耗值計(jì)算子單元用于,根據(jù)公式aYumO+l/numl計(jì)算出將備選數(shù)據(jù)在每一目標(biāo)位上的取值寫入所述目標(biāo)地址相應(yīng)位置的能量損耗值。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括還原模塊,所述還原模塊用于保存最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)的還原方式,以便在讀取時(shí),根據(jù)保存的還原方式將存儲(chǔ)在所述目標(biāo)地址中的、 取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù)還原成所述源數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種相變存儲(chǔ)器的數(shù)據(jù)寫入方法及裝置,包括將將要寫入相變存儲(chǔ)器的目標(biāo)地址中的一組數(shù)據(jù)作為源數(shù)據(jù),采用多種不同的預(yù)處理方式對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,獲得多組備選數(shù)據(jù),其中,每一組備選數(shù)據(jù)的位數(shù)與源數(shù)據(jù)的位數(shù)N相等,N為自然數(shù);計(jì)算每一組備選數(shù)據(jù)存儲(chǔ)至目標(biāo)地址的能量損耗值,得到多個(gè)能量損耗值;令目標(biāo)地址存儲(chǔ)多個(gè)能量損耗值中取值最小的能量損耗值所對(duì)應(yīng)的備選數(shù)據(jù),采用上述方法,可以減小相變存儲(chǔ)器寫入數(shù)據(jù)時(shí)的能量損耗。
文檔編號(hào)G11C11/56GK103151072SQ20131010540
公開日2013年6月12日 申請(qǐng)日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者孫健, 陳嵐, 郝曉冉 申請(qǐng)人:中國科學(xué)院微電子研究所