SCM和NVM是什么鬼,与NVMe是什么关系?

2023-05-16

640?wx_fmt=png


640?wx_fmt=gif

     SSD存储介质和接口技术一直处于不断向前发展和演进的过程。SSD分为几个阶段,第一个阶段是SATA SSD或者SATA/SAS SSD为主导,这个阶段介质以SLC和eMLC为主。第二个阶段是PCIe SSD,PCIe SSD最大的问题是不标准,很多私有化协议各自为政,基于FTL位置不同主要分为Host based SSD和Device base SSD。


     直到NVMe时代才统一了接口和协议标准,NVMe主要的产品形态有三大类。第一类是和SATA/SAS SSD兼容的U.2,第二类是和PCIe兼容的SSD卡,第三类消费级产品常用的M.2。


640?wx_fmt=png


     纵观SSD发展,NVMe的出现虽然对接口标准和数据传输效率上得到了跨越式的提升,但是存储介质目前主流还是基于NAND Flash实现。那再往前发展,存储介质应该怎么发展呢?


     Intel Optane(傲腾)系列硬盘通过实践证明NVMe和SCM(Storage Class Memory)配对时才会显现更大的存储优势,在很多时候也把SCM成为VNM,那时数据存储将会迎来重大飞跃,NVMe的未来属于SCM。它将建立在行业协议标准而不是专有技术之上。


关于SCM技术,目前已经在各个行业得到广泛使用,为了让更多存储相关从业者全面了解和掌握SCM,笔者已经把SCM相关知识做了梳理和总结(详解SCM/NVM技术现状和研究方向),主要内容如下,请感兴趣的读者通过“阅读原文”获取详情。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

     实际上,Intel/Micron发布3DX(PRAM)首次将NVMe和SCM结合,这个我在“从Intel Optane系列Coldstream和AEP谈全闪存性能优化”文章中有详细介绍,之后各大厂家都加大了SCM介质的投入。Intel称Optane Memory为Apache Pass(AEP),为高性能和灵活性而设计的革命性的SCM。称Optane NVMe SSD为Clodstream,为世界上最快、可用性和可服务性最好的SSD。


640?wx_fmt=png

640?wx_fmt=png

     3D XPoint(包括Apache Pass DIMM和Clodstream SSD)位于DRAMNAND之间,填补DRAM和NAND之间的性能和时延GAP。


    SCM同时具备持久化和快速字节级访问的特点,前几天,Intel正式发布了Optane SSD 900P,分为280GB和480GB两种容量版本,承诺900P比友商NVMe SSD竞品快7倍,最高连续读取速度2500MB/s,连续写入速度为2000MB/s。


640?wx_fmt=png

     同时,SCM具备Persistent Memory介质和NVM(Non-VolatileMemory)介质特性。更重要的是SCM没有NAND Flash顺序写入和写前擦除的约束,操作过程更简单;SCM介质的在寿命和数据保持能力方面的表现也远超NAND Flash。基于这些特点,业界普遍认为SCM会成为颠覆存储系统设计的新一代介质,并优先应用于性能和可靠性要求较高的场景。


640?wx_fmt=png


     Intel/Micron发布3DX(PRAM)之后,各大厂家都加大了SCM介质的投入,从上图可见,SCM的目前的主要应用都是聚焦于填充SRAM和Storage之间的容量和性能GAP。目前在研的SCM介质种类繁多,但是比较主流的有PCM、ReRAM、MRAMNRAM四大类产品。


640?wx_fmt=png


     PRAM(Phase-Change RAM)利用特殊合金材料在晶态和非晶态下的导电性差异来表示0或者1数据。其优点是结构简单,容易实现大容量、同时具备低成本等特点。


     主要用于Cache加速和Cache内存应用,考虑到PRAM的成熟度、对热度敏感和写穿透等因素,在应用中一般搭配DRAM或SRAM一起使用,在填补RAM和Storage之间的性能、容量差距的同时,形成具有分级能力的高速Cache应用资源池;其典型代表为Intel的3D Xpoint。


     ReRAM(Resistive RAM)通过在上下电极间施加不同的电压,控制Cell内部导电丝的形成和熔断的状态对外呈现不同的阻抗(忆阻器)值来表示数据;目前典型代表厂商为HPE和Crossbar。

640?wx_fmt=png

     HPE在2015年Discover Conference会议中就提出了忆阻器内存技术,并计划在新型计算机架构The Machine中使用,未来成为取代SRAM、DRAM形成通用内存(Universal Memory),主流的SCM技术如下:


640?wx_fmt=png


     MRAM(Magnetic RAM)磁性随机存储器通过电流磁场改变电子自旋方向来表示不同数据状态。比较适用于CPU的高速缓存(如L2 Cache),代表厂商为Toshiba和Everspin。

     NRAM(Nantero’s CNT RAM)碳纳米管随机存储器采用碳纳米管作为开关,控制电路通断表示不同的数据状态。由于碳纳米管尺寸非常小并且具备极强的韧性,因此NRAM密度可以很高、寿命也比较长,理论功耗也比较低。


      下面以Intel Optane系列简单谈谈SCM现阶段的应用情况。


640?wx_fmt=png


      首先介绍下SCM SSD磁盘,如Intel推出的OptaneP4800X系列Clodstream SSD,虽采用NVMe协议但沿用NVMe Block接口,相比现有Flash SSD,在架构上SCM SSD也有很好的继承性,再加上SCM SSD有效避免了垃圾回收带来的性能衰减问题,所以主要应用在数据缓存和高性能主存场景。


  • 元数据缓存:作为AFA产品的元数据缓存,配合DRAM,实际上实现了Memory+SCM SSD的两级缓存,突破内存容量瓶颈,增加数据缓存容量;

  • 数据缓存:作为用户数据的加速层,提升典型应用场景下的性能体验;

  • 数据主存:作为用户数据的存储,提供比Flash更高的性能存储系统。


      接着谈谈SCM DIMM形态产品,如Apache Pass DIMM,它是基于内存访问语义(Load/Store)的SCM产品,这种形态可以提供与内存接近的访问时延很低,并提供相对内存更大的容量和数据持久化能力,通常用在如下场景。


  • 持久化内存:作为数据持久层,对数据一致性要求很高的持久化系统,同时兼顾数据可靠性和数据读写性能。

  • 内存数据库:作为数据In Place空间,提供数据运行和持久化存储空间。

  • 系统日志卷:作为日志卷,例如,在HPC系统中通常采用Checkpointing实现对计算中间状态进行持久化保存,这是一个耗时、耗系统吞吐量的过程。


640?wx_fmt=png

      如果采用SCM DIMM实现日志卷实现数据持久化,则可以大大提升系统可靠性、性能,同时减少处理时间。


      简单总结下,从SATA SSD,SAS SSD到PCIe SSD,NVMe SSD,主要经历了标准泛滥和统一两次技术变革,PCIe SSD是闪存创新的春秋战国时代,在语言和通信上各自有一套标准,NVMe SSD则是统一文字标准的秦国盛世。然而要发挥SCM的优势,对现有计算机系统软硬件架构提出了更大的挑战,每次产品的变革都凝聚了技术的变革。这些变革包括持久化内存的数据结构,事务技术,硬件架构,编程工具和软件堆栈等各方面。


      在互联网络方面,现有的跨CPU间内存访问受限于网络时延,无法充分发挥SCM介质持久化的特点,Gen-Z标准的出现使得SCM可以独立以Gen-Z接口接入Gen-Z总线,各CPU以纳秒级的时延访问共享SCM介质从而更好的发挥SCM的性能。


关于SCM和传统SSD之间的GAP和解决措施,请读者们通过点击“阅读原文”获取“详解SCM/NVM技术现状和研究方向”资料学习。


温馨提示:

请识别二维码关注公众号,点击原文链接获取<详解SCM/NVM技术现状和研究方向>资料总结

640?wx_fmt=jpeg

640?wx_fmt=gif

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SCM和NVM是什么鬼,与NVMe是什么关系? 的相关文章

  • Java的生产者消费者模型

    前言 学完了线程后 xff0c 我又去找了一些线程相关的练习题来练手 xff0c 其中印象最深的就是生产者消费者模型这一块 xff0c 为什么呢 xff0c 因为它每一篇练习题里都有 xff0c 开始没看懂 xff0c 后面就去仔细研究了一

随机推荐

  • IDEA创建vue项目及vue项目中路由的配置

    首先参考了这篇文章用idea创建了vue项目 然后我想直接加 login就访问到我新建的Login vue文件 xff0c 发现不行 xff08 小白有点天真了 xff09 得知需要配置路由才能这样访问到 xff0c 但配置的过程到处碰壁
  • KBQA知识问答概述

    问答系统历史 xff1a 基于模板的问答专家系统 gt 基于信息检索的问答 gt 基于社区的问答 gt 基于知识库的问答 xff08 受益于维基百科等 xff09 问答形式分类 xff1a 一问一答 xff0c 交互式问答 xff0c 阅读
  • 2021-10-15Ubuntu开机进入tty1,无法进入图形界面

    1 tty1界面输入账号密码 2 输入指令 xff1a sudo apt install ubuntu desktop 3 重启 xff1a reboot
  • 进程互斥、同步--多生产者多消费者问题

    1 问题描述 xff1a 有一个缓冲区 xff0c 生产者1和生产者2分别生产产品1和产品2 xff0c 消费者1和消费者2分别消费产品1和产品2 只有当缓冲区空时 xff0c 生产者才可以向缓冲区生产产品 当缓冲区不空时消费者1或者2才可
  • 剑指 Offer 03. 数组中重复的数字

    https leetcode cn com problems shu zu zhong zhong fu de shu zi lcof span class token keyword class span span class token
  • VScode连接服务器+SFTP同步文件

    VScode连接服务器 43 SFTP同步文件 1 VScode远程连接服务器2 Vscode本地与远程文件同步 1 VScode远程连接服务器 应用商店安装remote development 此时会自动安装其他的 xff08 Remot
  • MyBatis和MyBatisPlus关系

    MyBatis和MyBatis Plus都是用来操作数据库的框架 MyBatis是一个持久层框架 xff0c 它的核心功能是将Java程序中的对象映射到数据库表中 MyBatis Plus是在MyBatis的基础上进行了封装和增强 xff0
  • 最全GPU架构知识介绍

    1 GPU的起源 GPU缩写为Graphics Processing Unit的 xff0c 一般称为视觉处理单元 GPU被广泛用于嵌入式系统 移动电话 个人电脑 工作站和电子游戏解决方案当中 现代的GPU对图像和图形处理是十分高效率的 x
  • ClassNotFoundException: org.slf4j.Logger报错问题

    ClassNotFoundException org slf4j Logger报错解决 1 jar包没有导入2 检查idea编译器 1 jar包没有导入 检查一下jar包是否添加到依赖 xff08 这一部分是检查pom xml这个文件 xf
  • zabbix报警

    zabbix 告警有三种方式 xff1a 1 邮件 2 短信 3 微信 最常用的就是邮件报警 使用第三方SendEmail邮件报警 1 将sendEmail v1 56 tar gz报警小程序上传至服务端 root 64 localhost
  • kaili下载教程

    kaili下载 不经意在社区看了一下好像没有最新的kaili下载教程 xff0c 所以就想着做一个 kaili下载 xff1a https docs kali org 1 进入官网首页 xff0c 最下面的两个箭头可以直接跳过第2步 xff
  • 2018.9.14-Asp.net实现动态主题(皮肤)更改

    Asp net实现动态主题 xff08 皮肤 xff09 更改 使用 xff1a Microsoft Visual Studio 2010 系统 xff1a win10 项目结构图 xff1a 第三个按钮 xff1a 更改项目目录显示方式
  • LVM——linux缩小逻辑卷(xfs)

    在这里 xff0c 我们将向您展示如何在Linux中收缩LVM卷或分区 xff0c 方法是首先调整文件系统的大小 xff0c 然后调整逻辑卷的大小 如果您尝试执行相反操作请看 xff1a LVM linux增加LVM分区 注意 xff1a
  • Linux——重启服务器后磁盘名称错乱

    背景 某台服务器有如下文件系统 xff0c fwork1 挂载在 dev sda1 xff0c fwork2挂载在 dev sdb1 某次添加新硬盘重启后 xff0c 变成了fowrk1挂载在 dev sdb1 xff0c fwork2挂载
  • linux卡住freeze解决办法

    状况 踢出用户后启动服务器 xff0c 在机房点击键盘没有反应 xff0c 等待一个小时服务器一直卡在下面界面 一些底层软件的 bug 也可能导致一些奇怪的死机问题 Linux 运行过程中 xff08 为了提高性能 xff09 会把大量的数
  • 鸟哥私房菜-Linux文件格式化处理 grep|egrep|awk|sed|diff|cut|sort|uniq|wc|xargs

    grep grep基础用法 文件中搜索特定字符串 grep 39 query 39 file 或者 cat file grep 39 query 39 查询包含特定字符串的文件 sudo grep r 字符串 目录 同时 xff0c fin
  • Linux——磁盘分区与挂载

    Step 1查看当前磁盘的分割表类型 sudo parted dev sda print Error dev sda unrecognised disk label Model LENOVO ST2400MM0129 scsi nbsp n
  • 鸟哥私房菜—Vim编辑器的常用快捷键

    一 移动游标的方法 页面级别 Ctrl 43 b Ctrl 43 PgUp 向上移动一页 Ctrl 43 f Ctrl 43 PgDn 向下移动一页 Ctrl 43 u 向上移动半页 Ctrl 43 d 向下移动半页 行级别 G 移动到这个
  • Linux—yum/apt-get软件安装

    yum用法 yum的查询 yum option 查询工作目录 相关参数 option xff1a y 当yum要等待使用者输入时 xff0c y自动提供yes的回应 installroot 61 some path 将该软件安装在指定目录
  • SCM和NVM是什么鬼,与NVMe是什么关系?

    SSD存储介质和接口技术一直处于不断向前发展和演进的过程 SSD分为几个阶段 xff0c 第一个阶段是SATA SSD或者SATA SAS SSD为主导 xff0c 这个阶段介质以SLC和eMLC为主 第二个阶段是PCIe SSD xff0