[发明专利]一种相变存储器数据写入方法有效
申请号: | 201610348925.4 | 申请日: | 2016-05-24 |
公开(公告)号: | CN106057236B | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 童薇;冯丹;王芳;刘景宁;李铮;刘翔 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G11C13/00 | 分类号: | G11C13/00 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种相变存储器数据写入方法,属于存储器的数据存储方法,解决现有相变存储器数据写入方法存在的未最大化地利用能耗预算问题,以提升相变存储器(PCM)的写性能和寿命。本发明包括读出数据步骤、分析数据步骤、写入数据步骤。本发明针对PCM写“0”和写“1”的延时及能耗的不对称性,充分利用PCM的能耗预算(power budget),通过分别记录每一个数据单元待修改的“0”和“1”的个数,对每一个数据单元写入顺序重新调度,最大化对能耗预算的利用,进一步缩短PCM的写延迟,从而提升写性能和寿命。 | ||
搜索关键词: | 一种 相变 存储器 数据 写入 方法 | ||
【主权项】:
1.一种相变存储器数据写入方法,包括读出数据步骤、分析数据步骤、写入数据步骤,其特征在于:(1)读出数据步骤,对待写入存储体内各芯片,均包括下述子步骤:(1.1)将缓存行地址寄存器的值设置为待写入缓存行的起始地址;将读出计数器的值RD设置为0;(1.2)读出芯片内缓存的偏移地址为(K+1)×RD的旧数据段{F,D0}并将其放入读缓存中,旧数据段{F,D0}的大小为K+1位,为扩展后芯片写单元的大小;其中翻转位F为1位,旧数据单元D0为K位;(1.3)在待写入的缓存行中取出偏移地址为K×RD的新数据单元D1,将新数据单元D1和旧数据单元D0逐位进行比较,判断具有差别的位数是否大于K/2,是则转子步骤(1.4);否则转子步骤(1.5);(1.4)将新数据单元D1翻转为D2,将“1”赋值给翻转位F,将D2赋值给待写入数据单元D,构成待写入数据段{F,D},转子步骤(1.6);D1翻转为D2时,D1中各二进制“0”位变为“1”位,“1”位变为“0”位;(1.5)新数据单元D1保持不变,将“0”赋值给翻转位F,将D1赋值给待写入数据单元D,构成待写入数据段{F,D},转子步骤(1.6);(1.6)将待写入数据段{F,D},保存到偏移地址为(K+1)×RD对应的芯片内缓存中,记录其相对于旧数据段{F,D0}修改的“1”和“0”的个数,分别存入对应的写“1”数组和写“0”数组中;所述写“1”数组和写“0”数组分别包括M/(L×K)条记录,写“1”数组中的每条记录均由序号和数据构成,序号与芯片内缓存的偏移地址对应,数据为待写入数据段{F,D}相对于旧数据段{F,D0}修改的“1”的个数;写“0”数组中的每条记录均由序号和数据构成,序号与芯片内缓存的偏移地址对应,数据为待写入数据段{F,D}相对于旧数据段{F,D0}修改的“0”的个数;M为缓存行的位数,K为芯片写单元的大小,L为一个存储体内芯片数量;K的量纲为位;(1.7)将RD+1的值赋予RD,判断是否RD=M/(L×K),是则转步骤(2),否则转子步骤(1.2);(2)分析数据步骤,包括下述子步骤:(2.1)分别建立写“1”队列和写“0”队列,写“1”队列和写“0”队列均为先进先出队列,写“1”队列和写“0”队列的每条记录均由执行编号、数据单元序号和数据构成;执行编号对应写入执行顺序的序号,数据单元序号与芯片内缓存的偏移地址对应,数据为待写入数据单元内容,多个数据单元可以有相同的执行编号,表示这些数据单元应当在同一个执行顺序写入芯片;将全局能耗预算数组WU中各条记录初始化为0,所述全局能耗预算数组WU包括M/(L×K)条记录,每条记录均由执行编号及其对应的写入芯片能耗构成,转步骤(2.2);(2.2)对写“1”数组,通过MaxPB算法求解,确定并行写“1”的待写入数据单元执行顺序,形成写“1”队列,转子步骤(2.3);(2.3)对写“0”数组,通过MaxPB算法求解,确定并行写“0”的待写入数据单元执行顺序,形成写“0”队列,转步骤(3);(3)写“1”步骤,包括下述子步骤:(3.1)设置写入起始地址寄存器的值start,其大小为(j+m+n)位,其值为缓存行地址寄存器后(j+m+n)位,将写入顺序计数器的值q设置为1;j=0、1、2或3,m=9~16,n=1~5;(3.2)判断写“1”队列是否为空,是则转步骤(4);否则进行子步骤(3.3);(3.3)从写“1”队列中取出执行编号为q的各条记录,根据它们对应的数据单元序号选择对应的待写入数据单元,进行子步骤(3.4);(3.4)将待写入数据单元与读缓存中偏移地址为对应的数据单元序号的数据单元进行异或逻辑运算,得到异或逻辑运算结果,进行子步骤(3.5);(3.5)判断是否所述异或逻辑运算结果与待写入数据单元的相应位均为“1”,是则将“1”写入存储单元地址为(start+数据单元序号+p)的存储单元当中,否则不进行任何操作;进行子步骤(3.6),p为待写入数据单元的相应位;(3.6)将q+1的值赋值给写入顺序计数器的值q,转子步骤(3.2);(4)写“0”步骤,包括下述子步骤:(4.1)判断写“0”队列是否为空,是则写入操作完成;否则进行子步骤(4.2);(4.2)从写“0”队列中取出执行编号为q的各条记录,根据它们对应的数据单元序号选择对应的待写入数据单元,进行子步骤(4.3);(4.3)将待写入数据单元与读缓存中偏移地址为对应的数据单元序号的数据单元进行异或逻辑运算,得到异或逻辑运算结果,进行子步骤(4.4);(4.4)判断是否所述异或逻辑运算结果相应位为“1”且待写入数据单元的相应位为“0”,是则将“0”写入存储单元地址为(start+数据单元序号+p)的存储单元当中,否则不进行任何操作;进行子步骤(4.5);(4.5)将q+1的值赋值给写入顺序计数器的值q,转子步骤(4.1)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610348925.4/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置