芯片设计 | 什么是 NVMe?

文章目录

  • 什么是 NVMe?
  • 什么是固态硬盘?
  • 为什么 NVMe 很重要?
  • NVMe、SAS 和 SATA 之间的区别
  • 只有SSD运行在NVMe上
  • PCIe和NVMe有关系,但它们不是同一个东西
  • NVMe-oF连接SSD到网络
  • NVMe 的工作原理是什么?
    • NVMe SSD 外形尺寸
    • M.2 NVMe 驱动器
    • NVMe 和动态随机存取存储器
  • NVMe 用例
  • 资料来自:

  • 什么是 NVMe?
  • 什么是固态硬盘?
  • 为什么 NVMe 很重要?
  • NVMe、SAS 和 SATA 之间的区别
  • 只有SSD运行在NVMe上
  • PCIe和NVMe有关系,但它们不是同一个东西
  • NVMe-oF连接SSD到网络
  • NVMe 的工作原理是什么?
    • NVMe SSD 外形尺寸
    • M.2 NVMe 驱动器
    • NVMe 和动态随机存取存储器
  • NVMe 用例
  • 参考资料

什么是 NVMe?

NVMe协议标准由NVM Express公司监管,这是一个由100多个组织组成的联盟,这些组织致力于开发更快的协议以提高非易失性存储的性能。该组织由一个13家公司组成的董事会领导,其中包括Cavium、Cisco、Dell EMC、Facebook、英特尔、Micron、Microsemi、微软、NetApp、三星、希捷、东芝内存和Western Digital。

NVMe(非易失性内存主机控制器接口规范)是用于高度并行数据传输的协议,可减少闪存存储和固态硬盘 (SSD) 中使用的每个输入/输出 (I/O) 的系统开销。

由于设备驱动器的更改允许并行和轮询,因此 NVMe SSD 能够提供比传统硬盘驱动器 (HDD) 更快的响应时间。这些改进有助于减少延迟,使其成为企业工作负载以及众多消费者和专业应用程序的理想选择。


 HDD能达到的最高理论速度,与SATA、NVMe最高提供的理论速度对比

NVMe的官方定义将其描述为“一个开放的标准和信息集合,以充分释放非易失性存储在从移动端到数据中心的所有类型的计算环境中能够提供的优势。NVMe从底层开始设计,为当前和未来的NVM技术提供高带宽和低延迟存储访问。”

NVMe是通过PCI Express总线将存储连接到服务器的接口规范,简单来说就是,使SSD与主机系统通信的速度更快。它有助于缓解闪存通过最初为HDD设计的SAS或SATA连接到系统时出现的瓶颈。

UNICACA  ANU24PE16  U.2转接卡 是支持NVMe技术的固态硬盘产品

什么是固态硬盘?

固态硬盘 (SSD) 是基于半导体的存储设备,依靠闪存在计算机系统中存储持久数据。在 SSD 中,每个内存芯片均由包含内存单元(也称为页或扇区)的块构建而成,而内存单元又包含内存位。

与使用磁铁存储数据的磁性存储(例如 HDD 和软盘驱动器)不同,固态硬盘使用 NAND 芯片,这是一种非易失性存储技术,不需要任何电源来维护数据。

HDD 由于盘片旋转和读/写头移动而具有固有的延迟和访问时间,而 SSD 没有移动部件,因此速度更快。SSD 目前已超越 HDD,成为结构化数据工作负载的首选行业标准。

为什么 NVMe 很重要?

NVMe 开发于 2008 年至 2011 年,旨在取代串行高级技术附件 (SATA) 和串行连接 SCSI (SAS) 协议。与竞争对手相比,NVMe 在延迟和性能方面的改进促进了其他重要技术的发展,包括物联网 (IoT)、人工智能 (AI) 和机器学习 (ML)。

如今,用户要求应用程序能够比以往任何时候都更快响应。无论用户部署哪种类型的应用程序,NVMe 协议都旨在提供下一代高性能、高带宽和低延迟体验。

NVMe SSD 主要通过外围组件互连高速 (PCIe) 总线访问闪存存储,该总线可以移除“中间人”控制器,从而减少延迟。但是,NVMe 也可以在任何类型的“架构”互连(例如光纤通道和以太网)上运行,也可以在以太网、iWarp、RoCEv2、iSER 和 NVMe-TCP 内运行。

与使用 SCSI 协议连接的驱动器相比,NVMe SSD 可以运行成千上万个并行命令队列并运行程序,而 SCSI 协议只能部署单个命令队列。连接方式与协议无关;例如,NVMe PCIe 可以通过运行 NVMe 协议的 PCIe 链路连接单个驱动器。

NVMe 专为高性能、非易失性存储介质而构建,非常适合当今要求严格的计算密集型环境,例如图形编辑软件、云计算环境、固件和大型数据库。与 SCSI 相比,NVMe 能够快速高效地处理企业工作负载,且基础架构占用空间更小,功耗更低。

NVMe、SAS 和 SATA 之间的区别

虽然硬盘驱动器 (HDD) 是业界首选的数据存储和访问方法,但 SATA 和 SAS 是合适的解决方案。这两种技术都旨在作为 SCSI 存储接口,以方便数据传入和传出 HDD。

SAS 通过运行 SCSI 协议的 SAS 端口连接单个驱动器,然后连接到 PCIe 链路。SATA 通过运行 ATA 协议的 SATA 端口连接单个驱动器,然后通过 ATA 控制器连接到 PCIe 链路。

直到最近,大多数 SSD 都使用 SAS 或 SATA 与计算机系统的其余部分连接。然而,随着固态技术在整个存储行业的兴起,SAS 和 SATA 变得越来越难以匹配,因为它们旨在与 HDD 配合使用。

根据 International Data Corporation (IDC) 2023 年的一份报告,NVMe 旨在加快通过 PCI Express 连接的系统的数据传输速度,PCI Express 是一种串行扩展总线,是将计算机连接到一个或多个外围设备的标准配置。(2)

除了专为与 SSD 配合使用而设计之外,NVMe 的协议比 SCSI 更加精简,使其成为面向实时应用程序(例如 ML 和 AI)的更好解决方案。随着云计算环境的日益普及,NVMe 凭借内置的高性能和数据保护功能,也能够很好地支持混合云、多云和大型机存储环境。

以下是使用 NVMe 存储相对于 SAS 或 SATA 驱动器的一些优势:

  • 提升性能:NVMe 技术可以使用 PCIe 将 SSD 存储直接连接到服务器或中央处理单元 (CPU)。凭借性能的显著提高,对于游戏玩家、视频编辑器和其他需要比 SAS 或 SATA HDD 更高性能的用户来说,NVMe 技术成为了首选数据存储/传输选项。

  • 速度更快: NVMe 驱动器可以提供比 SAS 或 SATA 驱动器更高的速度,因为它们可以更快地发送和接收 NVMe 命令并提供更好的吞吐量。

  • 提高兼容性:NVMe 被广泛视为比 SAS/SATA 更具兼容性的选项,并且随着 AI、ML 和云计算等快速发展的关键技术的发展而经常更新。NVMe 技术可以与所有现代操作系统无缝协作,包括手机、笔记本电脑和游戏机。

  • 改进的带宽: PCIe 连接比 SAS 或 SATA 端口更宽并且具有更多的带宽。它还随着每一代的改进而改进,带宽是上一代的两倍。SAS 和 SATA 的带宽连接要低得多并且是固定的,因此它们不会随着时间的推移而改进。PCIe 连接脱颖而出的另一个特点是它们在“通道”中可扩展,因此即使在同一代产品中,用户也可以通过两倍的通道数量将带宽加倍。

只有SSD运行在NVMe上

因为NVMe驱动器要比SATA快得多,所以将NVMe与HDD放在一起使用来提高性能似乎是个好主意。但是请记住,NVMe代表非易失性存储接口规范,它是专门为NAND 闪存等非易失性存储设计的(尽管它也可以用于较新的非易失性内存,比如3D XPoint)。

当系统从HDD读取数据时,它一次只能读取一块数据。因为它必须进行旋转以定位到第一个数据块的正确物理位置,然后再次旋转,移动到第二个数据块的正确位置,以此类推。另一方面,闪存和其他非易失性存储技术没有移动部件。这意味着系统可以同时从许多不同的位置读取数据。这就是为什么SSD可以利用NVMe提供的并行性,而HDD不能。

PCIe和NVMe有关系,但它们不是同一个东西

对于很多人来说,NVMe最令人困惑的部分是它与PCIe的关系。一些厂商使用NVMe作为标签来指代他们的SSD,另外一些厂商则使用PCIe标签,还有一些厂商似乎可以互换使用这些术语。

虽然PCIe和NVMe密切相关,但两个术语指的是略有不同的技术。可以将PCIe看作是系统的物理部分。当您将一个NVMe SSD插入服务器时,您需要通过一个PCIe插槽连接它。

相比之下,NVMe是一种协议,是一组允许SSD使用PCIe总线的软硬件标准。可以这么说,NVMe是允许存储设备与服务器连接的语言,而PCIe是实际的物理连接。

NVMe-oF连接SSD到网络

本文主要关注的是标准的NVMe,它将SSD直接连接到服务器,但是NVM Express组织也发布了NVMe over Fabric (NVMe- oF)的规范,它将用于块存储的非易失性存储连接到网络。根据该组织的说法,“NVMe- oF定义了一个通用架构,它支持一系列存储网络结构,用于存储网络结构之上的NVMe块存储协议。”这包括在存储系统中启用前端接口,扩展到大量NVMe设备,并在数据中心内延长NVMe设备和NVMe子系统可访问的距离。

NVMe-oF规范与NVMe规范有大约90%的相同;然而,它确实使用了一种不同的传输映射机制。NVME-oF也有两种不同的变体:一种用于RDMA,另一种用于光纤通道。

NVMe-oF规范也比NVMe规范新得多,尽管一些厂商已经宣布支持这项技术,但实际上很少有厂商销售NVMe的产品。期待这种技术在未来几年变得更加普遍。

NVMe 的工作原理是什么?

在 SSD 和闪存存储出现之前,所有 HDD 存储系统都使用 SATA。然而,随着移动应用程序、视频游戏和 AI 等新技术对计算环境的要求不断提高,SATA 的局限性变得越来越明显。具体来说,SATA 的低速度和低带宽开始减慢大型数据传输速度,而大数据传输对于新应用程序的功能至关重要。

在需要大型数据传输而不减慢处理时间的环境中,NVMe 是一种比 SATA 更好的 SSD 数据存储/传输选项。NVMe 使 SSD 能够使用 PCIe 总线和 M.2 或 U.2 适配器直接连接到 CPU,这一点与 SATA 驱动器相同。NVMe 允许 SSD 直接连接到 CPU 并快速读取和写入大量数据。

为了实现更高的性能,NVMe 为基于 PCIe 的 SSD 定义了寄存器接口、命令集和功能组。通过 PCIe 总线连接后,NVMe 协议可降低延迟并有助于优化每秒 I/O 操作数 (IOPS)。

NVMe 驱动程序支持多种常见的操作系统 (OS),包括 Windows、Linux 和 MacOS。此外,NVMe 协议支持所有类型的 NVM,包括支持 NAND 闪存的 SSD。最后,NVMe 使用并行命令队列和“轮询循环”,而不是其前身基于“中断”的设备驱动程序,从而减少延迟和系统开销,并有助于避免 CPU 瓶颈,例如当显卡工作速度快于底层 CPU 时。

NVMe SSD 外形尺寸

NVMe 规范的另一个重要区别在于外形尺寸,或者说尺寸、配置和物理设计对与其他设备兼容性的影响程度。最近,存储网络行业协会 (SNIA) 召开会议,建立了企业和数据中心标准外形尺寸 (EDSFF),为 SSD 技术创建一个商定的行业级框架。

商定的 SSD 标准外形尺寸为 2.5 英寸,可轻松装入大多数笔记本电脑和台式机的驱动器托架,使 NVMe SSD 与现有技术高度兼容。由于 2.5 英寸驱动器广泛用于消费和商业计算环境,因此对于希望升级系统性能的用户来说,用 NVMeSDD 替换 HDD 非常简单直接。

M.2 NVMe 驱动器

M.2 SSD 是 SSD 中使用的另一种物理外形尺寸或连接器。虽然该术语经常与 NVMe 互换使用,但它们是不同类型的存储技术。虽然 NVMe SSD 连接到主板上的 PCIe Slot,使数据传输速率比竞争对手高得多,但 M.2 驱动器是一种物理外形尺寸或连接器,可在超薄笔记本电脑和平板电脑等功耗受限的小型设备中实现高性能存储。

NVMe 和动态随机存取存储器

动态随机存取存储器 (DRAM) 是个人计算机 (PC)、服务器和工作站所依赖的一种广泛使用的随机存取存储器 (RAM)。NVMe SSD 有 DRAM 和无 DRAM 两种。

具有DRAM 的 NVMe SSD 比无 DRAM 的 SSD 更昂贵且速度更快,对于照片或视频编辑软件等图形密集型应用程序来说,它们是更好的选择。

无DRAM 的 NVMe 价格更实惠,速度也更慢,但仍然比 HDD 或 SATA SSD 快得多,对于不需要运行应用程序的速度或性能的用户来说,它们是不错的选择。

NVMe 用例

NVMe 具有低延迟、低功耗要求,并且能够以比 SAS 和 SATA 驱动器快得多的速率存储和传输数据,因此使其成为面向企业和消费者的常见选择。除了提高性能和数据存储容量之外,NVMe SSD 比 SAS 或 SATA SSD 的应用更为广泛,可以从 Intel 和 Samsung 等信誉良好的消费品公司购买。以下是一些常见的 NVMe 用例:

高性能计算

NVMe 的速度、可编程性和并行处理能力使其成为各种高性能计算应用程序的理想选择,包括高频金融交易、AI 和 ML。

要求严格的应用程序

许多尖端应用程序需要较大的队列深度进行存储。与之前的 SAS/SATA 不同,NVMe 可以容纳多达 65,000 个队列和每个队列的命令,从而允许再执行数千个命令。

数据中心

NVMe SSD 帮助数据中心扩展数据存储容量,并以与 SATA SSD 相当的价格提供更高的性能,因此促使许多现代企业做出转变。根据 Enterprise Strategy Group 的报告,近四分之三的组织正在使用基于 NVMe 的 SSD 存储或计划在未来 12 个月内进行部署。(3)

图形编辑

无论您是编辑家庭团聚的视频还是制作动画电影,NVMe 的快速数据传输速率都能使视频编辑速度显著加快。简而言之,在视频编辑软件中编辑和渲染场景会产生大量数据。NVMe SSD 可以处理所有这些数据,而不会减慢处理速度。

DevOps

在容器化开发运维应用程序中部署 NVMe 缩短了许多开发人员的大型构建时间并加快了编码迭代。NVMe 还可以加快开发速度、降低成本,并帮助团队使用更广泛的工具更快地启动。

关系数据库

NVMe 闪存系统可提高应用程序性能并减少关系数据库所需的物理服务器数量。这使得该系统的执行速度比传统硬盘驱动器更快,从而使操作它们的组织能够更快地运行查询。

资料来自:

  • IBM—https://www.ibm.com/cn-zh/topics/nvme
  • 嘉华—https://www.unicaca.com/info/detail/231.html
  • 百家号—https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零售品牌做好差旅报销管理,真的能省钱

一年一度的“618”如期而至,甚至启动更早了。 各大厂商宣布取消延用了十多年的预售机制,主打“现货开卖”,充分回归“消费者价值”。 零售品牌给消费者省钱,更要给自己省钱。而这前提是充分了解“钱花在哪了”、“怎么花更合理”: ● 商业化BD、促销、营销等市场活动频繁,差…

如何知道huggingface/modelscope的大模型的模型层名字

下载模型后,有个文件叫model.safetensors.index.json,里面有。 你下载的大模型位置在用户名/.cache/huggingface/hub/大模型名差不多这个路径。 或者直接print(parameters.name),但是这样打出来特别多,很难看。差不多这样写&am…

2024年【山东省安全员C证】考试及山东省安全员C证报名考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年【山东省安全员C证】考试及山东省安全员C证报名考试,包含山东省安全员C证考试答案和解析及山东省安全员C证报名考试练习。安全生产模拟考试一点通结合国家山东省安全员C证考试最新大纲及山东省安全员…

VS2022配合Qt与boost.asio实现一个TCP异步通信系统远程操作mysql数据库

上一篇博客我们通过boost.asio搭建了一个简单的异步服务器,但是那是基于命令行的,所有用起来还是相当枯燥的,这次我们配合Qt实现一个简陋的前端页面来控制后端mysql数据库中的表,实现添加密钥的功能(本次博客使用的boost版本是1.8…

数据结构的直接插入排序(C语言版)

一.直接插入排序的基本概念 1.直接插入排序的基本思想 将数组分为已排序和未排序两部分。 每次从未排序部分取出一个元素,将其插入到已排序部分的合适位置,使得已排序部分保持有序。 重复步骤2,直到整个数组有序。 2.排序的工作原理 假设前 i-1 个元素已经有序,现在要将第…

前端开发的设计思路【精炼】(含数据结构设计、组件设计)

数据结构设计 用数据描述所有的内容数据要结构化,易于程序操作(遍历、查找),比如数组、对象、对象为元素构成的数组(每个元素记得设置唯一的 id 属性,以便对元素进行删改操作)数据要可扩展,以便增加新的功能…

设置 border 边框单侧样式 - HarmonyOSNext

设置 border 边框单侧样式,通过 api 中查看 border(value: BorderOptions): T; BorderOptions 又包含了若干个子属性 1.width?: EdgeWidths | Length; 2.color?: EdgeColors | ResourceColor; 3.radius?: BorderRadiuses | Length; 4.style?: EdgeStyles | BorderStyle; 其…

MYSQL框架结构

MYSQL框架结构 通过解析器和预处理生成解析树,预处理判断是否合法,如果合法则调用优化器去进行优化。

World Creator v2.1.0 解锁版安装教程 (GPU三维地形生成软件)

前言 World Creator是一款功能相当强大的地形景观生成器;可以完全根据自己的需求来对地形、景观生成您需要三维模型,内置的大量预设,让您的创建拥有无限的可能性。 一、下载地址 下载链接:http://dygod/ITSource 点击搜索&…

蓝卓入选工信部2023年度“揭榜挂帅”项目

蓝卓“面向多元异构和应用快速开发演化的智能工厂操作系统解决方案”,凭借行业领先的平台技术能力以及数智赋能的硬核实力成功揭榜挂帅。 本次入选不仅代表了蓝卓又一次获得工信部权威专家及国家认可,更是“工厂操作系统”首次在国家层面获得表彰。 智能…

【JS】async/await异常捕获,这样做才完美

前言 🍊缘由 JS中async/await异步调用,只能通过try-catch吗? 🍍你想听的故事: 作为一个合格的全栈搬砖工,那必须文武双全,前后必备。遂吾日三省吾身,偶发觉前端长时间不写有些落下…

宝塔Nginx设置图片访问跨域

宝塔Nginx设置图片访问跨域 针对某一个站点设置 找到对应的站点点击 “设置” 增加对应header设置 代码: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${#允许跨域add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Headers X-Requeste…

【NumPy】关于numpy.subtract()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

【全开源】活动报名表单系统(ThinkPHP+Uniapp+uView)

轻松构建高效报名平台 一、引言 随着线上活动的日益增多,一个高效、易用的活动报名表单系统成为了举办各类活动的必备工具。为了满足不同组织和个人的需求,我们推出了功能强大的“活动报名表单系统源码”。本文将为您详细介绍该源码的特点、功能以及使…

【UE数字孪生学习笔记】 使用DataSmith对模型快速导入 UE5.3.2使用unreal DataSmith文件

声明:部分内容来自于b站,慕课,公开课等的课件,仅供学习使用。如有问题,请联系删除。 部分内容来自UE官方文档,博客等 UE5.3.2使用 3D Max 导出的unreal DataSmith文件 1. 去UE官网下载DataSmith导出器并导…

【Linux】中常见的重要指令(下)以及重要的几个热键

目录 一、时间相关的指令date 1.时间戳 二、Cal指令 三、find指令 1.whereis 2.which 四、grep指令 五、zip和unzip指令 六、tar指令 七、bc指令 八、.重要的几个热键[Tab],[ctrl]-c,[ctrl]-d 一、时间相关的指令date date 指定格式显示时间…

ROM的简单实现

描述 实现一个深度为8,位宽为4bit的ROM,数据初始化为0,2,4,6,8,10,12,14。可以通过输入地址addr,输出相应的数据data。 接口信号图如下: 使用Veri…

Esp32+阿里云物联网平台+DHT11+控制LED(基于PubSubClient库)

Esp32阿里云物联网平台DHT11控制LED 关于本文:利用ESP32连接DHT11温湿度传感器获取温湿度,上报到阿里云物联网平台,通过阿里云物联网平台实时远程查看温湿度,并且接收平台下发的LED灯控制指令。要注意的是,阿里云有两…

【动态规划】零基础解决路径问题(C++)

目录 62.路径问题 解法(动态规划): 1. 状态表⽰: 2. 状态转移⽅程: 3. 初始化: 4. 填表顺序: 5. 返回值: 不同路径2.0 解法(动态规划): …

22-LINUX--多线程and多进程TCP连接

一.TCP连接基础知识 1.套接字 所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程…