相变存储器的写操作方法转让专利

申请号 : CN201010584091.X

文献号 : CN102097125B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡事民赵鹏

申请人 : 清华大学

摘要 :

本发明公开了一种相变存储器的写操作方法,包括:S1:将要写回PCM存储单元中的待写数据块作预处理,得到预处理后的数据块;S2:从PCM的存储单元中读取与所述待写数据块对应的原始数据块;S3:计算待写数据块或所述预处理后的数据块与所述原始数据块之间的汉明距离,并选取与所述原始数据块汉明距离最小值对应的数据块写回原始数据块的存储单元,并将所述预处理标志写回所述存储单元中。本发明的方法减小了对PCM存储单元的写操作次数,从延长了PCM的使用寿命。

权利要求 :

1.一种相变存储器的写操作方法,其特征在于,包括以下步骤:S1:将要写回相变存储器PCM存储单元中的待写数据块作预处理,得到预处理后的数据块,所述数据块对应有标志位,用于存储所述预处理标志,所述预处理包括:将所述待写数据块按位取反,并设定预处理标志01;

将所述待写数据块与辅助常数作异或运算,并设定预处理标志10;

将所述待写数据块与辅助常数作同或运算,并设定预处理标志11;

保持所述待写数据块不变,并设定预处理标志为00;

S2:从PCM的存储单元中读取与所述待写数据块对应的原始数据块;

S3:计算待写数据块或所述预处理后的数据块与所述原始数据块之间的汉明距离,并选取与所述原始数据块汉明距离最小值对应的数据块写回原始数据块的存储单元,并将所述预处理标志写回所述存储单元中。

2.如权利要求1所述的相变存储器的写操作方法,其特征在于,所述步骤S1中的辅助常数存储在PCM控制器中新增的辅助寄存器中。

3.如权利要求2所述的相变存储器的写操作方法,其特征在于,所述辅助寄存器的长度为数据块的长度,并初始化为“0”和“1”交替的数据。

4.如权利要求1所述的相变存储器的写操作方法,其特征在于,所述步骤S3中计算汉明距离的方式为:将两个长度相同数据按位异或,得到另一个长度相同的数据,这个数据中“1”的个数就是它们的汉明距离。

5.如权利要求1~4中任一项所述的相变存储器的写操作方法,其特征在于,当从PCM存储单元读取数据块时,先查看数据块对应的标志位,若为00,直接读出;

若为01,则将数据块取反后读出;

若为10,则将数据块与所述辅助常数做异或运算后读出;

若为11,则将数据块与所述辅助常数做同或运算后读出。

说明书 :

相变存储器的写操作方法

技术领域

[0001] 本发明涉及计算机存储技术领域,特别涉及一种相变存储器的写操作方法。

背景技术

[0002] 相变存储器(Phase Change Memory),简称PCM,是一种新型的存储器技术,具有巨大的应用前景。与闪存(Flash)相比具有读写速度快,寿命长等优点。但PCM的存储颗粒8 9
同样具有有限的生命周期,可擦写次数为10~10 次。由于读写速度和低功耗方面的优势,也可以将PCM作为主存DRAM的替代品,与DRAM相比,PCM具有集成密度高,功耗低,非易失的特点,但其读写速度稍慢,有限的可擦写次数依然是其突出性的问题。如何减少写回PCM的数据成为增强相变存储器存储寿命的一种显著方法。
[0003] PCM是按位为单位进行操作的,一个PCM存储单元使用一种叫做相变材质来存储1比特信息。这种介质可以稳定的存在两种状态:非晶体状态和晶体状态。可以用来代表逻辑上的‘0’和‘1’。两种状态可以通过加热来进行状态转换。这种材质还可以通过加热温度的不同来形成多种可以区分的状态来存储更多的信息。

发明内容

[0004] (一)要解决的技术问题
[0005] 本发明要解决的技术问题是:如何减少对PCM的写回数据量,以增强相变存储器存储寿命。
[0006] (二)技术方案
[0007] 一种相变存储器的写操作方法,包括以下步骤:
[0008] S1:将要写回相变存储器PCM存储单元中的待写数据块作预处理,得到预处理后的数据块,所述预处理包括:
[0009] 将所述待写数据块按位取反,并设定预处理标志01;
[0010] 将所述待写数据块与辅助常数作异或运算,并设定预处理标志10;
[0011] 将所述待写数据块与辅助常数作同或运算,并设定预处理标志11;
[0012] 保持所述待写数据块不变,并设定预处理标志为00;
[0013] S2:从PCM的存储单元中读取与所述待写的数据块对应的原始数据块;
[0014] S3:计算待写数据块或所述预处理后的数据块与所述原始数据块之间的汉明距离,并选取与所述原始数据块汉明距离最小值对应的数据块写回原始数据块的存储单元,并将所述预处理标志写回所述存储单元中。
[0015] 其中,所述步骤S1中的辅助常数存储在PCM控制器中新增的辅助寄存器中。
[0016] 其中,所述辅助寄存器的长度为数据块的长度,并初始化为“0”和“1”交替的数据。
[0017] 其中,所述数据块对应有标志位,用于存储所述预处理标志位。
[0018] 其中,所述步骤S3中计算汉明距离的方式为:。
[0019] 将两个长度相同数据按位异或,得到另一个长度相同的数据,这个数据中“1”的个数就是它们的汉明距离。
[0020] 其中,当从PCM存储单元读取数据块时,先查看数据块对应的标志位,[0021] 若为00,直接读出;
[0022] 若为01,则将数据块取反后读出;
[0023] 若为10,则将数据块与所述辅助常数做异或运算后读出;
[0024] 若为11,则将数据块与所述辅助常数做同或运算后读出。
[0025] (三)有益效果
[0026] 本发明通过对将要写入PCM的数据做预处理,并对预处理后的数据与原始数据做汉明距离运算,将最小汉明距离的数据写入到原始数据的存储单元中,减小了对PCM存储单元的写操作次数,从延长了PCM的使用寿命。

附图说明

[0027] 图1是本发明实施例的一种相变存储器的写操作方法流程图;
[0028] 图2为PCM的存储单元中的数据块的结构示意图;
[0029] 图3本发明的在经过减少写回数据量后读出数据的流程示意图。

具体实施方式

[0030] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0031] 本发明提供了一种利用数据变换的思路来进行减少写回数据量的设计,该方法发生在当上层缓存中的数据发生改变需要写回相变存储器PCM的存储单元时,以下步骤主要实现在相变存储器PCM的控制器中。如图1所示,减少写回操作的方法包括:
[0032] 步骤S101,将要写回PCM存储单元中的待写数据块作预处理,得到预处理后的数据块,所述预处理包括:
[0033] 将该待写数据块按位取反,并设定预处理标志01;
[0034] 将该待写数据块与辅助常数作异或运算,并设定预处理标志10;
[0035] 将该待写数据块与辅助常数作同或运算,并设定预处理标志11;
[0036] 保持所述待写数据块不变,并设定预处理标志为00。
[0037] 其中,在PCM的控制器中增加一个辅助寄存器R1,保存一个与数据块等长的数据,作为辅助运算常量,该寄存器R1初始为“0”和“1”交替的数据,如0101...0101或1010...1010。
[0038] PCM的每个数据块增加两个标志位,如图2所示,本实施例中标志位有两位,可以表示4种数据状态,分别表示:00原始数据,01取反数据,10异或数据,11同或数据,数据写回时置相应的标志位。
[0039] 步骤S102,从PCM的存储单元中读取与该待写数据块对应的原始数据块。
[0040] 步骤S103,计算该待写数据块或预处理后的数据块与原始数据块之间的汉明距离。汉明距离的计算方式有很多种,目的在于计算出两个数据块间的最小距离。本实施例中的计算方式为:待写数据块及预处理后的数据块分别与原始数据块按位异或,分别得到另一个长度相同的数据,这个数据中“1”的个数就是它们的汉明距离,“1”的个数越少表示汉明距离越小,即待写数据或预处理后的数据和原始数据比较,相同bit位不同值最少,这样写入时写入次数最少。
[0041] 用该待写数据块直接与原始数据块计算汉明距离,记为结果1;
[0042] 该待写数据块经过取反操作后与原始数据块计算汉明距离,记为结果2;
[0043] 该待写数据块与寄存器R1中的辅助常数的进行异或运算后与原始数据块计算汉明距离,记为结果3;
[0044] 该待写数据块与寄存器R1中的辅助常数进行同或运算后与原始数据块计算汉明距离,记为结果4。
[0045] 选取与所述原始数据块汉明距离最小值对应的数据块写回原始数据块的存储单元,并将对应的预处理标志写回数据块对应标志位中。
[0046] 如图3所示,当从PCM存储单元读取数据块时,先查看数据块对应的标志位:
[0047] 若为00,直接读出;
[0048] 若为01,则将数据块取反后读出;
[0049] 若为10,则将数据块与辅助寄存器R1中的辅助常数做异或运算后读出;
[0050] 若为11,则将数据块与辅助寄存器R1中的辅助常数做同或运算后读出。
[0051] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。