非易失性存储一览

RAM:随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。

内存速度非常快,但是同时也有一个特性就是易失性,当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。

硬盘虽然非易失性,但是速度非常慢。所以硬盘和内存之间就有非常多的非易失性存储,一直在发展。今天简单梳理下常见的:

SSD :

固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。

NVDIMM:

non-volaitle dual inline memory module,一种集成了普通DDR RAM + 非易失性FLASH芯片的内存条。在系统异常掉电时,NVDIMM借助其后备超级电容作为动力源,在短时间内将数据放入flash芯片,从而永久保存内存中的数据。相比其他介质的非易失性内存,NVDIMM已逐步进入主流服务器市场,micron,viking,AGIGA等国外内存厂商皆以推出自己的NVDIMM。

3D Xpoint:

3D Xpoint抛弃了在NAND芯片的核心-----晶体管。 NAND的工作原理是运动的电子来回在称为其“浮动栅”的晶体管来回跑到,来表示二进制代码的零与一。 这种技术的一个问题是,它不能在一个时间从新单个比特的数据。需要较大的信息块被擦拭,然后重写以合并更改。

3D XPoint的工作原理与NAND存在着根本性的不同。NAND通过绝缘浮置栅极捕获不同数量的电子以实现bit值定义,而3D XPoint则是一项以电阻为基础的存储技术成果,其通过改变单元电阻水平来区分0与1。

3D XPoint的结构非常简单。它由选择器与内存单元共同构成,二者则存在于字线与位线之间(因此才会以‘交叉点’来定名)。在字线与位线之间提供特定电压会激活单一选择器,并使得存储单元进行写入(即内存单元材料发生大量属性变化)或者读取(允许检查该存储单元处于低电阻还是高电阻状态)。我猜测,写入操作要求具备较读取更高的电压,因为如果实际情况相反,那么3D XPoint就会面临着上在读取存储单元时触发大量材料变化(即写入操作)的风险。

上图是对比各种介质之间的延迟,3d xpoint的延迟在10ns级别,总的来说,而3D XPoint架构其实是一种大容量存储技术,虽然比DRAM要慢,但它比DRAM要便宜,比NAND要快,但是比NAND要贵,最重要的是它是非易失性的。所以,断电之后数据不丢失。

就基于3D XPoint的产品来讲,其最为立竿见影的应用方式就是在DRAM与SSD之间充当新的存储层。在计算科学发展的历史长河当中,存储与处理器之间的其它层级一直在不断出现——芯片内多级缓存、芯片外缓存、以及SSD缓存等等——而3D XPoint内存将充当这一体系当中的另一种新型存储介质,从而弥合DRAM与现有高速非易失性存储方案之间的空白区域。通过将3D XPoint作为另一种缓存层,这项技术将被应用于未来的高速应用程序(最典型就是数据库应用,缓存应用)当中,从而克服目前内存容量或者存储延迟给这类应用造成的拖累。


原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-10-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程一生

一条项目中常用的linux命令引发的经典算法题

903
来自专栏tkokof 的技术,小趣及杂念

代码小记

  前一阵子一直在制作一款小游戏,虽说最终的成果并不完美,但也算是花了不少精力,网上批评的声音不少,但更多的则是鼓励,这也让我们颇感欣慰,自省之余,也算拾得一些...

542
来自专栏calmound

poj 1088 滑雪

题意:找出最长的递增道路,可以上下左右四个方向走 DP方程:step[ i ][ j ] = max{ step[ i-1][ j ],  step[ i ][...

3125
来自专栏java一日一条

程序员才看得明白的面试圣经

除了直接申请面试以外,一般说来,还有两种途径来获得面试的机会:由现在的雇主推荐,或者通过LinkedIn。虽然前者会快一些、更尊敬一些,但后者很可能是大部分应聘...

541
来自专栏我就是马云飞

优秀程序员写代码一定会用的 11 条经验!

我已经写了20年代码了,在此期间曾与17个团队共事过,使用不同的语言做过数百个项目。

661
来自专栏逸鹏说道

关于是否在C#中加入不可空引用类型的争论

来自微软的Mads Togersen在近期所提出的一条提议,即在C#语言中加入对不可空引用类型的支持在.NET社区中引起了热烈的争论。人们对此提议的反应大相径庭...

2525
来自专栏编程一生

架构师之路--从原理角度来分析性能

  埃及艳后Cleopatra,很小的时候看过妈妈买的一本书里把她的名字翻译成克娄巴特拉,里面有很多描写她美貌的场景描写。然而这个以美貌著称的奇女子,我看到书里...

662
来自专栏Golang语言社区

伙计们,Go 并没有那么简单

出于好奇,我最近开始接触一些 Go 的代码。我之前对它有一些了解,但是从来没有尝试去写(没有需求)。但是现在我们团队选择使用 Go 来开发一个项目,所以我觉得这...

3036
来自专栏CSDN技术头条

6个编写优质干净代码的技巧

编写干净的代码并不是一件容易的事情,这需要尝试不同的技巧和实践。问题是,在这个问题上有太多的实践和技巧,因此开发人员很难进行选择,所以要把这个问题简化一下。在本...

17810
来自专栏码农阿宇

利用EF Core的Join进行多表查询

背景 话说有这么一家子,老公养了一条狗,老婆养了一只猫。 数据库的设计 人表 ? 宠物表 ? 通过表可以知道,宠物通过Owner指向主人的Id。 问题来了,我要...

2927

扫码关注云+社区