3D Xpoint这个东西比较新,但是可能对未来软件架构带来深刻的影响和变更,本节简单介绍下3D Xpoint到底是什么。
3D Xpoint抛弃了在NAND芯片的核心-----晶体管。NAND的工作原理是运动的电子来回在称为其“浮动栅”的晶体管来回跑到,来表示二进制代码的零与一。
这种技术的一个问题是,它不能在一个时间从新单个比特的数据。需要较大的信息块被擦拭,然后重写以合并更改。这就像你要在停车场移动一辆车,你需要所有的车都移走,然后你的车走开,再把别的车都移动回来。与此相反, 3DXpoint工作原理是通过改变构成其存储单元来实现,具有高抗电来表示1或低电阻来代表0的材料的性质。优点在于,每个存储单元可以被单独寻址,快速切换选择器、低延迟交叉点阵列和快速写入算法。一个附加的好处是,耐用性大大成百上千倍的提升。
3D Xpoint速度比NAND快1000倍,但是远小于DRAM,所以不能用它来完全取代RAM,固态硬盘SSD甚至更慢的硬盘,在未来的一段时间仍将比3D Xpoint显著便宜,所以是继续使用它们来存储大多数文件。
就基于3D XPoint的产品来讲,其最为立竿见影的应用方式就是在DRAM与SSD之间充当新的存储层。在计算科学发展的历史长河当中,存储与处理器之间的其它层级一直在不断出现——芯片内多级缓存、芯片外缓存、以及SSD缓存等等——而3D XPoint内存将充当这一体系当中的另一种新型存储介质,从而弥合DRAM与现有高速非易失性存储方案之间的空白区域。通过将3D XPoint作为另一种缓存层,这项技术将被应用于未来的高速应用程序当中,从而克服目前内存容量或者存储延迟给这类应用造成的拖累。
3D XPoint有三种应用模式。一是做为内存的扩展,从软件层面看非常简单,不需要额外开发或者优化,直接使用。二是类似于NVMe的拓展,把非易失闪存存储进行扩展。三是应用层面的扩展,用户需要进行软件优化,定义哪些是可以做内存,哪些可以做永久存储,在掉电之后可以实现保护。