当前位置: 首页 > 专利查询>清华大学专利>正文

基于随机映射的相变内存磨损均衡方法及系统技术方案

技术编号:11659937 阅读:95 留言:0更新日期:2015-06-29 10:57
本发明专利技术提供了一种基于随机映射的相变内存磨损均衡方法,包括:生成一个内存地址随机映射表作为当前内存地址随机映射表;所述当前内存随机映射表中有s/M个表项;s为相变内存的大小,M为一个相变内存行的大小;当发生内存写操作时,若所述写次数计数器未达到预设的写次数阈值,则判断所述当前内存地址随机映射表中相应表项的调整标志位是否已被设置;若被设置,则使用当前内存地址随机映射表的逻辑内存地址和物理内存地址的映射关系进行地址转换;否则,进行内存调整过程,并修改当前内存地址随机映射表中相应表项的物理地址值和调整标记位。本发明专利技术可改进相变内存磨损均衡效果,达到提升相变内存寿命的目的,同时对性能的影响降到最低。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种基于随机映射的相变内存磨损均衡方法及系统
技术介绍
由于相变内存存在写次数有限的缺点,因此,提升相变内存的寿命就成为其能否实际应用的关键技术。磨损均衡技术是提升相变内存寿命的主要方法之一。现有的磨损均衡技术主要问题是,或者是跟踪每个内存单元的写次数,造成大量的存储空间和性能开销,或者是内存调整方式存在信息泄露,无法抵御恶意磨损程序的攻击。
技术实现思路
针对现有技术中的缺陷,本专利技术提供一种基于随机映射的相变内存磨损均衡方法及系统,可改进相变内存磨损均衡效果,达到提升相变内存寿命的目的,同时对性能的影响降到最低。本专利技术提供以下技术方案:第一方面,本专利技术提供了一种基于随机映射的相变内存磨损均衡方法,包括:生成一个内存地址随机映射表作为当前内存地址随机映射表;所述当前内存随机映射表中有s/M个表项;s为相变内存的大小,M为一个相变内存行的大小;所述当前内存地址随机映射表用于将逻辑内存地址转变为物理内存地址,所述当前内存地址随机映射表的索引值表示逻辑内存的行号,所述当前内存地址随机映射表的表项包括物理内存的行号和调整标志位两个表项;当发生内存写操作时,判断预先设置的写次数计数器是否达到预设的写次数阈值,若所述写次数计数器未达到预设的写次数阈值,则判断所述当前内存地址随机映射表中相应表项的调整标志位是否已被设置;若被设置,则使用当前内存地址随机映射表的逻辑内存地址和物理内存地址的映射关系进行地址转换,并将写次数计数器加I;否则,进行内存调整过程,并修改当前内存地址随机映射表中相应表项的物理地址值和调整标记位,且将写次数计数器加I。进一步地,所述基于随机映射的相变内存磨损均衡方法还包括:当发生内存写操作时,判断所述写次数计数器是否达到预设的写次数阈值,若所述写次数计数器达到预设的写次数阈值,则进行更新操作:将当前内存地址随机映射表拷贝到预先设置的随机映射表中,形成上次内存地址随机映射表;生成所述上次内存地址随机映射表的反向内存地址随机映射表;生成新的内存地址随机映射表作为当前内存地址随机映射表;将所述写次数计数器清零;其中,所述上次内存地址随机映射表的反向地址映射表为上次内存地址随机映射表的索引值和物理内存行号表项互换后形成的映射表。进一步地,所述进行内存调整过程包括:根据逻辑地址查询当前内存地址随机映射表和上次内存地址随机映射表,得到映射的当前物理地址和上次物理地址;交换当前物理地址和上次物理地址中的内容,并修改当前内存地址随机映射表中两个相应表项的物理地址值,设置它们的调整标志位;在上次内存地址随机映射表的反向地址映射表中查询上次物理地址对应的逻辑地址,如果该逻辑地址与交换后上次物理地址对应的逻辑地址一致,则完成本次调整过程;否则,以调整后逻辑地址与物理地址不一致的内存行为开端,循环对物理内存进行调整,并修改当前内存地址随即映射表的调整标志位,直到物理地址中的数据与逻辑地址对应的数据一致为止。进一步地,所述基于随机映射的相变内存磨损均衡方法还包括:当发生内存读操作时,判断所述当前内存地址随机映射表中相应表项的调整标志位是否被设置;若被设置,则使用当前内存地址随机映射表相应表项的逻辑内存地址和物理内存地址的映射关系进行地址转换;否则,使用上次内存地址随机映射表相应表项的逻辑内存地址和物理内存地址的映射关系进行地址转换。进一步地,所述基于随机映射的相变内存磨损均衡方法还包括:将η个相变内存行划分为一个区域,整个相变内存划分为s/(n*M)个区域,若将所述区域作为内存地址随机映射的基本单元,则所述当前内存随机映射表中有s/(n*M)个表项。其中,所述写次数阈值的大小为所述划分的区域个数的20倍以上。第二方面,本专利技术提供了一种基于随机映射的相变内存架构系统,包括内存地址随机映射控制器和内存映射表存储器;所述内存地址随机映射控制器,用于生成一个内存地址随机映射表作为当前内存地址随机映射表;所述当前内存随机映射表中有s/M个表项;s为相变内存的大小,M为一个相变内存行的大小;所述当前内存地址随机映射表用于将逻辑内存地址转变为物理内存地址,所述当前内存地址随机映射表的索引值表示逻辑内存的行号,所述当前内存地址随机映射表的表项包括物理内存的行号和调整标志位两个表项;所述内存地址随机映射控制器,还用于在发生内存写操作时,判断预先设置的写次数计数器是否达到预设的写次数阈值,在所述写次数计数器未达到预设的写次数阈值时,判断所述当前内存地址随机映射表中相应表项的调整标志位是否被设置;在所述当前内存地址随机映射表中相应表项的调整标志位被设置时,使用当前内存地址随机映射表的逻辑内存地址和物理内存地址的映射关系进行地址转换,并将写次数计数器加I ;在所述当前内存地址随机映射表中相应表项的调整标志位未被设置时,进行内存调整过程,并修改当前内存地址随机映射表中相应表项的物理地址值和调整标记位,且将写次数计数器加I;所述内存映射表存储器,用于存储当前内存地址随机映射表。进一步地,所述内存地址随机映射控制器还用于在当发生内存写操作时,判断所述写次数计数器是否达到预设的写次数阈值,在所述写次数计数器达到预设的写次数阈值时,进行更新操作:将当前内存地址随机映射表拷贝到预先设置的随机映射表中,形成上次内存地址随机映射表;生成所述上次内存地址随机映射表的反向内存地址随机映射表;生成新的内存地址随机映射表作为当前内存地址随机映射表;将所述写次数计数器清零;其中,所述上次内存地址随机映射表的反向地址映射表为上次内存地址随机映射表的索引值和物理内存行号表项互换后形成的映射表;所述内存映射表存储器,还用于存储所述上次内存地址随机映射表和所述上次内存地址随机映射表的反向内存地址随机映射表。进一步地,所述内存地址随机映射控制器还用于当发生内存读操作时,判断所述当前内存地址随机映射表中相应表项的调整标志位是否被设置;在所述当前内存地址随机映射表中相应表项的调整标志位被设置时,使用当前内存地址随机映射表相应表项的逻辑内存地址和物理内存地址的映射关系进行地址转换;在所述当前内存地址随机映射表中相应表项的调整标志位未被设置时,使用上次内存地址随机映射表相应表项的逻辑内存地址和物理内存地址的映射关系进行地址转换。其中,所述进行内存调整过程包括:根据逻辑地址查询当前内存地址随机映射表和上次内存地址随机映射表,得到映射的当前物理地址和上次物理地址;交换当前物理地址和上次物理地址中的内容,并修改当前内存地址随机映射表中两个相应表项的物理地址值,设置它们的调整标志位;在上次内存地址随机映射表的反向地址映射表中查询上次物理地址对应的逻辑地址,在该逻辑地址与交换后上次物理地址对应的逻辑地址一致时,结束本次调整过程;在该逻辑地址与交换后上次物理地址对应的逻辑地址不一致时,以调整后逻辑地址与物理地址不一致的内存行为开端,循环对物理内存进行调整,并修改当前内存地址随即映射表的调整标志位,直到物理地址中的数据与逻辑地址对应的数据一致为止。其中,所述内存映射表存储器为SDRAM存储器。由上述技术方案可知,本专利技术所述的基于随机映射的相变内存磨损均衡方法及系统,至少具有以下有益效果:将写操作频繁的内存块均匀分布到整个相变内存空间,达到磨损本文档来自技高网...
基于随机映射的相变内存磨损均衡方法及系统

【技术保护点】
基于随机映射的相变内存磨损均衡方法,其特征在于,包括:生成一个内存地址随机映射表作为当前内存地址随机映射表;所述当前内存随机映射表中有s/M个表项;s为相变内存的大小,M为一个相变内存行的大小;所述当前内存地址随机映射表用于将逻辑内存地址转变为物理内存地址,所述当前内存地址随机映射表的索引值表示逻辑内存的行号,所述当前内存地址随机映射表的表项包括物理内存的行号和调整标志位两个表项;当发生内存写操作时,判断预先设置的写次数计数器是否达到预设的写次数阈值,若所述写次数计数器未达到预设的写次数阈值,则判断所述当前内存地址随机映射表中相应表项的调整标志位是否已被设置;若被设置,则使用当前内存地址随机映射表的逻辑内存地址和物理内存地址的映射关系进行地址转换,并将写次数计数器加1;否则,进行内存调整过程,并修改当前内存地址随机映射表中相应表项的物理地址值和调整标记位,且将写次数计数器加1。

【技术特征摘要】

【专利技术属性】
技术研发人员:胡事民刘巍
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1