[发明专利]一种分层的基于随机映射的相变内存磨损均衡方法及系统有效
| 申请号: | 201510119973.1 | 申请日: | 2015-03-18 |
| 公开(公告)号: | CN104714894B | 公开(公告)日: | 2017-08-11 |
| 发明(设计)人: | 胡事民;刘巍 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
| 地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分层 基于 随机 映射 相变 内存 磨损 均衡 方法 系统 | ||
1.一种分层的基于随机映射的相变内存磨损均衡方法,其特征在于,包括:
S1.将相变内存地址空间划分为RANK、BANK、REGION三个层次,并设置每个层次的内存写次数计数器;
S2.初始化每个层次的内存随机映射表集;如果某一层次的内存写次数计数器大于或等于该层次预设的写次数阈值,则更新其内存随机映射表集;
S3.针对内存写操作,分别从RANK层、BANK层和REGION层进行内存逻辑地址到内存物理地址的转换;
其中,所述S3具体包括:
S31:从内存逻辑地址,获取逻辑rank编号,查询RANK层当前内存映射表;如果RANK层当前内存随机映射表中相应表项的调整标志位已被设置,则使用RANK层当前内存映射表相应表项的逻辑rank编号和物理rank编号的映射关系进行rank编号转换;如果RANK层当前内存随机映射表中相应表项的调整标志位未被设置,则使用上次RANK层内存随机映射表的逻辑rank编号和物理rank编号的映射关系进行rank编号转换;
S32:从内存逻辑地址,获取逻辑bank编号,查询BANK层相应的当前内存映射表;如果BANK层当前内存随机映射表中相应表项的调整标志位已被设置,则使用BANK层当前内存映射表相应表项的逻辑bank编号和物理bank编号的映射关系进行bank编号转换;如果BANK层当前内存随机映射表中相应表项的调整标志位未被设置,则使用BANK层上次内存随机映射表的逻辑bank编号和物理bank编号的映射关系进行bank编号转换;
S33:从内存逻辑地址,获取逻辑region编号,查询REGION层相应的当前内存映射表;如果REGION层当前内存随机映射表中相应表项的调整标志位已被设置,则使用REGION层当前地址映射表相应表项的逻辑region编号和物理region编号的映射关系进行region编号转换;如果REGION层当前内存随机映射表中相应表项的调整标志位未被设置,则使用REGION层上次内存随机映射表的逻辑region编号和物理region编号的映射关系进行region编号转换。
2.根据权利要求1所述的分层的基于随机映射的相变内存磨损均衡方法,其特征在于,所述S1进一步包括:
S11:划分RANK层:相变内存包含4个rank,若相变内存的大小为s字节,则每个rank的大小为s/4个字节,RANK层包含4个rank,RANK层的基本处理单元是rank;
S12:划分BANK层:相变内存每个rank包含4个bank,根据S11,每个bank的大小为s/4/4个字节,则BANK层包含16个bank,BANK层的基本处理单元是bank;
S13:划分REGION层:1个相变内存行row大小为4096字节,n个row为1个region,其中,n≥1;根据S11和S12,每个bank包含s/4/4/(n*4096)个region;
S14:每个region设置一个REGION写次数计数器,记录该region内的写次数;每个bank设置一个BANK写次数计数器,记录该bank内的写次数;每个RANK设置一个RANK写次数计数器,记录该rank内的写次数;设置一个全局写次数计数器,记录相变内存的全部写次数;写次数计数器的类型为整型,每次对内存进行写操作时,根据写操作的地址,相对应的REGION写次数计数器、BANK写次数计数器和RANK写次数计数器均递增1。
3.根据权利要求1所述的分层的基于随机映射的相变内存磨损均衡方法,其特征在于,所述S2进一步包括:
S21:每个层次的内存映射表集都包含该层次的当前内存随机映射表、上次内存随机映射表及其反向映射表;相变内存包含1个rank映射表集,每个rank包含4个bank映射表集,每个bank包含s/4/4/(n*4096)个region映射表集,其中,s表示相变内存大小,n表示1个region包含的row数量;
S22:初始化时,依据洗牌算法,生成当前内存随机映射表,上次内存随机映射表及其反向映射表的元素值为空;
S23:在更新内存映射表集时,将当前内存随机映射表拷贝到上次内存随机映射表的存储位置;生成上次内存随机映射表的反向映射表;依据洗牌算法,生成新的内存随机映射表,并拷贝到当前内存随机映射表的存储位置;
S24:更新某个层次的内存映射表集后,该层次的内存写操作计数器清零。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510119973.1/1.html,转载请声明来源钻瓜专利网。





