Pram的写操作方法

文档序号:6337043阅读:703来源:国知局
专利名称:Pram的写操作方法
技术领域
本发明涉及计算机存储器技术领域,特别涉及一种PRAM的写操作方法。
背景技术
相位可变随机存储器(phase-change random access memory,PRAM),也称为相变 存储器(Phase Change Memory, PCM)。具有巨大的应用前景。与闪存(Flash)相比具有 读写速度快,寿命长等优点。但PRAM的存储颗粒同样具有有限的生命周期,可擦写次数为 IO8-IO9次。由于读写速度和低功耗方面的优势,也可以将PRAM作为主存DRAM的替代品, 已有成为下一代主存的趋势。与DRAM相比,PRAM具有集成密度高,功耗低,非易失等特点, 但其读写速度稍慢,有限的可擦写次数依然是其突出性的问题。如何减少写回PRAM的数据 成为增强相变存储器存储寿命的一种显著方法。
PRAM是按位为单位进行操作的,一个PRAM存储单元使用一种叫做相变材质来存 储1比特信息。这种介质可以稳定的存在两种状态非晶体状态和晶体状态。可以用来代 表逻辑上的‘0’和‘1’。两种状态可以通过加热来进行状态转换。这种材质还可以通过加 热温度的不同来形成多种可以区分的状态来存储更多的信息。发明内容
(一 )要解决的技术问题
本发明要解决的技术问题是如何减少对PRAM的写回次数。
( 二 )技术方案
为解决上述技术问题,本发明提供了一种PRAM的写操作方法,包括以下步骤
Sl 将需要写回PRAM的数据进行多次循环移位;
S2 计算步骤Sl中每个循环移位后的数据与旧数据的汉明距离;
S3 选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空 间,只在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后 的数据的移位位数也记录在所述PRAM中。
其中,步骤Sl具体为
将需要写回的数据循环移位0 N-I位,并将循环移位后得到的N个数据存在 PRAM控制电路的第一组N个存储单元中,每个储存单元中存储的数据为循环移位不同位数 而得到的数据,其中,N为数据的bit长度。
其中,所述步骤S2具体包括
S2. 1 在CPU把缓存中长度为N的更新过的数据写回PRAM时,从PRAM中存储旧数 据的数据区中读出旧数据;
S2. 2 将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份;
S2. 3 计算第一组N个存储单元中的循环移位后的数据与第二组N个存储单元中 的旧数据计算各自的汉明距离。
其中,所述步骤S2. 3中具体为并行地计算第一组N个存储单元中的循环移位后 的数据与第二组N个存储单元中的旧数据计算各自的汉明距离。
其中,所述步骤S2. 1中的数据区对应有标记区,数据区和标记区的个数相等,长 为M的数据区对应长为10&M的标记区。
其中,所述步骤S3中的移位位数记录在所述标记区。
其中,所述循环移位为方向一致向左的移位或方向一致向右的移位。
其中,所述第一组N个存储单元为PRAM控制电路的前N个存储单元,所述第二组 N个存储单元为PRAM控制电路的后N个存储单元,且前后N个存储单元不重叠。
(三)有益效果
本发明通过对要写入的数据循环移位后计算与旧数据的汉明距离,找到汉明距离 最小的循环移位后的数据,并在写入PRAM时只写入与旧数据相应位的数据不同的数据,还 将移动的位数写入标记区,从而减少对PRAM总的写入次数,延长PRAM的使用寿命。


图1是本发明实施例的一种PRAM的写操作方法流程图2是本发明实施例的一种PRAM的写操作方法中计算汉明距离示意图3是根据本发明的PRAM的写操作方法写入后读取还原的过程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。
如图1所示,为本发明实施例的一种PRAM的写操作方法流程图,包括
步骤S101,将需要写回PRAM的数据进行多次循环移位。具体地,将需要写回的数 据循环移位0 N-I位,N为数据的bit长度,移位时可以左移也可以右移,但方向要一致, 并将循环移位后得到的N个数据存在PRAM控制电路的第一组N个存储单元中,存储单元是 以N bit为单位的存储单元,每个储存单元中存储的数据为循环移位不同位数而得到的数 据。
步骤S102,读取旧数据。优选地,将PRAM分为数据区和标记区,数据区和标记区个 数相等,数据区和标记区一一对应,长为M的数据区对应一个长为Iog2M的标记区。在CPU 把缓存中长度为N更新过的数据写回PRAM时,先从PRAM中存储旧数据的数据区中读出旧 数据,并将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份。CPU每次写 会的数据的长度都是一样的,即cacheline的长度,所以新数据和旧数据的长度相同。为了 方便存储,优选将旧数据存储在PRAM控制电路的后N个存储单元,循环移位后的数据存储 中PRAM控制电路的前N个存储单元,且前后N个存储单元不重叠。
步骤S103,计算每个循环移位后的数据与旧数据的汉明距离。如图2所示,计算移位0,1,......,N-I位后的N个数据和旧数据的汉明距离,就是两个长度为N的新旧数据,按位异或,得到另一个长度为N的数,这个数中“1”的个数就是它们的汉明距离。具体地, PRAM控制电路的前N个存储单元中的循环移位后的数据并行地与PRAM控制电路的后N个 存储单元中的旧数据计算各自的汉明距离。并将计算出的汉明距离分别对应地存储在PRAM控制电路的后N个存储单元中。
步骤S104,选取最小汉明距离所对应的循环移位后的数据,即所有移位后的数据 和旧数据比较,相同bit位不同值最少(即步骤S103中“1”的个数最少的另一个长度为N 的数对应的移位后的数据)的移位后的数据为汉明距离最小的数据。
步骤S105,将步骤S104选取的数据写入PRAM中旧数据对应的空间,写入时,将 该数据与旧数据按位比较,只在与旧数据按位比较相同位(bit)上不同数据的位中写入数 据,这样可以减少对PRAM的写入次数。为了读取数据后还原,还将所选择的循环移位后的 数据的移位位数也记录在PRAM中,具体记录在与写入的数据区对应的标记区中。其读取还 原过程如图3所示,读出的参与CPU内部计算的数据需要根据记录的移动位数还原。具体 的还原如下如果处理器执行写操作时,计算汉明距离采用的是左移,那么恢复的则采用右 移。例如记录循环左移的标记值为j,那么在处理器读数据的时候,先从主存中读出该数据, 同时读出标记,值为j,那么把该数据循环右移j位后读入处理器进行接下来的常规操作。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有 等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种PRAM的写操作方法,其特征在于,包括以下步骤51将需要写回PRAM的数据进行多次循环移位;52计算步骤Sl中每个循环移位后的数据与旧数据的汉明距离;53选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空间,只 在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后的数据 的移位位数也记录在所述PRAM中。
2.如权利要求1所述的PRAM的写操作方法,其特征在于,步骤Sl具体为将需要写回的数据循环移位0 N-I位,并将循环移位后得到的N个数据存在PRAM控 制电路的第一组N个存储单元中,每个储存单元中存储的数据为循环移位不同位数而得到 的数据,其中,N为数据的bit长度。
3.如权利要求2所述的PRAM的写操作方法,其特征在于,所述步骤S2具体包括S2. 1 在CPU把缓存中长度为N的更新过的数据写回PRAM时,从PRAM中存储旧数据的 数据区中读出旧数据;S2. 2 将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份;S2. 3 计算第一组N个存储单元中的循环移位后的数据与第二组N个存储单元中的旧 数据计算各自的汉明距离。
4.如权利要求3所述的PRAM的写操作方法,其特征在于,所述步骤S2.3中具体为并 行地计算第一组N个存储单元中的循环移位后的数据与第二组N个存储单元中的旧数据计 算各自的汉明距离。
5.如权利要求3所述的PRAM的写操作方法,其特征在于,所述步骤S2.1中的数据区对 应有标记区,数据区和标记区的个数相等,长为M的数据区对应长为Iog2M的标记区。
6.如权利要求5所述的PRAM的写操作方法,其特征在于,所述步骤S3中的移位位数记 录在所述标记区。
7.如权利要求2所述的PRAM的写操作方法,其特征在于,所述循环移位为方向一致向 左的移位或方向一致向右的移位。
8.如权利要求3 6中任一项所述的PRAM的写操作方法,其特征在于,所述第一组N 个存储单元为PRAM控制电路的前N个存储单元,所述第二组N个存储单元为PRAM控制电 路的后N个存储单元,且前后N个存储单元不重叠。
全文摘要
本发明公开了一种PRAM的写操作方法,包括S1将需要写回PRAM的数据进行多次循环移位;S2计算步骤S1中每个循环移位后的数据与旧数据的汉明距离;S3选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空间,只在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后的数据的移位位数也记录在所述PRAM中。本发明减少对PRAM总的写入次数,延长PRAM的使用寿命。
文档编号G06F3/06GK102043591SQ20101056489
公开日2011年5月4日 申请日期2010年11月24日 优先权日2010年11月24日
发明者田玉龙, 胡事民 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1