《混合主存储器实现节能存储的方法.pdf》由会员分享,可在线阅读,更多相关《混合主存储器实现节能存储的方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101989183A43申请公布日20110323CN101989183ACN101989183A21申请号201010509810122申请日20101015G06F3/06200601G06F1/3220060171申请人浙江大学地址310027浙江省杭州市西湖区浙大路38号72发明人陈天洲乐金明马建良乔福明虞保忠74专利代理机构杭州宇信知识产权代理事务所普通合伙33231代理人张宇娟54发明名称混合主存储器实现节能存储的方法57摘要本发明公开了一种混合主存储器实现节能存储的方法,它包括如下步骤构造以相变存储器为主、动态随机存储器为缓冲存储器的混合主存储器,并设计适应该主。
2、存储器结构的读写策略,并根据该读写策略对磁盘和相变存储器中的数据进行读写。本发明是对原来的主存储器结构做出改进,充分利用相变存储器大容量、低功耗的优点以及动态随机存储器低时延的特点,使得混合主存储器在不增加功耗和时延的前提下获得更大的容量,从而减少对磁盘的访问次数,实现存储方面的节能。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图3页CN101989183A1/1页21一种混合主存储器实现节能存储的方法,其特征在于包括如下步骤1构造混合主存储器混合主存储器由相变存储器PCM和动态随机存储器DRAM组成,相变存储器提供混合主存储器的主要容量,用于存储程。
3、序运行时所需要的指令和数据;DRAM通过数据线与磁盘和相变存储器相连,用于缓冲磁盘和相变存储器的数据,DRAM还通过数据线与处理器相连,用于向处理器发送数据;2根据如下读写策略对磁盘和相变存储器中的数据进行读写当处理器需要数据或指令时,首先判断它们是否存在于DRAM缓冲区中,如果存在就将其发送给处理器;如果不存在于DRAM缓冲区中,就继续判断它们是否存在于相变存储器中,如果存在于相变存储器就先将其读入DRAM缓冲区中,然后发送给处理器;如果它们不存在于相变存储器中,就从磁盘中将其读入DRAM缓冲区中,然后发送给处理器;当DRAM缓冲区满时,部分页表会被替换掉以装载新的数据,在这些页表被替换掉前。
4、,首先判断该拟被替换掉的页表是否在相变存储器中和是否是脏数据,如果其不在相变存储器中或是脏数据,则将其写入相变存储器中,否则,直接用新的数据将其覆盖掉。2如权利要求1所述的混合主存储器实现节能存储的方法,其特征在于给DRAM缓冲区中的每一项数据添加一个TAG标签,通过TAG标签判断其所标记数据的如下信息是否有效,是否在相变存储器中,是否被修改过;所述TAG标签的数据结构包括有效位项、PCM位项、脏数据位项,其中每一项用一个比特位来存储,每一项的设置规则如下1有效位设置当数据存入DRAM缓冲区时,其标签TAG中的有效位设置为1;当数据被替换出DRAM缓冲区时,其标签TAG中的有效位设置为0;有效。
5、位为1的TAG所对应的数据区不能装载新的数据,有效位为0的TAG所对应的数据区可以装载新的数据,装载新的数据后其TAG的有效位设置为1;2PCM位设置当数据从磁盘中读入DRAM缓冲区时,其标签TAG中的PCM位设置为0;当数据从相变存储器PCM中读入DRAM缓冲区时,其标签TAG中的PCM位设置为1;3脏数据位设置当数据从磁盘或相变存储器中读入DRAM缓冲区时,其标签TAG中的脏数据位设置为0;当数据被处理器修改后,其标签TAG中的脏数据位设置为1。3如权利要求1所述的混合主存储器实现节能存储的方法,其特征在于在DRAM缓冲区向相变存储器写的过程中,设有一个相变存储器写队列,当DRAM缓冲区被。
6、替换掉的页表需要写回相变存储器中时,先将这些页表送入相变存储器写队列中,然后再写入相变存储器。权利要求书CN101989183A1/4页3混合主存储器实现节能存储的方法所属技术领域0001本发明涉及嵌入式系统存储节能领域,尤其涉及一种改进主存储器结构和读写策略实现节能存储的方法。背景技术0002存储器是计算机系统中一个非常重要的组成部分,是用来存储程序和数据的部件。主存储器是处理器能够直接寻址的存储空间,所有的程序和数据必须装载到主存储器中才能运行。因此,主存储器的性能直接影响到整个计算机系统的运行速度。随着处理器的速度不断提升,主存储器的读写速度远远跟不上处理器的速度,逐渐成为提高系统性能的。
7、瓶颈。因此,如何在不增加费用和能耗的前提下,最大限度地提高主存储器的容量和读写速度一直是研究的热点。0003CACHE技术的提出就是为了解决主存储器读写速度慢的问题。由于处理器的速度比主存储器的访问速度快很多,处理器经常会等待着主存储器读写完成后才继续执行。这样使得处理器的性能没有充分得到利用。为了缓解处理器与主存储器的速度差距,CACHE技术就应运而生。CACHE是介于处理器与主存储器之间的一种特殊的存储器子系统,其访问速度要比主存储器快。CACHE中存储了处理器频繁访问的主存储器中的数据及这些数据的存储地址。当处理器需要访问主存储器中的某地址时,CACHE便检查是否存储有该地址。如果存有该。
8、地址,就将该地址对应的数据返回给处理器;如果没有存储该地址,就进行通常情况下的主存储器访问。0004虚拟内存就是解决主存储器容量不足的一种技术。这种技术将主存储器和磁盘上的临时空间结合起来,使应用程序认为它拥有一个空间非常大的连续完整的内存。虚拟内存其实是在主存储器剩余空间不足时,将部分数据从主存储器移至硬盘中,以释放部分空间给程序继续运行。0005虽然这些技术的提出在一定程度上缓解了处理器与主存储器在速度上的矛盾,但是这些技术的缓解能力始终是有限的。例如为了适应处理器速度的提高,在一级CACHE的基础上提出了二级CACHE甚至三级CACHE。但是三级CACHE的性能影响就不太明显了,只是有利。
9、于服务器或游戏等大型程序,对大多数家庭计算机作用不大。虚拟内存的容量也不是无限的,一般为物理内存的152倍,同时也不能超过32位操作系统的内存寻址范围4GB。可见,这些技术仍然没有改变主存储器的读写速度是制约整个计算机系统性能提升的瓶颈的局面。由于主存储器访问速度的提升远赶不上处理器速度的提升,它们之间在速度上的矛盾迟早都会无法避免地凸现出来。0006多核时代的到来,对主存储器提出了更加严峻的考验。现在主流的基于动态随机存储器DRAM的主存储器,已经达到了它的极限。如果为了适应处理器的高速度而提高主存储器的容量,就必须付出更高的费用和能耗,这样会使性价比大大降低。然而,随着核的数量越来越多,目。
10、前的主存储器将会面临越来越多的挑战。因此,许多专家学者都致力于研究更加良好的存储材料,以解决目前存储技术所处的困境。说明书CN101989183A2/4页40007FLASH存储器是一种电可擦除可编程只读存储器,具有固态性、体积小、重量轻、抗震动、低能耗等特点。它是一种不易挥发的存储器,即在没有供电的情况下依然能够长久地保存数据,其存储特性相当于磁盘。它在价格、访问延迟、传输带宽、存储密度和能耗方面介于RAM和磁盘之间。由于FLASH存储器在访问延迟上比主存储器相差甚远,因此很难将其应用到主存储器中。目前,FLASH存储器主要应用于移动存储设备,例如U盘、MP3、数码相机等。随着容量越来越大和。
11、价格越来越低,FLASH存储器在不久的将来可能取代磁盘而应用到计算机系统中。0008相变存储器PCM是基于OVSHINSKY在20世纪60年代末提出的奥弗辛斯基电子效应的存储器,利用硫系化合物材料在电脉冲作用下快速相变的特性。由于工艺技术的限制,这项半导体存储技术一直都进展非常缓慢。直到上世纪末期,随着半导体工业界的制造技术达到纳米量级,这项技术才体现出其极大的优越性,从而得以飞速发展。相变存储器具有高可扩展性、高访问速度、高存储密度和低能耗等特性。它在访问速度上仅仅比动态随机存储器稍微慢一点。根据相变存储器的这些特性,如果能够很好地将其应用到主存储器中,必定会有效地解决当前主存储器所面临的低。
12、容量、高能耗等问题,从而极大地提升计算机系统的整体性能。由于其访问速度相对于动态随机存储器DRAM来说比较低,如果简单地把它作为主存储器,反而会降低计算机系统的性能。如果能够把它和动态随机存储器结合起来组成主存储器,达到取长补短、优势互补的效果,应该对提升主存储器性能有所帮助。发明内容0009为了在不增加功耗和时延的前提下,最大限度地增加主存储器的容量,适应处理器速度的快速提升,减少对磁盘的访问次数,降低存储所耗的能量,本发明提供一种混合主存储器实现节能存储的方法。0010本发明解决其技术问题所采用的技术方案是0011一种混合主存储器实现节能存储的方法,包括如下步骤00121构造混合主存储器0。
13、013混合主存储器由相变存储器PCM和动态随机存储器DRAM组成,相变存储器提供混合主存储器的主要容量,用于存储程序运行时所需要的指令和数据;DRAM通过数据线与磁盘和相变存储器相连,用于缓冲磁盘和相变存储器的数据,DRAM还通过数据线与处理器相连,用于向处理器发送数据;00142根据如下读写策略对磁盘和相变存储器中的数据进行读写0015当处理器需要数据或指令时,首先判断它们是否存在于DRAM缓冲区中,如果存在就将其发送给处理器;如果不存在于DRAM缓冲区中,就继续判断它们是否存在于相变存储器中,如果存在于相变存储器就先将其读入DRAM缓冲区中,然后发送给处理器;如果它们不存在于相变存储器中,。
14、就从磁盘中将其读入DRAM缓冲区中,然后发送给处理器;0016当DRAM缓冲区满时,部分页表会被替换掉以装载新的数据,在这些页表被替换掉前,首先判断该拟被替换掉的页表是否在相变存储器中和是否是脏数据,如果其不在相变存储器中或是脏数据,则将其写入相变存储器中,否则,直接用新的数据将其覆盖掉。0017为了方便对DRAM缓冲区中的数据进行管理,本发明还给DRAM缓冲区中的每一项数据添加一个TAG标签,通过TAG标签判断其所标记数据的如下信息是否有效,是否在相说明书CN101989183A3/4页5变存储器中,是否被修改过;所述TAG标签的数据结构包括有效位项、PCM位项、脏数据位项,其中每一项用一个。
15、比特位来存储,每一项的设置规则如下00181有效位设置当数据存入DRAM缓冲区时,其标签TAG中的有效位设置为1;当数据被替换出DRAM缓冲区时,其标签TAG中的有效位设置为0;有效位为1的TAG所对应的数据区不能装载新的数据,有效位为0的TAG所对应的数据区可以装载新的数据,装载新的数据后其TAG的有效位设置为1;00192PCM位设置当数据从磁盘中读入DRAM缓冲区时,其标签TAG中的PCM位设置为0;当数据从相变存储器PCM中读入DRAM缓冲区时,其标签TAG中的PCM位设置为1;00203脏数据位设置当数据从磁盘或相变存储器中读入DRAM缓冲区时,其标签TAG中的脏数据位设置为0;当数。
16、据被处理器修改后,其标签TAG中的脏数据位设置为1。0021在DRAM缓冲区向相变存储器写的过程中,还设有一个相变存储器写队列,当DRAM缓冲区被替换掉的页表需要写回相变存储器中时,先将这些页表送入相变存储器写队列中,然后再写入相变存储器。0022与背景技术相比,本发明具有的有益的效果是0023利用相变存储器和动态随机存储器相结合形成的混合主存储器,能够充分利用它们各自的优点,达到优势互补的效果。相变存储器提供混合主存储器的主要容量,利用其高存储密度特性极大地提高了主存储器容量,利用其低电压、低能耗特性有效降低了整个主存储器的能耗。动态随机存储器作为混合主存储器的缓冲区,利用其高访问速度的特性。
17、保证了主存储器的访问速度没有受到相变存储器的影响。因此,本发明的混合主存储器能够获得如下特性大容量、低费用、低能耗、高存储密度和高访问速度。混合主存储器的这些特性可以有效地解决目前主存储器所面临的小容量、高费用和高能耗等问题,从而提升计算机系统的整体性能。附图说明0024图1是本发明实施例的混合主存储器结构示意图;0025图2是本发明实施例的DRAM缓冲区中TAG的数据结构图;0026图3是本发明实施例的混合主存储器读策略流程图;0027图4是本发明实施例的混合主存储器写策略流程图。具体实施方式0028本发明实施例的具体实施方式是首先,根据图1所示的混合主存储器结构示意图搭建系统的硬件环境;然。
18、后根据图2所示的TAG数据结构配置DRAM缓冲区;最后根据读写策略对磁盘和相变存储器中的数据进行读写。下面更详细地说明这个实施过程。0029一构造混合主存储器0030混合主存储器由相变存储器PCM和动态随机存储器DRAM组成的。其中,相变存储器提供混合主存储器的主要容量,用于存储程序运行时所需要的指令和数据;动态随机存储器作为混合主存储器的缓冲存储器,用于缓冲磁盘和相变存储器的数据。DRAM缓冲区能够读取磁盘和相变存储器的数据,因此它需要数据线直接与磁盘和相变存储器相连。DRAM缓冲区是唯一能够直接向处理器发送数据的部件,因此只有它有数据线直接与处理器说明书CN101989183A4/4页6相。
19、连。当DRAM缓冲区满时,部分页表将会被替换掉以装载新的数据。如果被替换掉的数据不在相变存储器中或是脏数据即DRAM缓冲区中的数据与其在磁盘或相变存储器中的源数据不一致,则需要写到相变存储器中。为了缓解相变存储器较低的写速度,避免处理器长时间等待,在DRAM缓冲区向相变存储器写的过程中,增加一个相变存储器写队列。因此,DRAM缓冲区写回的数据线并没有直接与相变存储器相连,而是先连接到PCM写队列,然后再连接到相变存储器PCM。混合主存储器的结构如图1所示。0031二DRAM缓冲区标签TAG0032DRAM缓冲区为了方便对其中的数据进行管理,给每一项数据添加一个标签TAG,通过TAG可以判断其所。
20、标记数据的如下信息是否有效,是否在相变存储器中,是否被修改过。TAG的数据结构如图2所示,其中每一项用一个比特位来存储。每一项设置的规则如下00331有效位设置当数据存入DRAM缓冲区时,其标签TAG中的有效位设置为1;当数据被替换出DRAM缓冲区时,其标签TAG中的有效位设置为0。有效位为1的TAG所对应的数据区不能装载新的数据,有效位为0的TAG所对应的数据区可以装载新的数据,装载新的数据后其TAG的有效位设置为1。00342PCM位设置当数据从磁盘中读入DRAM缓冲区时,其标签TAG中的PCM位设置为0;当数据从相变存储器PCM中读入DRAM缓冲区时,其标签TAG中的PCM位设置为1。0。
21、0353脏数据位设置当数据从磁盘或相变存储器中读入DRAM缓冲区时,其标签TAG中的脏数据位设置为0;当数据被处理器修改后,其标签TAG中的脏数据位设置为1。0036三混合主存储器的读写策略0037当处理器需要数据或指令时,首先判断它们是否存在于DRAM缓冲区中,如果存在就将其发送给处理器;如果不存在于DRAM缓冲区中,就继续判断它们是否存在于相变存储器PCM中,如果存在就先将其读入DRAM缓冲区中,然后发送给处理器,同时设置该数据项TAG为110;如果它们不存在于相变存储器中,就从磁盘中将其读入DRAM缓冲区中,然后发送给处理器,同时设置该数据项TAG为100。读策略的具体流程如图3所示。当DRAM缓冲区满时,部分页表将会被替换掉以装载新的数据,在这些页表被替换掉前,首先要判断其是否在相变存储器中和是否是脏数据,如果其不在相变存储器中或是脏数据,则先将其送入PCM写队列中,然后写入相变存储器PCM,否则将该数据项TAG中的有效位设置为0。写策略的具体流程如图4所示。说明书CN101989183A1/3页7图1图2说明书附图CN101989183A2/3页8图3说明书附图CN101989183A3/3页9图4说明书附图。