一种内存结构的调度方法和装置的制作方法

文档序号:6399112阅读:146来源:国知局
专利名称:一种内存结构的调度方法和装置的制作方法
技术领域
本发明涉及内存调度领域,特别是涉及一种内存结构的调度方法和装置。
背景技术
目前,计算机系统中微处理器处理能力的增长速度远大于典型的DRAM (Dynamicrandom access memory,动态随机存储器)存储器设备性能的改善,因此,现在的高速微处理器需要浪费大量的时钟周期来等待从低速的内存中获取需要的数据。同时,随着半导体制造工艺尺寸的收缩,DRAM技术面临着功耗、存储密度以及制造工艺等诸多瓶颈。另一方面,PRAM(Phasechange random access memory,相变随机存储器)技术的发展,得益于上世纪九十年代对于相变材料的研究成果。相变材料在晶态的电导率和光反射率比其在非晶态时要大很多,大约是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写数据功耗低的特性优于PRAMjE 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,其为本发明一种内存结构的调度方法的方法流程图,该方法包括以下步骤:SlOl:将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面。S102:查询外部物理地址的物理内存页面与混合内存系统的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存系统的实际地址的物理内存页面。S103:识别获得的物理内存页面位于所述混合内存系统内的区域。S104:如果获得的物理内存页面位于所述混合内存系统的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,进入步骤S105,如果否,进入步骤S106。需要进一步说明的是,优选的,本发明查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数,判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。这里并不限定判断依据,可以是写入次数,也可以是体现写入功耗的其他任何方式。S105:在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换,进入步骤SI 10。需要进一步说明的是,所述查找包括:查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。使用查询反向映射关系进行换物理内存页面的查找是本发明的一个优选的实施例,反向映射关系是指通过被访问页面内容的混合内存系统的实际地址的物理内存页面反向映射到一一对应的该页面内容的外部物理地址的物理内存页面,由此可以直接查找到写入功耗超过写入预设额定值的第一交换物理内存页面。也可以使用其他方法进行交换物理内存页面的查找,比如使用查询外部物理地址的物理内存页面与一一对应的混合内存系统的实际地址的物理内存页面的映射关系进行查找,本发明并不进行限定。需要进一步说明的是,优选的,所述第一交换物理内存页面包括在DRAM区域内查找所有写入功耗低于所述写入预设额定值的物理内存页面,从查找到的所有物理内存页面中选择写入功耗最小的为第一交换物理内存页面,是本发明的一个最优化方案,并不对其进行限定,也可以是其他任何在DRAM区域里写入功耗低于写入预设额定值的任何物理内存页面。需要进一步说明的是,所述互换包括,将获得的物理内存页面内容写入硬件缓存区中,将所述第一交换物理内存页面内容写入获得的物理内存页面中,将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。S106:继续执行访问操作,进入步骤111。SllO:更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存系统的实际地址的物理内存页面之间的映射关系。如果步骤S105中是查询反向映射关系来查找第一交换物理内存页面的,则更新进行互换的内容的混合内存系统的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。Slll:获得当前访问物理内存页面的混合内存系统的实际地址的物理内存页面,完成当前访问。由本实施例可以看出,本发明的内存结构调度方法和装置,兼顾了 DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作系统的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存系统根据访存特性做出判断,把数据写入操作过于频繁的PRAM物理页面装入DRAM中,利用DRAM写入功耗低、写入速度快和无寿命限制的特性来降低内存系统的数据写入功耗,并减少对PRAM使用寿命的损耗。这样,在保证系统性能和稳定性的如提下,大幅降低内存系统功耗,提闻了系统效率。实施例二请参阅图1,其为本发明一种内存结构的调度方法的方法流程图,该方法包括以下步骤:SlOl:将当前访问的虚拟地址转换为当前访问的外部物理地址,得到当前访问的外部物理地址的物理内存页面。S102:查询外部物理地址的物理内存页面与混合内存系统的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存系统的实际地址的物理内存页面。S103:识别所述当前访问的物理内存页面位于所述混合内存系统内的区域。S107:如果获得的物理内存页面位于所述混合内存系统的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,进入步骤S108,如果不是,进入步骤S109。需要进一步说明的是,优选的,本发明查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数,判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。这里并不限定判断依据,可以是读取次数,也可以是体现读取功耗的其他任何方式。S108:在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。需要进一步说明的是,所述查找包括:查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。使用查询反向映射关系进行换物理内存页面的查找是本发明的一个优选的实施例,反向映射关系是指通过被访问页面内容的混合内存系统的实际地址的物理内存页面反向映射到一一对应的该页面内容的外部物理地址的物理内存页面,由此可以直接查找到读取功耗超过读取预设额定值的第二交换物理内存页面。也可以使用其他方法进行交换物理内存页面的查找,比如使用查询外部物理地址的物理内存页面与一一对应的混合内存系统的实际地址的物理内存页面的映射关系进行查找,本发明并不进行限定。需要进一步说明的是,所述第二交换物理内存页面包括在PRAM区域查找所有读取功耗低于所述读取预设额定值的物理内存页面,从查找到的所有物理内存页面中选择读取功耗最小的为第二交换物理内存页面,是本发明的一个最优化方案,并不对其进行限定,也可以是其他任何在PRAM区域里读取功耗低于读取预设额定值的任何物理内存页面。需要进一步说明的是,所述互换包括,将获得的当前访问的物理内存页面内容写入硬件缓存区中,将所述第二交换物理内存页面内容写入获得的物理内存页面中,将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。S109:继续执行访问操作,进入步骤111。SllO:更新进行互换的内容的外部物理地址的物理内存页面与互换后的混合内存系统的实际地址的物理内存页面之间的映射关系。如果步骤S108中是查询反向映射关系来查找第二交换物理内存页面的,则更新进行互换的内容的混合内存系统的实际地址的物理内存页面与互换后的外部物理地址的物理内存页面之间的反向映射关系。Slll:获得当前访问物理内存页面的混合内存系统的实际地址的物理内存页面,完成当前访问。由本实施例可以看出,本发明的内存结构调度方法和装置,兼顾了 DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作系统的调度,利用基于内外部地址重映射的地址转换机制,在不影响整个体系结构的前提下,实现了基于硬件的混合内存管理和调度机制。内存系统根据访存特性做出判断,把数据读取操作频率远大于写入操作的DRAM物理页面装入PRAM中,利用PRAM读取功耗低、无需刷新的特性来降低内存系统的数据读取功耗。这样,在保证系统性能和稳定性的前提下,大幅降低内存系统功耗,提高了系统效率。实施例三请参阅图2,其为本发明一种内存结构的调度方法的另一个方法流程图,包括:本实施例为基于实施例一和实施例二基础上的一个针对具体场景的优选实施例,首先提出四个单位概念,分别为内外地址重映射表、访问行为记录表、反向映射表和页面迁移机制:(I)内外地址重映射表(External-1nternal Address Remapping Table):内外地址重映射表实现从外部物理地址到PRAM-DRAM混合内存系统内部实际地址的转换。物理地址从系统地址总线传入混合内存控制器中,首先就需要通过这一转换机制来获得对应的内部访问实际地址所属的物理内存页面(frame number,fn)。不管是外部物理地址还是内部实际地址,在自身的地址空间里都有一个物理内存页面,内外地址重映射表的入口标记是外部物理地址的物理内存页面,内外地址重映射表的内容则为内部实际地址的物理内存页面。为保证与操作系统的分页机制相一致,每个入口所对应的物理内存数据块也是按照页面尺度来划分的,所以内外地址重映射表每一项所记录的都是数据块的起始地址。对于32位系统下4KB大小的物理页面,用地址的前20位表不页面号,而后12位表不页内偏移量。物理内存页面的范围跟系统内存总量保持一致,即物理内存页面与页面大小的乘积不超过系统内存容量。为了保证数据访问的一致性,物理地址到实际地址的转换必须保证是从物理地址空间到混合内存系统内部地址空间的一一映射。(2)访问行为记录表(Access Map)访问行为记录表按照PRAM-DRAM内存系统内部实际地址物理内存页面的顺序来记录每一个物理内存页面内容被访问的次数,包括数据读取(取数据和取指令)和数据写入的次数,其条目数量跟内外地址重映射表是相同的。访问行为记录表按照实际物理内存布局来划分和记录对应PRAM-DRAM内存系统内部实际地址物理内存页面内容的访问情况,与外部物理地址也是一一对应的关系。(3)反向映射表(Reverse-Map)反向映射表分别记录了内存系统内部实际地址的物理内存页面存储的对应外部物理地址的物理地址页面号,它的入口标记是内部DRAM或PRAM的内部实际地址的物理内存页面,条目的内容是对应存储页面的外部物理地址的物理内存页面。(4)页面迁移机制(Page Frame Migration)页面迁移机制借助硬件缓存区完成PRAM和DRAM两个存储区域之间物理内存页面内容的交换。在通过访问行为记录表对访存行为的监测过程中,如果发现PRAM中的物理内存页面数据写入超过预先设定好的阈值或该阈值的整数倍(为保证PRAM区域被均衡使用,设定一个远小于使用寿命的阈值,对于超过阈值的PRAM物理内存页面允许其被重新利用起来)。此时,需要上报控制器中的页面迁移机制控制逻辑,并告知控制逻辑该物理内存页面数据对应的外部物理地址的物理内存页面,控制器就会立即转入对物理内存页面数据的转移工作。当根据DRAM物理内存页面访问频率找到最不常进行数据写入操作的物理内存页面之后,控制器就可以进行对之前的物理内存页面数据的互换了。互换需要借助一个与需要进行互换的物理内存页面数据同样大小的迁移缓冲区(migration buffer)来实现,把写入次数达到阈值的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-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上对本发明所提供的一种内存结构的调度方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种内存结构的调度方法,其特征为,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存系统,包括步骤: 获得当前访问所述混合内存系统的实际地址的物理内存页面; 识别获得的物理内存页面位于所述混合内存系统内的区域; 如果获得的物理内存页面位于所述混合内存系统的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将所述获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换; 如果获得的物理内存页面位于所述混合内存系统的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
2.根据权利要求1所述的方法,其特征为,所述获得当前访问所述混合内存系统的实际地址的物理内存页面包括: 将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面; 查询外部物理地址的物理内 存页面与混合内存系统的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存系统的实际地址的物理内存页面。
3.根据权利要求1所述的方法,其特征为,所述将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换包括: 将获得的物理内存页面内容写入硬件缓存区中; 将所述第一交换物理内存页面内容写入获得的物理内存页面中; 将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
4.根据权利要求1所述的方法,其特征为,所述将所述获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换包括: 将获得的物理内存页面内容写入硬件缓存区中; 将所述第二交换物理内存页面内容写入获得的物理内存页面; 将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
5.根据权利要求1所述的方法,其特征为,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面包括: 查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
6.根据权利要求1所述的方法,其特征为,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面包括: 查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
7.根据权利要求1到6任意一项所述的方法,其特征为,所述判断所述获得的物理内存页面内容的写入功耗是否高于写入预设额定值包括: 查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数; 判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。
8.根据权利要求1到6任意一项所述的方法,其特征为,所述判断所述获得的物理内存页面内容的读取功耗是否高于读取预设额定值包括: 查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数; 判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
9.一种内存结构的调度装置,其特征为,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存系统,包括: 实际地址获得单元,用于获得当前访问所述混合内存系统的实际地址的物理内存页面; 识别区域单元,用于识别获得的物理内存页面位于所述混合内存系统内的区域;第一查找互换单元,用于如果获得的物理内存页面位于所述混合内存系统的PRAM区域,判断获得的物理内存页面内容的写入功耗是否高于写入预设额定值,如果是,在DRAM区域查找数据写入功耗低于所述写入预设额定值的第一交换物理内存页面,将获得的物理内存页面内容与所述第一交换物理内存页面内容进行互换; 第二查找互换单元,用于如果 获得的物理内存页面位于所述混合内存系统的DRAM区域,判断获得的物理内存页面内容的读取功耗是否高于读取预设额定值,如果是,在PRAM区域查找数据读取功耗低于所述读取预设额定值的第二交换物理内存页面,将获得的物理内存页面内容与所述第二交换物理内存页面内容进行互换。
10.根据权利要求9所述的装置,其特征为,所述实际地址获得单元包括: 转换子单元,用于将当前访问的虚拟地址转换为外部物理地址,得到当前访问的外部物理地址的物理内存页面; 映射查询子单元,用于查询外部物理地址的物理内存页面与混合内存系统的实际地址的物理内存页面之间的映射关系,得到当前访问的所述混合内存系统的实际地址的物理内存页面。
11.根据权利要求9所述的装置,其特征为,所述第一查找互换单元包括: 第一缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中; 第一写入子单元,用于将所述第一交换物理内存页面内容写入获得的物理内存页面中; 第二写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第一交换物理内存页面中。
12.根据权利要求9所述的装置,其特征为,所述第二查找互换单元用于: 第二缓存子单元,用于将获得的物理内存页面内容写入硬件缓存区中; 第三写入子单元,用于将所述第二交换物理内存页面内容写入获得的物理内存页面中; 第四写入子单元,用于将写入硬件缓存区中的物理内存页面内容写入所述第二交换物理内存页面中。
13.根据权利要求9所述的装置,其特征为,所述第一查找识别单元包括: 第一反向映射查询单元,用于查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据写入功耗低于所述写入预设额定值的第一交换物理内存页面。
14.根据权利要求9所述的装置,其特征为,所述第二查找互换单元包括: 第二反向映射查询单元 ,用于查询混合内存系统的实际地址的物理内存页面与外部物理地址的物理内存页面的反向映射关系,查找相应的数据读取功耗低于所述读取预设额定值的第二交换物理内存页面。
15.根据权利要求9到14任意一项所述的装置,其特征为,所述第一查找互换单元包括: 写入次数查询子单元,用于查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的写入次数之间的对应关系,得到获得的物理内存页面内容的写入次数; 写入判断子单元,用于判断所述获得的物理内存页面内容的写入次数是否高于第一预设阈值。
16.根据权利要求9到14任意一项所述的装置,其特征为,所述第二查找互换单元用于: 读取次数查询子单元,用于查询混合内存系统的实际地址的物理内存页面与物理内存页面内容的读取次数之间的对应关系,得到获得的物理内存页面内容的读取次数; 读取判断子单元,用于判断所述获得的物理内存页面内容的读取次数是否高于第二预设阈值。
全文摘要
本发明实施例公开了一种内存结构的调度方法,应用于相变随机存储器PRAM-动态随机存储器DRAM混合内存系统,包括步骤获得当前访问所述混合内存系统的实际地址的物理内存页面,识别获得的物理内存页面位于所述混合内存系统内的区域,判断获得的物理内存页面内容的读写功耗是否高于预设额定值,如果是,查找用于交换的交换物理内存页面,并进行互换,本发明的内存结构调度方法和装置,兼顾了DRAM和PRAM写入和读取的特点,借助硬件缓存区建立的页面互换机制不再需要通过上层操作系统的调度,大大提高了系统效率。
文档编号G06F1/32GK103092534SQ20131004481
公开日2013年5月8日 申请日期2013年2月4日 优先权日2013年2月4日
发明者王强, 陈岚, 郝晓冉 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1