分享

傲腾内存和普通内存与闪存的区别在哪里?

 金刚光 2019-12-02

五十多年之前,Intel凭借生产内存起家。在内存毛利率严重下降后,转投CPU设计和制造,并从此开启了五十年的传奇。历史往往是轮回的,就如胶水CPU从嫌弃到真香一样,Intel携3D XPoint技术重返内存领域,并将之作为今后发展的重点方向。在我们感叹"活久见"之前,如果我们仔细这些“相同”中的细节,就会发现技术创新已经让此内存和彼内存大不一样了。

前文我们对内存条形式的傲腾内存所依赖的LRDIMM技术做了简要介绍:傲腾内存预热:什么是RDIMM和LRDIMM?

傲腾内存条看起来和一般的LRDIMM区别并不大:

但傲腾的技术底层3D XPoint看起来却十分让人振奋:

如果说它是DRAM和闪存的孩子,它真的集成了两者的优点。它有DRAM的快,字节方式访问;它又有闪存的杀手锏:大,非易失(掉电内容不消失)。它可以对DRAM说:“比你大,比你记忆好!”,转头又对闪存说:“比你快,比你聪明!”各种1000倍的提高简直亮瞎人眼,它是怎么做到的呢?我们今天就来比较一下三者实现方式的区别,并探讨3D XPoint为什么这么强。下篇文章介绍具体的软硬件栈和实测数据。

传统内存DRAM原理

内存DRAM的每个单元可以看作一个晶体管和一个电容的组合:

电容负责存储,充过电时是1,没充过电是0,这就是内存是如何存储数据的。晶体管是个开关,用于选中该电容。Word line被选中,晶体管导通,电容的就和bit line导通,可以读出0和1。正是因为内存每个单元如此简单,才能如此大规模组织起来,形成低价而密度很高的内存颗粒。

DRAM芯片中的一个Bank

DRAM虽然相对SRAM每个单元很简单而便宜,但仍然需要大量的晶体管和电容,两者的异构加上电容的特性,让它很难大幅增长。实际上,它的容量增加远远赶不上摩尔定律。但它最小可以一次在64B的颗粒度上随机读取数据,因为64B是同时到达的,我们可以等同于按Bit随机访问数据,同时访问数据非常快,在100ns级别。

闪存NAND Flash原理

它的基本原理在1980年代之后基本就没有变化过。它的构成和场效应管(MOSFET)十分类似:

它由:源极(Source)、漏极(Drain)、浮动栅(Float Gate)和控制栅(Control Gate)组成。相对场效应管的单栅极结构,闪存是双栅极结构。浮动栅是由氮化物夹在二氧化硅材料(Insulator)之间构成。

它的原理我在这篇文章有详细介绍:手机闪存和固态硬盘为什么擦除多了会损坏?

本质上它就是把一些电子囚禁(Trap)在浮动栅之中,从而改变源极和栅极的导通性,来区别0和1的状态(TLC)。这种“密室囚禁”让它具有非易失性。MOSFET管的简单让它可以大规模铺开,甚至可以向3D方向发展。但缺点也是明显的:源极和栅极的导通性测试耗时长;浮动栅的隧穿效应让每个单元寿命短;写之前要擦除,且只能按块擦除,写时按Page写,让它性能较DRAM相差甚远,差了4个数量级(10000倍)。

3D XPoint原理

DRAM和NAND本质上都是在电子上打主意,要不把电子充到电容上,要不捕获一些电子。毕竟是电子设备,也是应有之义。而3D XPoint却另辟蹊径,我们先来看一段视频:

听不懂英文没有关系,这个视频只是粗粗介绍一下原理。我们当然不能满足于此。我们来一起详细了解一下:

来源:Intel

它和DRAM一样也有Word Line和Bit Line。横着的Word Line和纵向的Bit Line在空间上纵横交错,两者交叉的地点唯一确定一个单元,也就是可以寻址一个Bit。两组线在三维空间这种交错形式,也是它的名字的起源(3D XPoint读作 3D Cross Point,三维交叉点)。绿色的小块是一个存储单元,它可以有两种值:0和1。它上面的黄块叫做Selector(选择子)。

这种结构是可以在3D层面上很容易扩展的(Stackable),图中就有两层,可以叠更多层,而且比NAND Flash层叠性更好。它里面没有晶体管,这让它容量可以很大很大,理论上单层密度至少是DRAM的4倍。

3D XPoint非易失和高可靠的真正秘密在于绿色的内存单元和黄色的选择子。这个是Intel和美光的商业机密,业界开始普遍猜测是基于相变材料(PCM,Phase Change Material),也就是一种电激发的介于金属和非金属之间的材料。但Intel和美光都已经正式否认。尽管有些人坚持认为就是PCM[1],但似乎有点不太靠谱。官方宣传比较模糊,说0和1的改变是某种体制的变化(bulk property change),现在普遍的观点是采用某种电激发的化学变化材料,从而造成每个单元的电阻值(resistance level)发生了变化,通过测量不同的电阻值来确定0和1。而选择子则是阻止附近的单元发生漏电流而采用的通常做法,也是PCM技术已有的技术(这也是阴谋论的一个理由)。

电阻值的变化是长久的,所以傲腾内存有了非易失性;按Bit的访问让读取速度飞快,只比DRAM高一个数量级(10us);写的时候要改变单元的状态(bulk property change ),耗时稍长,但可以按Bit更改,比NAND按块擦(64KB)和Page写(16KB)那是一个天上一个地下。同时不需要任何垃圾收集技术(GC)。

结论

二十几年的蝙蝠衫似乎最近流行了起来,我翻出了古董衣服,却发现那时的蝙蝠衫和现在的比起来总觉得怪难看的。有人说普通内存+一块电池就可以解决的非易失内存为啥要搞什么傲腾,是不是过度发明?诚然NvDIMM有这种方案,但非易失只是一个痛点,容量的需求有时却更加重要。

Intel已经为了傲腾内存画下了蓝图:

它夹在DRAM和SSD中间存储温数据和热数据之间的数据(半热数据??(逃。那么它和既有系统是怎么集成的呢?它的实际表现如何呢?我们下节再讲。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多