CN102043591B - Pram的写操作方法 - Google Patents

Pram的写操作方法 Download PDF

Info

Publication number
CN102043591B
CN102043591B CN201010564893A CN201010564893A CN102043591B CN 102043591 B CN102043591 B CN 102043591B CN 201010564893 A CN201010564893 A CN 201010564893A CN 201010564893 A CN201010564893 A CN 201010564893A CN 102043591 B CN102043591 B CN 102043591B
Authority
CN
China
Prior art keywords
data
pram
storage unit
ring shift
operation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010564893A
Other languages
English (en)
Other versions
CN102043591A (zh
Inventor
胡事民
田玉龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201010564893A priority Critical patent/CN102043591B/zh
Publication of CN102043591A publication Critical patent/CN102043591A/zh
Application granted granted Critical
Publication of CN102043591B publication Critical patent/CN102043591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种PRAM的写操作方法,包括:S1:将需要写回PRAM的数据进行多次循环移位;S2:计算步骤S1中每个循环移位后的数据与旧数据的汉明距离;S3:选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空间,只在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后的数据的移位位数也记录在所述PRAM中。本发明减少对PRAM总的写入次数,延长PRAM的使用寿命。

Description

PRAM的写操作方法
技术领域
本发明涉及计算机存储器技术领域,特别涉及一种PRAM的写操作方法。 
背景技术
相位可变随机存储器(phase-change random access memory,PRAM),也称为相变存储器(Phase Change Memory,PCM)。具有巨大的应用前景。与闪存(Flash)相比具有读写速度快,寿命长等优点。但PRAM的存储颗粒同样具有有限的生命周期,可擦写次数为108-109次。由于读写速度和低功耗方面的优势,也可以将PRAM作为主存DRAM的替代品,已有成为下一代主存的趋势。与DRAM相比,PRAM具有集成密度高,功耗低,非易失等特点,但其读写速度稍慢,有限的可擦写次数依然是其突出性的问题。如何减少写回PRAM的数据成为增强相变存储器存储寿命的一种显著方法。 
PRAM是按位为单位进行操作的,一个PRAM存储单元使用一种叫做相变材质来存储1比特信息。这种介质可以稳定的存在两种状态:非晶体状态和晶体状态。可以用来代表逻辑上的‘0’和‘1’。两种状态可以通过加热来进行状态转换。这种材质还可以通过加热温度的不同来形成多种可以区分的状态来存储更多的信息。 
发明内容
(一)要解决的技术问题 
本发明要解决的技术问题是:如何减少对PRAM的写回次数。 
(二)技术方案 
为解决上述技术问题,本发明提供了一种PRAM的写操作方法,包括以下步骤: 
S1:将需要写回PRAM的数据进行多次循环移位; 
S2:计算步骤S1中每个循环移位后的数据与旧数据的汉明距离; 
S3:选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空间,只在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后的数据的移位位数也记录在所述PRAM中。 
其中,步骤S1具体为: 
将需要写回的数据循环移位0~N-1位,并将循环移位后得到的N个数据存在PRAM控制电路的第一组N个存储单元中,每个储存单元中存储的数据为循环移位不同位数而得到的数据,其中,N为数据的bit长度。 
其中,所述步骤S2具体包括: 
S2.1:在CPU把缓存中长度为N的更新过的数据写回PRAM时,从PRAM中存储旧数据的数据区中读出旧数据; 
S2.2:将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份; 
S2.3:分别计算第一组N个存储单元中的循环移位后的N个数据与第二组N个存储单元中的旧数据之间的汉明距离。 
其中,所述步骤S2.3中具体为:并行地分别计算第一组N个存储单元中的循环移位后的N个数据与第二组N个存储单元中的旧数据之间的汉明距离。 
其中,所述步骤S2.1中的数据区对应有标记区,数据区和标记区的个数相等,长为M的数据区对应长为log2M的标记区。 
其中,所述步骤S3中的移位位数记录在所述标记区。 
其中,所述循环移位为方向一致向左的移位或方向一致向右的移位。 
其中,所述第一组N个存储单元为PRAM控制电路的前N个存储单元,所述第二组N个存储单元为PRAM控制电路的后N个存储单元,且前后N个存储单元不重叠。 
(三)有益效果 
本发明通过对要写入的数据循环移位后计算与旧数据的汉明距离,找到汉明距离最小的循环移位后的数据,并在写入PRAM时只写入与旧数据相应位的数据不同的数据,还将移动的位数写入标记区,从而减少对PRAM总的写入次数,延长PRAM的使用寿命。 
附图说明
图1是本发明实施例的一种PRAM的写操作方法流程图; 
图2是本发明实施例的一种PRAM的写操作方法中计算汉明距离示意图; 
图3是根据本发明的PRAM的写操作方法写入后读取还原的过程图。 
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。 
如图1所示,为本发明实施例的一种PRAM的写操作方法流程图,包括: 
步骤S101,将需要写回PRAM的数据进行多次循环移位。具体地,将需要写回的数据循环移位0~N-1位,N为数据的bit长度,移位时可以左移也可以右移,但方向要一致,并将循环移位后得到的N个数据存在PRAM控制电路的第一组N个存储单元中,存储单元是以N bit为单位的存储单元,每个储存单元中存储的数据为循环移位不同位数而得到的数据。 
步骤S102,读取旧数据。优选地,将PRAM分为数据区和标记区,数据区和标记区个数相等,数据区和标记区一一对应,长为M的数据区对应一个长为log2M的标记区。在CPU把缓存中长度为N 更新过的数据写回PRAM时,先从PRAM中存储旧数据的数据区中读出旧数据,并将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份。CPU每次写会的数据的长度都是一样的,即cacheline的长度,所以新数据和旧数据的长度相同。为了方便存储,优选将旧数据存储在PRAM控制电路的后N个存储单元,循环移位后的数据存储中PRAM控制电路的前N个存储单元,且前后N个存储单元不重叠。 
步骤S103,计算每个循环移位后的数据与旧数据的汉明距离。如图2所示,计算移位0,1,......,N-1位后的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位后读入处理器进行接下来的常规操作。 
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。 

Claims (7)

1.一种PRAM的写操作方法,其特征在于,包括以下步骤:
S1:将需要写回PRAM的数据进行多次循环移位,具体将需要写回的数据循环移位0~N-1位,并将循环移位后得到的N个数据存在PRAM控制电路的第一组N个存储单元中,每个储存单元中存储的数据为循环移位不同位数而得到的数据,其中,N为数据的bit长度;
S2:计算步骤S1中每个循环移位后的数据与旧数据的汉明距离;
S3:选取最小汉明距离所对应的循环移位后的数据写入PRAM中旧数据对应的空间,只在与旧数据按位比较相同位上不同数据的位中写入数据,并将所选择的循环移位后的数据的移位位数也记录在所述PRAM中。
2.如权利要求1所述的PRAM的写操作方法,其特征在于,所述步骤S2具体包括:
S2.1:在CPU把缓存中长度为N的更新过的数据写回PRAM时,从PRAM中存储旧数据的数据区中读出旧数据;
S2.2:将所述旧数据在PRAM控制电路的第二组N个存储单元中各存储一份;
S2.3:分别计算第一组N个存储单元中的循环移位后的N个数据与第二组N个存储单元中的旧数据之间的汉明距离。
3.如权利要求2所述的PRAM的写操作方法,其特征在于,所述步骤S2.3中具体为:并行地分别计算第一组N个存储单元中的循环移位后的N个数据与第二组N个存储单元中的旧数据之间的汉明距离。
4.如权利要求2所述的PRAM的写操作方法,其特征在于,所述步骤S2.1中的数据区对应有标记区,数据区和标记区的个数相等,长为M的数据区对应长为log2M的标记区。 
5.如权利要求4所述的PRAM的写操作方法,其特征在于,所述步骤S3中的移位位数记录在所述标记区。
6.如权利要求1所述的PRAM的写操作方法,其特征在于,所述循环移位为方向一致向左的移位或方向一致向右的移位。
7.如权利要求2~5中任一项所述的PRAM的写操作方法,其特征在于,所述第一组N个存储单元为PRAM控制电路的前N个存储单元,所述第二组N个存储单元为PRAM控制电路的后N个存储单元,且前后N个存储单元不重叠。 
CN201010564893A 2010-11-24 2010-11-24 Pram的写操作方法 Active CN102043591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010564893A CN102043591B (zh) 2010-11-24 2010-11-24 Pram的写操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010564893A CN102043591B (zh) 2010-11-24 2010-11-24 Pram的写操作方法

Publications (2)

Publication Number Publication Date
CN102043591A CN102043591A (zh) 2011-05-04
CN102043591B true CN102043591B (zh) 2012-09-05

Family

ID=43909755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010564893A Active CN102043591B (zh) 2010-11-24 2010-11-24 Pram的写操作方法

Country Status (1)

Country Link
CN (1) CN102043591B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508787B (zh) * 2011-11-29 2014-09-03 清华大学 混合结构内存的内存分配***及方法
CN103730155B (zh) * 2012-10-10 2018-05-29 华为技术有限公司 数据写入方法及装置
CN104142892B (zh) 2013-05-09 2017-08-11 华为技术有限公司 一种数据读写方法、装置及***
CN110018971B (zh) * 2017-12-29 2023-08-22 华为技术有限公司 缓存替换技术

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996015B2 (en) * 2003-12-03 2006-02-07 Texas Instruments Incorporated First-in first-out memory system with single bit collision detection
CN1858855A (zh) * 2006-02-17 2006-11-08 华为技术有限公司 一种延长非易失存储器寿命的计数方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996015B2 (en) * 2003-12-03 2006-02-07 Texas Instruments Incorporated First-in first-out memory system with single bit collision detection
CN1858855A (zh) * 2006-02-17 2006-11-08 华为技术有限公司 一种延长非易失存储器寿命的计数方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sanqyeun Cho et al..《Flip-N-Write:a simple deterministic technique to improve PRAM write performance,energy and endurance》.《MICRO 42 Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture》.2009,1-11. *
SanqyeunChoetal..《Flip-N-Write:asimpledeterministictechniquetoimprovePRAMwriteperformance energy and endurance》.《MICRO 42 Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture》.2009

Also Published As

Publication number Publication date
CN102043591A (zh) 2011-05-04

Similar Documents

Publication Publication Date Title
CN102890621B (zh) 确定固态存储介质配置参数的装置、***和方法
CN103164343B (zh) 基于相变存储器的分页、ecc校验及多位预取方法及其结构
CN101552032B (zh) 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
US20110010489A1 (en) Logical block management method for a flash memory and control circuit storage system using the same
CN101620572B (zh) 非易失性内存及控制方法
TWI434175B (zh) 用來進行區塊管理之方法以及記憶裝置及控制器
CN104899154B (zh) 基于嵌入式***混合主存的页面管理方法
CN101673188A (zh) 一种固态硬盘的数据存取方法
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
CN102169462A (zh) 基于NAND Flash的数据记录方法与记录控制器
CN102253901B (zh) 一种基于相变内存的读写区分数据存储替换方法
Burr et al. Storage class memory
CN104731515B (zh) 控制存储设备机群磨损均衡的方法及设备
CN102043591B (zh) Pram的写操作方法
CN106354658B (zh) 一种降低混合映射算法中映射表内存资源占用的方法
CN109002257B (zh) 一种基于可变便笺存储器的数据分布优化方法
CN102097125B (zh) 相变存储器的写操作方法
CN104484128A (zh) 基于一读一写存储器的多读多写存储器及其实现方法
CN104317753A (zh) 存储设备及其数据读写方法
CN103885724B (zh) 基于相变存储器的存储***结构及其损耗均衡算法
CN102520885B (zh) 一种混合硬盘的数据管理***
CN103811047B (zh) 一种基于分块dram的低功耗刷新方法
KR20140021793A (ko) 비휘발성 램 기반의 b+ 트리 데이터베이스화 방법
CN105205008A (zh) 降低混合映射算法中日志块映射表内存资源占用的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant