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作为另一种缓存层,这项技术将被应用于未来的高速应用程序(最典型就是数据库应用,缓存应用)当中,从而克服目前内存容量或者存储延迟给这类应用造成的拖累。