PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

低延迟的革命 Intel 3D XPoint技术优势解读

[复制链接]
1#
haierccc 发表于 2016-9-18 18:42 | 显示全部楼层
本帖最后由 haierccc 于 2016-9-18 18:47 编辑
nde123456 发表于 2016-9-5 14:57
我猜楼上说的是用DIMM接口形式,而不是代替DRAM
这个东西短期目标是用来当DRAM和NAND之间的缓存,类似TLC ...

我一直在想这个东东为啥使用DIMM接口。现在看来就是用作缓存了,处于DRAM和SSD/HDD之间
但具体的实现方法呢?因为INTEL还在保密,所以我就猜测一番
首先看,3D XPoint使用DIMM接口,目的应该是:和DRAM共享CPU的寻址空间
因为3D XPoint兼具SSD的大容量和接近DRAM的低延迟的优点于一身,所以可以想象将来的PC拥有128G+32G=160G的DRAM
但因为3D XPoint的延迟相比DRAM仍然嫌太高,如果在3D XPoint里运行程序代码,会造成性能的下降
而且3D XPoint的工作原理和DRAM的充放电原理肯定不同,直接用DIMM是不行的,也需要协议的转译,这样也增加了延迟
再则,一部分内存速度快,另一部分内存速度慢,这在操作系统的层面上会给程序的运行会带来负面么?我个人猜测是会的。
所以,我认为128G的3D XPoint内存空间只能用于磁盘缓存,存放数据,而不能存放可执行的程序代码。
剩下的问题是,CPU怎么知道哪些地址范围属于DRAM,哪些地址范围属于3D XPoint,并且把磁盘缓存数据放在3D XPoint的内存空间里呢?
这就是需要INTEL提供驱动了,该驱动辨别3D XPoint的内存空间,并放入缓存数据。
结论就是:用户拥有160G的DRAM内存,然后安装驱动,把其中的128G映射成磁盘缓存,这就大大加快了磁盘读写速度
而且3D XPoint是非易失性的,哪怕是强行关机,里面尚未写入HDD的数据也不会丢失
简单的说,3D XPoint的内存空间是用户不可编程的。

以上的猜测是在软件层面的,也就是需要CPU参与的过程
但其实还有另一种缓存方法:硬件缓存。也就是在底层直接做成缓存,无需CPU的参与
比如在早期(XP时代),INTEL有过一种叫做”迅盘“的加速方案,就是把一块小的FLASH放在操作系统和HDD之间以加快读的速度
但如果是这样设计,那完全可以设计成全新的接口,也不用DIMM啊。所以,以上都是猜测了,看官不必当真

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部