NVM特性
NonVolatile Memory,非易失存储器,具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称,读远快于写,寿命有限(需要像ssd一样考虑磨损均衡)。当电流关掉后,所存储的数据不会消失的计算机存储器。没有数据寻道,这点和ssd比较像。
常见NVM:
相变存储器(PCM,phase change memory)
磁阻式存储器(MRAM,Magnetoresistive RAM)
电阻式/阻变存储器(RRAM,resistive ram)
铁电存储器(FeRAM, Ferroelectric RAM)
赛道存储器(Racetrack Memory)
石墨烯存储器(Graphene Memory)
忆阻器(Memristor,也是一种RRAM)
具体每种特性我就不具体介绍了,因为感觉意义不大。
未来NVM可能的应用场景
- 完全取代内存(DRAM):
这种做法虽然快,但带来了安全问题,很容易被野指针修改NVM上的数据,因为毕竟是内存;除此之外还得考虑往NVM上写的顺序性(因为系统会对访问内存的指令做优化,因此执行顺序可能会乱序);cache与NVM一致性的问题,怎么防止断电时cache上的新数据没有写入NVM上;同时这种模型对原有的内存模型带来巨大变化,需要我们对操作系统做出适当修改,兼容性不好。 - 与DRAM混合使用构成新的内存系统:
基本和上面情况类似,甚至更复杂,但更贴合实际,因为感觉NVM就算有成型的商业化产品,价格肯定也会很昂贵,再加上还有使用寿命。因此大规模使用还是不太现实。 - 作为块设备(外设)使用(类似ssd):
这种做法能有很好的兼容性,因为我们把它当做块设备来用,只要编写好它的驱动就能使用它了,并不用修改操作系统。但缺点是毕竟是外设,如果挂在io总线上的话读写速度还是很慢的。 - 作为cache使用
除了掉电数据还在,但NVM的速度远低于原有cache的速度。
以上只是个人愚见,欢迎指正讨论。