基于PCM和DRAM的混合内存系统及其管理方法与流程

文档序号:15849890发布日期:2018-11-07 09:41阅读:415来源:国知局
基于PCM和DRAM的混合内存系统及其管理方法与流程

本发明属于计算机体系结构和内存管理技术领域,特别是一种i/o性能好、能耗低、使用寿命长的基于pcm和dram的混合内存系统及其管理方法。

背景技术

大数据所催生的内存计算迅速发展和处理器核数不断增长,促使内存在速度、容量、功耗和可靠性的需求都达到前所未有的新高度。在过去数十年期间,dram作为主要的主存储器被广泛应用在移动终端和大规模计算系统中。随着当前计算机系统对大容量、低功耗、扩展性强的高性能内存的需求不断增加,现有dram面临高静态功耗、容量提升达到上限、扩展性有限等多种技术挑战。

新型非易失性存储器(non-volatilememory,nvm)的出现为打破这些限制提供了契机。其中,一种称为相变存储器(phasechangememory,pcm)的nvm被视为最有希望替代dram成为下一代的主存储器。pcm具有非易失性、低静态功耗、扩展性强等特性,但同时pcm单个存储单元的写寿命有限,耐受性差,访问时延大,访问性能也逊色于dram。因此,pcm还无法完全取代dram而单独作为主存使用。利用两种存储介质特性互补,并充分发挥各自优势,设计基于dram和pcm的混合内存成为一种必然选择。

为了解决pcm访问时延以及耐受性两方面的问题,研究者从存储层次结构方面提出了两种基于pcm和dram的混合存储架构。

第一种水平架构如图1所示,是使用dram和pcm共同作为主存进行统一编址,通过数据分配以及数据迁移技术发挥dram的读写性能优势,同时减少pcm的写操作次数。但因为pcm性能较dram低,影响水平架构混合内存的性能。在中国发明专利申请“一种混合内存系统及其管理方法”(申请号:201410673934.1,公开日:2014年11月21日),ieeedac’2009论文“pdram:ahybridpramanddrammainmemorysystem”(公开日:2009年7月26日)和ics’2011论文“pageplacementinhybridmemorysystems”(公开日:2011年5月31日)中所提方法均采用这种架构。

第二种垂直架构如图2所示,是使用dram作为pcm的缓存来掩盖pcm的i/o性能以及写耐受性的不足,但不能充分利用dram内存空间来存储数据,也不能减少pcm的写操作。ieeeisca’2009论文“architectingphasechangememoryasascalabledramalternative”(公开日:2009年6月20日),acmsac’2012论文“pramwear-levelingalgorithmforhybridmainmemorybasedondatabuffering,swapping,andshifting”(公开日:2012年3月26日)和中国发明专利申请“一种混合内存结构的数据读取方法和系统”(申请号:201610821890.1,公开日:2016年9月13日)。

由此可见,现有技术存在的问题之一是:基于pcm和dram的混合存储架构,不论水平架构还是垂直架构都不能有效地平衡混合内存性能、空间利用率以及pcm写耐受性。

由于pcm的每个存储单元只能承受107~109次的写操作,远低于dram存储单元超过1015次写操作的耐久性,特别是在连续写的情况下,pcm存储单元的耐受性将受到严重制约。如何减少pcm写次数以及更好地均匀化写操作分布是设计高效磨损均衡算法必须考虑的两个因素。研究者提出使用dram缓存技术来减少pcm的写操作次数,如acmsac’2012论文“pramwear-levelingalgorithmforhybridmainmemorybasedondatabuffering,swapping,andshifting”(公开日:2012年3月26日)和ieeedate’2010论文“increasingpcmmainmemorylifetime”(公开日:2010年3月8日)所采用的方法,还有同时通过数据交换和移位技术来实现数据块内部和不同数据块之间的磨损均衡,如ieeedate’2010论文“energy-andendurance-awaredesignofphasechangememorycaches”(公开日:2010年3月8日)和ieeeisca’2009论文“adurableandenergyefficientmainmemoryusingphasechangememorytechnology”(公开日:2009年6月20日)。前者将修改频繁的数据块缓存在dram中,把修改较少或者访问不频繁的数据块淘汰至pcm,能够一定程度上减少写访问密集型应用对某些存储单元的磨损次数。数据移位和交换技术通过改变逻辑地址到物理地址映射关系的方式,将磨损严重的存储单元的写操作均匀到磨损较轻的存储单元,实现不同粒度下的写操作均匀分布。

现有的基于pcm的磨损均衡算法能够一定程度上延长pcm的写寿命,但是依然存在以下几点问题。第一,已有的以dram作为缓存减少pcm写次数的设计方法只关注如何优化脏数据页的淘汰策略,并不能利用数据块的读写倾向性避免pcm上不必要的写操作;第二,采用确定性映射机制的静态磨损均衡策略不能有效处理恶意访问攻击情况下的写操作均匀分布,替换页的选择缺乏随机性的保护;第三,以单个页面为粒度的磨损均衡操作在空间局部性较强的应用场景中效率低下。

综上所述,现有技术存在如下两方面问题:

1、基于pcm和dram的混合存储架构,不能有效地平衡混合内存的性能、空间利用率以及写耐受性;

2、对于基于pcm和dram的混合存储架构的管理中,由于磨损均衡方法存在缺陷,导致非易失存储介质pcm的写负载高、使用寿命短,影响整体寿命和系统可靠性。



技术实现要素:

本发明的目的在于提供一种基于pcm和dram的混合内存系统,i/o性能好、能耗低、使用寿命长。

本发明的另一目的在于提供一种基于pcm和dram的混合内存系统的管理方法。

实现本发明目的的技术解决方案为:

一种基于pcm和dram的混合内存系统,包括mb级小容量dram、gb级大容量dram和gb级非易失相变存储介质pcm,所述mb级小容量dram作为写缓存空间,gb级大容量dram和gb级非易失相变存储介质pcm作为主存空间,gb级大容量dram用于存储写倾向性的数据,gb级非易失相变存储介质pcm用于存储读倾向性的数据,所述mb级小容量dram、gb级大容量dram和gb级非易失相变存储介质pcm统一编址,形成混合内存。所述mb级小容量dram用作gb级大容量dram和gb级非易失相变存储介质pcm共同的缓存空间。

实现本发明另一目的的技术解决方案为:

一种基于pcm和dram的混合内存系统的管理方法,包括如下步骤:

(10)小容量dram管理:基于lru和lfu-aging改进的两级缓存算法,对mb级小容量dram缓存空间进行管理;

(20)大容量dram管理:采用lru替换算法管理写倾向数据页,替换出gb级大容量dram的数据存放到外存设备磁盘hdd/固态硬盘ssd;

(30)相变存储介质pcm管理:采用基于组间磨损均衡方法和lru替换算法管理读倾向数据页,替换出gb级非易失相变存储介质pcm的数据存放到外存设备磁盘hdd/固态硬盘ssd。

与现有技术相比,本发明的显著优点为:

1、混合主存i/o性能高:一方面是利用dramcache来提升cpu的i/o访问性能,另一方面通过充分发挥dram和pcm介质的优势,将写倾向数据块存放在dram中,将读倾向数据块存放在pcm中。

2、混合主存能耗低:通过使用能耗更低的非易失存储介质pcm来补充dram的容量,混合主存在保持高i/o性能的同时降低内存系统能耗;同时,设计基于lru+lfu-aging的两级缓存替换算法减少pcm能耗高的写操作,从而也降低了pcm的能耗。

3、pcm写负载均衡:提出基于partialcountingbloomfilter实现了分组间和分组内的磨损均衡算法,在pcm存储介质上不仅实现了分组间,还有分组内的写操作负载均衡。

4、pcm使用寿命长:由于pcm介质的写次数非常有限,我们通过实现pcm分组间和分组内的写负载均衡,避免少数单元因为写操作过载而失效,同时在小容量dram缓存区分写倾向数据页和读倾向数据页,仅存放读倾向数据页到pcm,减少pcm存储介质的写操作次数,从两个方面提升了整个pcm存储设备的使用寿命。

下面结合附图对本发明作进一步详细描述。

附图说明

图1是现有技术的基于pcm和dram水平架构的混合存储系统结构示意图。

图2是现有技术的基于pcm和dram垂直架构的混合存储系统结构示意图。

图3是本发明基于pcm和dram的混合内存系统结构示意图。

图4是本发明基于pcm和dram的混合内存系统的管理方法的主流程图。

图5是基于lru和lfu-aging的两级缓存策略示意图。

图6是图4中小容量dram管理步骤的流程图。

图7是图4中相变存储介质pcm管理步骤的流程图。

图8是基于partialcountingbloomfilter的写计数近似统计示意图。

图9是图7中冷热数据交换的流程图。

图10是基于partialcountingbloomfilter的组间磨损均衡策略示意图。

具体实施方式

如图3所示,本发明基于pcm和dram的混合内存系统,包括mb级小容量dram、gb级大容量dram和gb级非易失相变存储介质pcm。

所述mb级小容量dram作为写缓存空间,gb级大容量dram和gb级非易失相变存储介质pcm统一编址作为主存空间,gb级大容量dram用于存储写倾向性的数据,gb级非易失相变存储介质pcm用于存储读倾向性的数据,所述mb级小容量dram、gb级大容量dram和gb级非易失相变存储介质pcm统一编址,形成混合内存。

优选地,

所述mb级小容量dram用作gb级大容量dram和gb级非易失相变存储介质pcm共同的缓存空间。

如图4所示,本发明基于pcm和dram的混合内存系统的管理方法,包括如下步骤:

(10)小容量dram管理:如图5所示,基于lru和lfu-aging改进的两级缓存算法,对mb级小容量dram缓存空间进行管理;

如图6所示,所述(10)小容量dram缓存管理步骤包括:

(11)一级缓存单链表管理:通过lru替换策略,第一级缓存由一个lru链表管理所有的缓存cpu请求的数据块;所述的lru链表将最近最频繁访问的数据块放在链表前端mru位置,而将最近最少使用的数据块放在链表末端lru位置;

(12)一级缓存数据块淘汰:当第一级缓存的空间资源不够用时,第一级缓存根据时间局部性原理,淘汰lru链表中最近最少使用的lru位置冷数据块至第二级缓存;

(13)二级缓存双链表管理:如果从第一级缓存淘汰下来的冷数据块是修改过的数据块,该数据页进入一个脏数据块lfu-aging链表,否则为未修改过的数据块,进入一个干净数据块lfu-aging链表;所述的脏数据块lfu-aging链表和干净数据块lfu-aging链表均是将最频繁访问的数据块放在链表前端mfu位置,将最少访问的数据块放在链表末端lfu位置;

(14)二级缓存数据块淘汰:当第二级缓存空间资源不够用时,将脏数据块lfu-aging链表和干净数据块lfu-aging链表中处于最末端lfu位置的数据块删除;如若是脏数据块,写回到dram中,否则为干净数据块,写回到pcm中。

(20)大容量dram管理:采用lru替换算法管理写倾向数据页,替换出gb级大容量dram的数据存放到外存设备hdd/ssd;

(30)相变存储介质pcm管理:采用基于组间磨损均衡方法和lru替换算法管理读倾向数据页,替换出gb级非易失相变存储介质pcm的数据存放到外存设备hdd/ssd。

如图7所示,所述(30)相变存储介质pcm管理步骤包括:

(31)冷热转换链表结构查询:当需要读/写访问gb级非易失相变存储介质pcm的一个特定地址时,先要查询冷热转换链表结构,判断是否有该地址,;

(32)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的pcm地址,否则,只需直接访问gb级非易失相变存储介质pcm的原始地址;

(33)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新partialcountingbloomfilter相应的计数器,否则流程结束;

(34)访问超限检测:检测相应的partialcountingbloomfilter的计数器是否超过阈值,若有,则执行冷热数据交换,否则流程结束。

优选地,

所述冷热转换链表由两条按先进先出fifo策略管理的链表构成,其中一条链表记录冷分组和热分组的数据交换,另一条链表记录分组内冷页面与热页面的数据交换。

优选地,

所述(33)计数器更新步骤中,所述partialcountingbloomfilter是将标准bloomfilter位数组的每一位扩展为一个小的计数器,如图8所示。计数器数组被等分成k个区域,其中k为哈希函数个数,图8中k为2。每个哈希函数hi只映射到其中一个区域,这里i=1,2,…,k;在插入元素时给对应的k个计数器的值分别加1,删除元素时给对应的k个计数器的值分别减1。

如图9所示,所述(34)所述(34)步骤访问超限后的进行冷热数据转换过程包括:

(341)地址空间分组:利用数据流的空间局部性,将相变存储介质pcm的地址空间进行分组,每个分组大小为128mb,包含32768个页面;

(342)写操作次数跟踪:通过读取每个分组所分配的partialcountingbloomfilter的计数器,实时跟踪分组及分组内页面的写操作次数;

(343)写次数阈值设置:为分组的总写次数和分组内的页面写次数分别设置冷阈值tgc和tpc,为分组的总写次数和分组内的页面写次数分别设置热阈值tgh和tph;

(344)分组或页面分类:当整个分组或者分组内的页面的写操作次数不高于相应的写操作次数冷阈值tgc或tpc,则将相应的分组或页面归为冷分组或冷页面;而当整个分组或者分组内的页面的写操作次数高于相应的写操作次数热阈值tgh或tph,则将相应的分组或页面归为热分组或热页面;

(345)冷热页面地址间数据交换:当出现热分组或热页面时,则与冷分组或冷页面间进行一一对应的数据交换,如图10所示,并通过冷热转换链表结构来记录页面地址映射的变换,实现pcm地址空间上的写操作负载平衡。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1