CN103092534B - 一种内存结构的调度方法和装置 - Google Patents
一种内存结构的调度方法和装置 Download PDFInfo
- Publication number
- CN103092534B CN103092534B CN201310044815.5A CN201310044815A CN103092534B CN 103092534 B CN103092534 B CN 103092534B CN 201310044815 A CN201310044815 A CN 201310044815A CN 103092534 B CN103092534 B CN 103092534B
- Authority
- CN
- China
- Prior art keywords
- physical memory
- memory page
- write
- exchange
- physical
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 claims description 60
- 238000003860 storage Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 108010001267 Protein Subunits Proteins 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 abstract description 14
- 230000008859 change Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 238000005265 energy consumption Methods 0.000 description 7
- 230000005012 migration Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 239000012782 phase change material Substances 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006993 memory improvement Effects 0.000 description 1
- 238000001579 optical reflectometry Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种内存结构的调度方法,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存***,包括步骤:获得当前访问所述混合内存***的实际地址的物理内存页面,识别获得的物理内存页面位于所述混合内存***内的区域,判断获得的物理内存页面内容的读写功耗是否高于预设额定值,如果是,查找用于交换的交换物理内存页面,并进行互换,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作***的调度,大大提高了***效率。
Description
技术领域
本发明涉及内存调度领域,特别是涉及一种内存结构的调度方法和装置。
背景技术
目前,计算机***中微处理器处理能力的增长速度远大于典型的DRAM(Dynamicrandomaccessmemory,动态随机存储器)存储器设备性能的改善,因此,现在的高速微处理器需要浪费大量的时钟周期来等待从低速的内存中获取需要的数据。同时,随着半导体制造工艺尺寸的收缩,DRAM技术面临着功耗、存储密度以及制造工艺等诸多瓶颈。
另一方面,PRAM(Phasechangerandomaccessmemory,相变随机存储器)技术的发展,得益于上世纪九十年代对于相变材料的研究成果。相变材料在晶态的电导率和光反射率比其在非晶态时要大很多,大约是105倍。同时它存在一个结晶温度作为两种形态的分界线,通过控制材料温度和受热时间可以让相变材料在晶态和非晶态之间快速转换。因此,具有这种性质的合金可以用作双稳态的存储材料。PRAM单元数据的读取是采用电流灵敏放大装置来感知GST电阻值的方法,因此,它可以像DRAM一样同大多数CMOS***电路很好的连接。PRAM已经逐步成为最有可能取代DRAM地位的存储器件。
这两种内存结构都有各自的优势和缺陷,其中,DRAM的数据写入功耗较低,没有使用寿命的限制,但是需要定期刷新充电以保持存储单元内部数据的有效性,因此,整体功耗比较大。而PRAM的存储密度高,数据读取功耗低,无需刷新且数据存储具有非易失性,但是存储单元数据写入速度慢,写入功耗过高,并且由于非易失的特点存储单元使用寿命受到限制。
近年来,研究人员开始开发混合了DRAM和PRAM的新型内存结构。目前主要有两种混合了DRAM和PRAM新型内存结构:一种是将PRAM作为主内存***,而用少量的DRAM作为内存***的缓存来辅助PRAM工作,在这种结构中,DRAM缓存对于操作***是不可见的。
另外一种是让PRAM和DRAM位于统一的内存地址空间里,共同构成内存***,内存仍由计算机操作***统一调度,包括物理内存页面的分配、回收和换入换出。在这种结构中,内存控制器的功能做了一定扩展,除了通常的内存控制器功能,它还负责监测PRAM的物理页面的数据更新情况,如,物理页面的写入频率;同时当监测到出现写入次数超过阈值的页面时,负责向操作***发出页面交换的中断请求;操作***接收到该中断请求后,将上述写次数超标的页面从PRAM中换出,同时在DRAM中分配相应的空闲页面,将上述从PRAM中换出的页面换入到DRAM的相应的空闲页面中,从而加快数据存取速度并且提高PRAM寿命,降低内存***的功耗。
但是,在上述第二种混合内存结构中,它仅利用了DRAM写数据功耗低的特性优于PRAM,把PRAM写次数超标的页面换入到DRAM中,却并未利用PRAM读数据功耗和待机功耗都很低的特性。另外,混合内存***的控制过程需要有操作***的大量参与,相对于整个内存***底层硬件来说,局部的调整牵涉到上层操作***的调度,降低了***的运行效率。
发明内容
为了解决上述技术问题,本发明实施例提供了一种内存结构的调度方法和装置,以使内存结构兼顾DRAM和PRAM的特性,进一步的,提高***的运行效率。
本发明实施例公开了如下技术方案:
一种内存结构的调度方法,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存***,包括步骤:
获得当前访问所述混合内存***的实际地址的物理内存页面;
识别获得的物理内存页面位于所述混合内存***内的区域;
如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将所述获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换;
如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
优选的,所述获得当前访问所述混合内存***的实际地址的物理内存页面包括:
将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面;
查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
优选的,所述将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换包括:
将获得的物理内存页面内容写入硬件缓存区中;
将所述第一交换物理内存页面内容写入获得的物理内存页面中;
将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
优选的,所述将所述获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换包括:
将获得的物理内存页面内容写入硬件缓存区中;
将所述第二交换物理内存页面内容写入获得的物理内存页面;
将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
优选的,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面包括:
查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
优选的,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面包括:
查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
优选的,所述判断所述获得的物理内存页面内容的写入功耗是否高于写入预设额定值包括:
查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数;
判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。
优选的,所述判断所述获得的物理内存页面内容的读取功耗是否高于读取预设额定值包括:
查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数;
判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
一种内存结构的调度装置,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存***,包括:
实际地址获得单元,用于获得当前访问所述混合内存***的实际地址的物理内存页面;
识别区域单元,用于识别获得的物理内存页面位于所述混合内存***内的区域;
第一查找互换单元,用于如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换;
第二查找互换单元,用于如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
优选的,所述实际地址获得单元包括:
转换子单元,用于将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面;
映射查询子单元,用于查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
优选的,所述第一查找互换单元包括:
第一缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中;
第一写入子单元,用于将所述第一交换物理内存页面内容写入获得的物理内存页面中;
第二写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
优选的,所述第二查找互换单元用于:
第二缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中;
第三写入子单元,用于将所述第二交换物理内存页面内容写入获得的物理内存页面中;
第四写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
优选的,所述第一查找识别单元包括:
第一反向映射查询单元,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
优选的,所述第二查找互换单元包括:
第二反向映射查询单元,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
优选的,其特征为,所述第一查找互换单元包括:
写入次数查询子单元,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数;
写入判断子单元,用于判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。
优选的,所述第二查找互换单元用于:
读取次数查询子单元,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数;
读取判断子单元,用于判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
由上述实施例可以看出,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作***的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存***根据访存特性做出判断,把数据写入操作过于频繁的PRAM物理页面装入DRAM中,利用DRAM写入功耗低、写入速度快和无寿命限制的特性来降低内存***的数据写入功耗,并减少对PRAM使用寿命的损耗。另一方面,把数据读取操作频率远大于写入操作的DRAM物理页面装入PRAM中,利用PRAM读取功耗低、无需刷新的特性来降低内存***的数据读取功耗。这样,在保证***性能和稳定性的前提下,大幅降低内存***功耗,提高了***效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种内存结构的调度方法的方法流程图;
图2为本发明一种内存结构的调度方法的另一个方法流程图;
图3为本发明一种内存结构的调度装置的装置结构图;
图4为本发明一种内存结构的调度装置的另一个装置结构图;
图5为本发明一种内存结构的调度装置的另一个装置结构图;
图6为本发明一种内存结构的调度装置的另一个装置结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明一种内存结构的调度方法的方法流程图,该方法包括以下步骤:
S101:将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面。
S102:查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
S103:识别获得的物理内存页面位于所述混合内存***内的区域。
S104:如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,进入步骤S105,如果否,进入步骤S106。
需要进一步说明的是,优选的,本发明查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数,判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。这里并不限定判断依据,可以是写入次数,也可以是体现写入功耗的其他任何方式。
S105:在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换,进入步骤S110。
需要进一步说明的是,所述查找包括:查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
使用查询反向映射关系进行换物理内存页面的查找是本发明的一个优选的实施例,反向映射关系是指通过被访问页面内容的混合内存***的实际地址的物理内存页面反向映射到一一对应的该页面内容的外部物理地址的物理内存页面,由此可以直接查找到写入功耗超过写入预设额定值的第一交换物理内存页面。也可以使用其他方法进行交换物理内存页面的查找,比如使用查询外部物理地址的物理内存页面与一一对应的混合内存***的实际地址的物理内存页面的映射关系进行查找,本发明并不进行限定。
需要进一步说明的是,优选的,所述第一交换物理内存页面包括在DRAM区域内查找所有写入功耗低于所述写入预设额定值的物理内存页面,从查找到的所有物理内存页面中选择写入功耗最小的为第一交换物理内存页面,是本发明的一个最优化方案,并不对其进行限定,也可以是其他任何在DRAM区域里写入功耗低于写入预设额定值的任何物理内存页面。
需要进一步说明的是,所述互换包括,将获得的物理内存页面内容写入硬件缓存区中,将所述第一交换物理内存页面内容写入获得的物理内存页面中,将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
S106:继续执行访问操作,进入步骤111。
S110:更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存***的实际地址的物理内存页面之间的映射关系。如果步骤S105中是查询反向映射关系来查找第一交换物理内存页面的,则更新进行互换的内容的混合内存***的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。
S111:获得当前访问物理内存页面的混合内存***的实际地址的物理内存页面,完成当前访问。
由本实施例可以看出,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作***的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存***根据访存特性做出判断,把数据写入操作过于频繁的PRAM物理页面装入DRAM中,利用DRAM写入功耗低、写入速度快和无寿命限制的特性来降低内存***的数据写入功耗,并减少对PRAM使用寿命的损耗。这样,在保证***性能和稳定性的前提下,大幅降低内存***功耗,提高了***效率。
实施例二
请参阅图1,其为本发明一种内存结构的调度方法的方法流程图,该方法包括以下步骤:
S101:将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面。
S102:查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
S103:识别所述当前访问的物理内存页面位于所述混合内存***内的区域。
S107:如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,进入步骤S108,如果不是,进入步骤S109。
需要进一步说明的是,优选的,本发明查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数,判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。这里并不限定判断依据,可以是读取次数,也可以是体现读取功耗的其他任何方式。
S108:在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
需要进一步说明的是,所述查找包括:查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
使用查询反向映射关系进行换物理内存页面的查找是本发明的一个优选的实施例,反向映射关系是指通过被访问页面内容的混合内存***的实际地址的物理内存页面反向映射到一一对应的该页面内容的外部物理地址的物理内存页面,由此可以直接查找到读取功耗超过读取预设额定值的第二交换物理内存页面。也可以使用其他方法进行交换物理内存页面的查找,比如使用查询外部物理地址的物理内存页面与一一对应的混合内存***的实际地址的物理内存页面的映射关系进行查找,本发明并不进行限定。
需要进一步说明的是,所述第二交换物理内存页面包括在PRAM区域查找所有读取功耗低于所述读取预设额定值的物理内存页面,从查找到的所有物理内存页面中选择读取功耗最小的为第二交换物理内存页面,是本发明的一个最优化方案,并不对其进行限定,也可以是其他任何在PRAM区域里读取功耗低于读取预设额定值的任何物理内存页面。
需要进一步说明的是,所述互换包括,将获得的当前访问的物理内存页面内容写入硬件缓存区中,将所述第二交换物理内存页面内容写入获得的物理内存页面中,将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
S109:继续执行访问操作,进入步骤111。
S110:更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存***的实际地址的物理内存页面之间的映射关系。如果步骤S108中是查询反向映射关系来查找第二交换物理内存页面的,则更新进行互换的内容的混合内存***的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。
S111:获得当前访问物理内存页面的混合内存***的实际地址的物理内存页面,完成当前访问。
由本实施例可以看出,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作***的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存***根据访存特性做出判断,把数据读取操作频率远大于写入操作的DRAM物理页面装入PRAM中,利用PRAM读取功耗低、无需刷新的特性来降低内存***的数据读取功耗。这样,在保证***性能和稳定性的前提下,大幅降低内存***功耗,提高了***效率。
实施例三
请参阅图2,其为本发明一种内存结构的调度方法的另一个方法流程图,包括:
本实施例为基于实施例一和实施例二基础上的一个针对具体场景的优选实施例,首先提出四个单位概念,分别为内外地址重映射表、访问行为记录表、反向映射表和页面迁移机制:
(1)内外地址重映射表(External-InternalAddressRemappingTable):
内外地址重映射表实现从外部物理地址到PRAM-DRAM混合内存***内部实际地址的转换。物理地址从***地址总线传入混合内存控制器中,首先就需要通过这一转换机制来获得对应的内部访问实际地址所属的物理内存页面(framenumber,fn)。不管是外部物理地址还是内部实际地址,在自身的地址空间里都有一个物理内存页面,内外地址重映射表的入口标记是外部物理地址的物理内存页面,内外地址重映射表的内容则为内部实际地址的物理内存页面。
为保证与操作***的分页机制相一致,每个入口所对应的物理内存数据块也是按照页面尺度来划分的,所以内外地址重映射表每一项所记录的都是数据块的起始地址。对于32位***下4KB大小的物理页面,用地址的前20位表示页面号,而后12位表示页内偏移量。物理内存页面的范围跟***内存总量保持一致,即物理内存页面与页面大小的乘积不超过***内存容量。为了保证数据访问的一致性,物理地址到实际地址的转换必须保证是从物理地址空间到混合内存***内部地址空间的一一映射。
(2)访问行为记录表(AccessMap)
访问行为记录表按照PRAM-DRAM内存***内部实际地址物理内存页面的顺序来记录每一个物理内存页面内容被访问的次数,包括数据读取(取数据和取指令)和数据写入的次数,其条目数量跟内外地址重映射表是相同的。访问行为记录表按照实际物理内存布局来划分和记录对应PRAM-DRAM内存***内部实际地址物理内存页面内容的访问情况,与外部物理地址也是一一对应的关系。
(3)反向映射表(Reverse-Map)
反向映射表分别记录了内存***内部实际地址的物理内存页面存储的对应外部物理地址的物理地址页面号,它的入口标记是内部DRAM或PRAM的内部实际地址的物理内存页面,条目的内容是对应存储页面的外部物理地址的物理内存页面。
(4)页面迁移机制(PageFrameMigration)
页面迁移机制借助硬件缓存区完成PRAM和DRAM两个存储区域之间物理内存页面内容的交换。
在通过访问行为记录表对访存行为的监测过程中,如果发现PRAM中的物理内存页面数据写入超过预先设定好的阈值或该阈值的整数倍(为保证PRAM区域被均衡使用,设定一个远小于使用寿命的阈值,对于超过阈值的PRAM物理内存页面允许其被重新利用起来)。此时,需要上报控制器中的页面迁移机制控制逻辑,并告知控制逻辑该物理内存页面数据对应的外部物理地址的物理内存页面,控制器就会立即转入对物理内存页面数据的转移工作。当根据DRAM物理内存页面访问频率找到最不常进行数据写入操作的物理内存页面之后,控制器就可以进行对之前的物理内存页面数据的互换了。互换需要借助一个与需要进行互换的物理内存页面数据同样大小的迁移缓冲区(migrationbuffer)来实现,把写入次数达到阈值的PRAM物理内存页面数据写入迁移缓冲区中,然后选出DRAM中不常访问的物理内存页面并将该页面的内容写入上述PRAM物理内存页面中,最后将迁移缓冲区中需要置换的PRAM物理内存页面的数据写入所选出的DRAM物理内存页面内,完成互换过程。之后还需根据这次互换更新内外地址重映射表和反向映射表中相关的内容,此时便完整的完成了一次从PRAM到DRAM内存区域物理内存页面的互换过程。
同样地,如果通过访问行为记录表对访存行为的监测过程中发现DRAM的某一物理内存页面数据频繁读取且读取次数远远超出该页面的数据写入次数,则需要将该页面的内容从DRAM存储区域换入合适的PRAM存储区域,从而利用PRAM完成更多的数据读取操作。数据交换的过程与PRAM物理内存页面换入DRAM物理内存页面相类似,找到最不常进行数据读取操作的PRAM物理内存页面,借助迁移缓冲区实现物理页面的交换。
实施例四
请参阅图3,其为本发明一种内存结构的调度装置的装置结构图,该装置包括实际地址获得单元301、识别区域单元302、第一查找互换单元303和映射关系更新单元304。
所述实际地址获得单元301,用于获得当前访问所述混合内存***的实际地址的物理内存页面。
需要进一步说明的是,所述实际地址获得单元301包括转换子单元305和映射查询子单元306:
所述转换子单元305,用于将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面;
所述映射查询子单元306,用于查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
所述识别区域单元302,用于识别获得的物理内存页面位于所述混合内存***内的区域。
所述第一查找互换单元303,用于如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换。
需要进一步说明的是,所述第一查找互换单元303包括写入次数查询子单元307和写入判断子单元308:
所述写入次数查询子单元307,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数。
所述写入判断子单元308,用于判断所述获得的物理内存页面内容的写入次数是否高于第二预设阈值。
需要进一步说明的是,所述第一查找互换单元303还用于在DRAM区域查找写入功耗低于所述写入预设额定值的物理内存页面;
从查找到的所有物理内存页面中选择写入功耗最小的为第一交换物理内存页面。
需要进一步说明的是,所述第一查找互换单元303包括第一缓存子单元309、第一写入子单元310和第二写入子单元311:
所述第一缓存子单元309,用于将获得的物理内存页面内容写入硬件缓存区中。
所述第一写入子单元310,用于将所述第一交换物理内存页面内容写入获得的物理内存页面中。
所述第二写入子单元311,用于将写入硬件缓存区中的当前访问的物理内存页面内容写入所述第一交换物理内存页面中。
所述映射关系更新单元304,用于更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存***的实际地址的物理内存页面之间的映射关系。
实施例五
请参阅图4,其为本发明一种内存结构的调度装置的另一个装置结构图,该装置包括实际地址获得单元401、识别区域单元402、第二查找互换单元403和映射关系更新单元404。
所述实际地址获得单元401,用于获得当前访问所述混合内存***的实际地址的物理内存页面。
需要进一步说明的是,所述实际地址获得单元401包括转换子单元405和映射查询子单元406:
所述转换子单元405,用于将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面;
所述映射查询子单元406,用于查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
所述识别区域单元402,用于识别获得的物理内存页面位于所述混合内存***内的区域。
所述第二查找互换单元403,用于如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
需要进一步说明的是,所述第二查找互换单元403包括读取次数查询子单元407和读取判断子单元408:
所述读取次数查询子单元407,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数。
所述写入判断子单元408,用于判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
需要进一步说明的是,所述第二查找互换单元403还用于在PRAM区域查找读取功耗低于所述读取预设额定值的物理内存页面;
从查找到的所有物理内存页面中选择读取功耗最小的为第二交换物理内存页面。
需要进一步说明的是,所述第二查找互换单元403包括第二缓存子单元409、第一读取子单元410和第二读取子单元411:
所述第二缓存子单元409,用于在获得的物理内存页面内容写入硬件缓存区中。
所述第三写入子单元410,用于将所述第二交换物理内存页面内容写入获得的物理内存页面中。
所述第四写入子单元411,用于将写入硬件缓存区中的当前访问的物理内存页面内容写入所述第二交换物理内存页面中。
所述映射关系更新单元404,用于更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存***的实际地址的物理内存页面之间的映射关系。
实施例六
请参阅图5,其为本发明一种内存结构的调度装置的另一个装置结构图,该装置包括所述第一查找互换单元501和反向映射关系更新单元502。
所述第一查找互换单元501包括第一反向映射查询单元503:
所述第一反向映射查询单元503,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
反向映射关系单元502,用于更新进行互换的内容的混合内存***的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。
实施例七
请参阅图6,其为本发明一种内存结构的调度装置的另一个装置结构图,该装置包括所述第二查找互换单元601和反向映射关系更新单元602。
所述第二查找互换单元601包括第二反向映射查询单元603:
所述第二反向映射查询单元603,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
反向映射关系单元602,用于更新进行互换的内容的混合内存***的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。
由本实施例可以看出,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作***的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存***根据访存特性做出判断,把数据写入操作过于频繁的PRAM物理页面装入DRAM中,利用DRAM写入功耗低、写入速度快和无寿命限制的特性来降低内存***的数据写入功耗,并减少对PRAM使用寿命的损耗。这样,在保证***性能和稳定性的前提下,大幅降低内存***功耗,提高了***效率。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上对本发明所提供的一种内存结构的调度方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种内存结构的调度方法,其特征为,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存***,包括步骤:
获得当前访问所述混合内存***的实际地址的物理内存页面;
识别获得的物理内存页面位于所述混合内存***内的区域;
如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将所述获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换;如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换;
其中,所述判断所述获得的物理内存页面内容的写入功耗是否高于写入预设额定值包括:
查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数;
判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值;
其中,所述判断所述获得的物理内存页面内容的读取功耗是否高于读取预设额定值包括:
查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数;
判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
2.根据权利要求1所述的方法,其特征为,所述获得当前访问所述混合内存***的实际地址的物理内存页面包括:
将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面;
查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
3.根据权利要求1所述的方法,其特征为,所述将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换包括:
将获得的物理内存页面内容写入硬件缓存区中;
将所述第一交换物理内存页面内容写入获得的物理内存页面中;
将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
4.根据权利要求1所述的方法,其特征为,所述将所述获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换包括:
将获得的物理内存页面内容写入硬件缓存区中;
将所述第二交换物理内存页面内容写入获得的物理内存页面;
将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
5.根据权利要求1所述的方法,其特征为,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面包括:
查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
6.根据权利要求1所述的方法,其特征为,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面包括:
查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
7.一种内存结构的调度装置,其特征为,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存***,包括:
实际地址获得单元,用于获得当前访问所述混合内存***的实际地址的物理内存页面;
识别区域单元,用于识别获得的物理内存页面位于所述混合内存***内的区域;
第一查找互换单元,用于如果获得的物理内存页面位于所述混合内存***的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换;
第二查找互换单元,用于如果获得的物理内存页面位于所述混合内存***的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换;
所述第一查找互换单元包括:
写入次数查询子单元,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数;
写入判断子单元,用于判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值;
所述第二查找互换单元包括:
读取次数查询子单元,用于查询混合内存***的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数;
读取判断子单元,用于判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
8.根据权利要求7所述的装置,其特征为,所述实际地址获得单元包括:
转换子单元,用于将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面;
映射查询子单元,用于查询外部物理地址的物理内存页面与混合内存***的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存***的实际地址的物理内存页面。
9.根据权利要求7所述的装置,其特征为,所述第一查找互换单元包括:
第一缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中;
第一写入子单元,用于将所述第一交换物理内存页面内容写入获得的物理内存页面中;
第二写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
10.根据权利要求7所述的装置,其特征为,所述第二查找互换单元用于:
第二缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中;
第三写入子单元,用于将所述第二交换物理内存页面内容写入获得的物理内存页面中;
第四写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
11.根据权利要求7所述的装置,其特征为,所述第一查找识别单元包括:
第一反向映射查询单元,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
12.根据权利要求7所述的装置,其特征为,所述第二查找互换单元包括:
第二反向映射查询单元,用于查询混合内存***的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044815.5A CN103092534B (zh) | 2013-02-04 | 2013-02-04 | 一种内存结构的调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044815.5A CN103092534B (zh) | 2013-02-04 | 2013-02-04 | 一种内存结构的调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092534A CN103092534A (zh) | 2013-05-08 |
CN103092534B true CN103092534B (zh) | 2016-01-27 |
Family
ID=48205164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310044815.5A Active CN103092534B (zh) | 2013-02-04 | 2013-02-04 | 一种内存结构的调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092534B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346293B (zh) * | 2013-07-25 | 2017-10-24 | 华为技术有限公司 | 混合内存的数据访问方法、模块、处理器及终端设备 |
CN104424124B (zh) * | 2013-09-10 | 2018-07-06 | 联想(北京)有限公司 | 内存装置、电子设备和用于控制内存装置的方法 |
CN103810112B (zh) * | 2014-01-28 | 2016-08-17 | 华中科技大学 | 一种非易失性内存***及其管理方法 |
CN103927203B (zh) * | 2014-03-26 | 2018-06-26 | 上海新储集成电路有限公司 | 一种计算机***及控制方法 |
CN105094686B (zh) | 2014-05-09 | 2018-04-10 | 华为技术有限公司 | 数据缓存方法、缓存和计算机*** |
CN104156318A (zh) * | 2014-08-11 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种基于异构融合架构的内存管理方法及装置 |
CN104317753B (zh) * | 2014-10-21 | 2017-09-22 | 中国科学院上海微***与信息技术研究所 | 存储设备及其数据读写方法 |
CN105786725B (zh) * | 2014-12-25 | 2020-10-27 | 研祥智能科技股份有限公司 | 基于异构混合内存的内存管理方法和*** |
CN105242967B (zh) * | 2015-09-29 | 2019-06-25 | 上海新储集成电路有限公司 | 一种基于dvfs技术的多核***内混合内存上数据迁移的方法 |
CN105893118B (zh) * | 2016-03-30 | 2019-11-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105938458B (zh) * | 2016-04-13 | 2019-02-22 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
CN108845959B (zh) * | 2018-06-25 | 2023-06-23 | 联想(北京)有限公司 | 一种内存数据处理方法、装置和电子设备 |
CN109189348B (zh) * | 2018-10-08 | 2020-07-24 | 华中科技大学 | 基于电荷捕获型3d tlc闪存的存储***的读性能优化方法 |
US10909012B2 (en) * | 2018-11-12 | 2021-02-02 | H3 Platform, Inc. | System having persistent memory |
CN110543433B (zh) * | 2019-08-30 | 2022-02-11 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
CN111177025B (zh) * | 2019-12-30 | 2022-05-17 | 深圳云天励飞技术股份有限公司 | 数据存储方法、装置及终端设备 |
CN117917649A (zh) * | 2022-10-20 | 2024-04-23 | 华为技术有限公司 | 数据处理方法、装置、芯片以及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508787A (zh) * | 2011-11-29 | 2012-06-20 | 清华大学 | 混合结构内存的内存分配***及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101061483B1 (ko) * | 2009-07-02 | 2011-09-02 | 한국과학기술원 | 메모리 회로 및 메모리 회로의 엑세스 방법, 메모리 관리 시스템 및 메모리 관리방법 |
CN102841674B (zh) * | 2012-07-25 | 2015-02-04 | 中国科学院上海微***与信息技术研究所 | 基于新型存储器的嵌入式***及其进程的休眠与唤醒方法 |
-
2013
- 2013-02-04 CN CN201310044815.5A patent/CN103092534B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508787A (zh) * | 2011-11-29 | 2012-06-20 | 清华大学 | 混合结构内存的内存分配***及方法 |
Non-Patent Citations (1)
Title |
---|
Page Placement in Hybrid Memory Systems;Luiz Ramos;《Supercomputing》;20110604(第5期);第85-95页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103092534A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092534B (zh) | 一种内存结构的调度方法和装置 | |
KR101572403B1 (ko) | 메모리 채널 셧다운에 의한 전력 절약 | |
US8954672B2 (en) | System and method for cache organization in row-based memories | |
CN101552032B (zh) | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 | |
CN101957796B (zh) | 存储***及信息处理设备 | |
US7443759B1 (en) | Reduced-power memory with per-sector ground control | |
CN104899154B (zh) | 基于嵌入式***混合主存的页面管理方法 | |
CN104268095A (zh) | 一种存储器及基于该存储器进行数据读/写操作的方法 | |
CN103810119B (zh) | 利用片上温差降低stt-mram功耗的缓存设计方法 | |
CN102253901B (zh) | 一种基于相变内存的读写区分数据存储替换方法 | |
CN101464834A (zh) | 闪存数据写入方法及使用此方法的控制器 | |
WO2015041151A1 (ja) | キャッシュメモリシステムおよびプロセッサシステム | |
CN105378846A (zh) | Dram子阵列级刷新 | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
Wang et al. | Optimizing MLC-based STT-RAM caches by dynamic block size reconfiguration | |
CN102681792B (zh) | 一种固态盘内存分区方法 | |
CN106909323B (zh) | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构*** | |
JP2020046761A (ja) | 管理装置、情報処理装置およびメモリ制御方法 | |
CN100409203C (zh) | 一种低功耗高速缓存的实现方法及其高速缓存器 | |
CN105205015A (zh) | 一种数据存储方法及存储设备 | |
Suei et al. | Endurance-aware flash-cache management for storage servers | |
CN101251810A (zh) | 基于spm的嵌入式操作***进程调度优化方法 | |
CN112559384B (zh) | 一种基于非易失存储器的混合固态盘动态分区方法 | |
CN102043591A (zh) | Pram的写操作方法 | |
CN110543430A (zh) | 一种使用mram的存储装置 |
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 |