论文研读:Operating System Support for NVM+DRAM Hybrid Main Memory

论文《Operating System Support for NVM+DRAM Hybrid Main Memory - 2009》

基于新技术的趋势,作者提出构建混合内存(2009就提出混合内存这个概念了)

使用闪存(Flash)做为DRAM替代品的挑战:

擦除:必须先擦除闪存才能写入。并且擦除往往很慢,必须擦除一大块,而不是单个word
持久性:闪存需要考虑磨损问题。
慢速写入:闪存写入比DRAM写入更耗时,因此闪存写入与典型的内存控制器不兼容。
读取方式:不同的闪存有不同的读取方式,比如NAND闪存需要读取整个页面,很难用于主存,NOR闪存的读取方式与DRAM差不多。虽然NVND闪存在成本和密度方面都优于NOR闪存,但由于NVND闪存无法满足任何接近DRAM的cache line读取速度,所以一般不会考虑NAND闪存和DRAM的混合内存设计。

本文探讨了混合主存储器的两种选择:
NOR-flash hybrid

提出了一种FLAM DIMM,包含尽可能多的NOR flash 芯片,适当的DRAM用于缓冲写操作,以及一个简单的ASIC。
FLAM DIMM的地址空间分为几个区域:
Flash:直接映射用于cache line范围的读取,CPU无法直接写入
DRAM copy buffer(CB):映射CPU的读写操作
Control register:通过标准系统管理总线访问,映射到I/O空间

页面迁移问题
由于闪存不能由CPU存储操作直接写入,因此将页面大小的写入暂存在CB中。也就是说,当操作系统决定将页Pd从主内存DRAM移动到FLAM时,它会分配一个预擦除的闪存页Pf ,将Pd复制到CB中的空闲页Pb,然后给FLAM控制器发送信号,将Pd从Pb复制到Pf,这种拷贝可以以内存写入速度进行,而不会使CPU停止。复制完成后,控制器向OS发信号,OS将虚拟页面Pv从Pd重新映射到Pf,并使TLB无效。

基础软件设计
启动时,OS首先从DRAM分配所有内存页,OS必须把Pd和Pf的页表条目设置为只读/读+执行,因为在迁移期间,任何的修改都可能导致不一致。

迁移页的选择:用于用户地址空间和文件系统缓冲的页面(消耗大部分DRAM)…并提出了几种启发式的迁移方法
Page type:代码页可以迁移,堆栈页,两个进程之间共享的非文件页不建议迁移。
File types:
File reference modes:标记为临时文件页面不应该迁移。

垃圾回收
闪存擦除块比页面大,当FLAM页面迁移回DRAM时,操作系统必须进行垃圾收集,以便擦除块以保持足够大的可用FLAM页面池。
磨损级别
由于闪存的寿命有限,OS要考虑FLAM的磨损问题,这需要跟踪每个FLAM块的分配状态和擦除次数,然后将页面迁移到擦除次数最少的已擦除块上。

PC-RAM(相变存储器-PCM) hybrid:

做的模拟实验来说明可行性。

结论:用NVM+DRAM混合内存构建主内存可能是有利的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值