基于嵌入式系统混合主存的页面管理方法

文档序号:8922522阅读:394来源:国知局
基于嵌入式系统混合主存的页面管理方法
【技术领域】
[0001] 本发明涉及一种页面管理的方法,尤其涉及一种基于嵌入式系统混合主存的页面 管理方法。
【背景技术】
[0002] 大数据时代,随着多核系统和新型应用程序的出现和普及,计算机系统模型已经 逐渐从计算驱动演化为数据驱动。因此,大容量的内存是保证整个计算机系统性能的关键。 然而,传统的基于DRAM的内存密度很难做到很大。研宄表明,未来DRAM工艺的密度不会小 于22nm。此外,DRAM的工作机制决定了其必须在一定的间隔内(2ms)对其进行刷新。这些 额外的刷新操作独立于数据的存储,但是其能量消耗在大多数应用中会占据整个DRAM能 量消耗的70%以上。造成的结果是,传统DRAM内存的能量消耗至少占整个计算机系统的 40%〇
[0003] 嵌入式系统是面向特定应用的,软硬件可剪裁的计算机系统。由于其本身固有的 特点,对存储器的面积和能量消耗有严格的要求。因此,传统DRAM的密度小和功耗大的 特点严重限制了大容量DRAM内存应用在嵌入式系统之中。而相变存储器(PhaseChange Memory,PCM)的出现为嵌入式系统中大容量内存提供了新的机遇。
[0004] PCM是一种以硫族化物(如Ge2Sb2Te5, Ge4SblTe5)作为存储介质的非易失性半 导体存储器,当系统掉电后,其存储单元内部的数据不会丢失。硫族化物是一种相变材料, 在不同的电压之下会呈现出结晶和非结晶状态。结晶状态具有较低的电阻值而在非结晶状 态具有较高的电阻值。利用该特性,可以分别存储计算机系统中的二进制1和〇。此外,为 了更大的增加PCM的密度以减小芯片面积。工业界利用相变材料高阻态和低阻态之间的其 它电阻状态来实现在一个存储单元内存储多个二进制位。该PCM工艺称之位Multi-Level Cell (MLC),与之对应,一个SLC只能存储一位数据。由于MLC的特性复杂,而且写操作速度 比SLC慢很多,目前的研宄以SLC为主。与传统DRAM相比,PCM存储器作为内存具有以下 优点:
[0005] (1)高密度:不同于传统基于电容阵列的DRAM,PCM以相变材料作为存储介质,其 各个存储单元之间的距离可以做到非常小,研宄表明,PCM的密度可以在未来短时间内突破 16nm。早在2012年,三星公司就研制出20nm支撑的8GB相变存储器。而且,MLCPCM的存 储单元密度会更大。
[0006] (2)低能耗:由于PCM以电阻值差异存储数据,因此,不存在传统DRAM中的刷新操 作,极大地减少了存储器的能量消耗。此外,PCM内部没有机械传动装置,进一步减少能耗。
[0007] (3)非易失:PCM存储单元的内容在系统掉电后会保持不变。因此,如果将PCM作 为主存,在系统重新上电后会延续掉电之前系统状态而继续执行。有效的减小系统的启动 时间,保证了数据的安全性和一致性。
[0008] (4)抗干扰:传统DRAM内存需要采用电容作为存储单元,而电容都会存在耐压的 问题,如果电压超过额定电压,电容器就会损坏。而PCM不会存在这样的问题。
[0009] 鉴于PCM以上优点,将其作为嵌入式系统大容量主存是一个很好的选择。然而,目 前PCM存储器仍然存在不足,主要表现在以下几个方面:
[0010] (1)有限的写次数:当PCM存储单元写入一定量的数据之后,会变的不稳定,以至 于读出的数据和写入的数据不同。存储单元通常情况下,PCM存储单元的写次数限制大约 为 107-108。
[0011] (2)写延迟长:由于晶体材料状态改变需要维持较长的时间。因此,相对于传统 DRAM,PCM向存储单元中写入数据需要更长的时间。
[0012] (3)较高的动态能耗:PCM的写操作由于需要经过强电流加热和快速促灭使晶体 材料状态发生改变,使得写操作的功耗比读操作大大提高。在对PCM存储单元进行数据写 入时,会比传统DRAM消耗更多的能量。
[0013] 下表显示了PCM,DRAM与NANDFlash的各种参数对比:
[0015] 为了同时发挥PCM和DRAM两者优点的同时能有有效的避免各自缺点,学术界提出 了PCM和DRAM的混合主存架构(HybridMainMemoryArchitecture)。在该架构中,PCM和DRAM位于两个并列的线性地址空间中。操作系统会区分这两个空间并将大多数的写操 作位于DRAM完成而读操作在PCM中完成。该架构能够同时利用DRAM低的写延迟和动态功 耗的优点和PCM高密度和静态功耗的优点,同时又能有效避免两者缺点。
[0016]在该架构中,为了避免在PCM中产生过多的写操作,需要在传统操作系统页面管 理的基础上增加页面迀移策略。将位于PCM中经常被写的页面(write-hotpage)迀移到 DRAM中,而将DRAM中很少被写的页面迀移到PCM中以更加高效利用DRAM空间。然而,如何 预测未来页面的写特点是一件非常困难的事情。尽管今年来学术界对混合主存的页面管理 的研宄很多,但是普遍存在以下缺点:
[0017] (1)始终将读频繁的页面放置和迀移到PCM中:
[0018] 在写密集型的应用中,该策略是可行的;然而,在读密集型的应用中,DRAM存储空 间得不到有效的使用,而且由于页面缺失的问题导致的PCM写次数会大大增加。
[0019] (2)在页面管理策略运行之前需要用户确定很多参数的值:
[0020] 如PCM页面的写次数超过多少时迀移到DRAM;对于不同的应用程序,这些参数的 值往往很难确定。
[0021] (3)不能有效的预测写频繁的页:
[0022] 当策略检测到一个PCM页面频繁被写后,将其迀移到DRAM,但该页面此后不再被 写会造成错误的迀移;或者当策略检测到一个DARM页面很少被写后,将其迀移到PCM,但该 页面此后经常被写也会造成错误的迀移。

【发明内容】

[0023] 为了弥补现有技术存在的缺陷和不足,本发明提出了一种基于嵌入式系统混合主 存的页面管理方法,该方法针对嵌入式系统中的PCM/DRAM混合主存,能够极大地延长混合 主存的寿命,减小应用程序的执行延迟以及减小整个内存系统的能耗。
[0024] 为了达到以上目的,本发明的技术方案如下:
[0025] 一种基于嵌入式系统混合主存的页面管理方法,所述嵌入式系统混合主存为嵌入 式系统PCM/DRAM混合主存,嵌入式系统的CPU发送访问页面的请求,若CPU的请求数据或 者指令不在缓存中,则执行访问主存进行页面管理,包括以下步骤:
[0026] 步骤(1):构建存在于混合主存中页面的CLOCK链表和存储的数据为从CLOCK链 表中移出内存的页面的元数据的LRU链表;
[0027] 步骤(2):判断请求被访问的页面是否存储在嵌入式系统的混合主存中,若存储 在嵌入式系统的混合主存中,则访问CLOCK链表,并判断CLOCK链表中的页面的类型进行 页面标识位的更改操作或页面迀移操作;若没有存储在嵌入式系统的主存中,则进入步骤 (3);
[0028] 步骤⑶:获取一个空闲页面作为被访问页面的存储空间,并访问LRU链表,再调 用页面插入算法将被访问页面插入到混合主存中。
[0029] 所述步骤(2)中的标识位包括:访问位、写位和建议位。
[0030] 所述步骤(2)中被访问页面命中的类型,包括最近被访问的页面和经常被访问的 页面,分别存储于CLOCK链表T1和CLOCK链表T2中。
[0031] 所述经常被访问的页面的判断过程为:
[0032] 如果从页面的访问位变为1开始,到变为0之前对该页面再次进行访问,则该页面 为经常被访问的页面。
[0033] 所述最近被访问的页面的判断过程为:
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1