NVMe前世今生

NVMe前世今生

  • 1 NVMe的由来
  • 2 NVMe工作原理
  • 3 NVMe优点
  • 4 NVMe适用场景

本文属于《 NVMe协议基础系列教程》之一,欢迎查看其它文章。

1 NVMe的由来

目前机械硬盘大多数使用 SATA (Serial ATA Advanced Host Controller Interface) 接口,接口协议为 AHCI,是 Intel 联合多家公司研发的系统接口标准。AHCI 最大队列深度为 32,即主机最多可以发 32 条命令给 HDD 或 SSD 执行,在 HDD 时代整个性能瓶颈在硬盘端,而不是接口和协议端,所以 AHCI 可以很好的匹配 HDD。

但随着 SSD 硬盘技术的不断演进,使得底层闪存带宽越来越高,介质访问延迟越来越低,系统瓶颈已经由下转移到了上面的接口和协议端。这时你会发现 SATA 接口的 SSD 性能都不会超过 600MB/s,你会认为是底层闪存带宽不够,但其实是 SATA 接口速度限制了带宽。因为 SATA 3.0 最高带宽就是 600MB/s。

此时,AHCI 和 SATA 已经不再满足高性能和低延迟的 SSD 的需求了,如果要充分释放 SSD 性能,那么就要设计新的协议和接口了。
在这里插入图片描述

在这样的背景下,2009 年下半年,Intel 、镁光、三星等厂商,一同制定了专门为 SSD 服务的 NVMe 协议,来取代 AHCI,从此 NVMe 应运而生。
在这里插入图片描述

2019.6.10,发布NVMe 1.4
2021.6.3, 发布NVMe 2.0
NVMe官网:https://nvmexpress.org/specifications/

2 NVMe工作原理

NVMe的全称是Non-Volatile Memory Express,即非易失性存储器标准,是在 PCIe 接口之上的协议标准,在协议栈中隶属高层(相当于通讯协议中的应用层)。如下图所示:
在这里插入图片描述
NVMe的工作原理是基于PCle总线的,因此它可以利用PCIe的高速通道进行数据传输。
NVMe通过命令队列的方式来完成I/O操作,每个命令队列都可以包含多个I/O命令,这些命令可以并发执行,从而提高数据传输的效率。
NVMe还采用了一种称为“轮询方式”的通信协议,即它不需要中断来通知主机处理器已经完成了某个任务。相反,主机处理器可以根据需要,不断地轮询设备状态,从而实现更高的吞叶量和更低的延迟。

NVMe 针对 PCIe SSD 特点而设计,相比传统 AHCI 标准,NVMe 标准可以带来多方面的性能提升,可以说 NVMe 就是为了 SSD 而生的。刚才我们提到了 AHCI、SATA、NVMe、PCIe,接下来,我们通过一张层次图来理解他们之间的关系和职责。
在这里插入图片描述

3 NVMe优点

上面我们提到了 NVMe 是一种 Host 与 SSD 之间通信的协议,在整个协议栈中处于应用层的位置。NVMe相当于指挥官发送命令至下层去执行,即PCIe,它所制定的任何命令,都由 PCIe 去完成。虽然 AHCI 也可以和 PCI 搭档,但 AHCI 只有一个命令队列,最多同时只能发 32 条命令,根本驾驭不了 PCIe。而 NVMe 主要是面向 PCIe SSD 开发的一套接口标准,定义了系统接口和命令集,其目的就是让性能更好,延迟更低,功耗更低,所以目前 NVMe 和 PCIe 匹配无疑是最完美的。
在这里插入图片描述
相对于传统的存储技术,NVMe具有以下优点:

  1. 更快的数据传输速度:NVMe可以利用PCIe的高速通道进行数据传输,从而实现更高的带宽和更快的响应速度。这对于需要进行大量数据处理的应用程序来说非常重要。
  2. 更高的I/O操作效率:NVMe采用了命令队列的方式来完成I/O操作,从而可以并发执行多个命令,提高I/O操作的效率。这对于需要处理大量I/O操作的应用程序来说非常重要。
  3. 更少的CPU占用率:NVMe可以通过轮询方式来通信,从而不需要中断来通知主机处理器已经完成了某个任务。这可以减少CPU的占用率,从而提高系统的整体性能。
  4. 更高的可靠性:NVMe采用了一些数据保护机制,例如CRC校验、错误纠正码和端到端数据保护等,可以保证数据的完整性和安全性。

4 NVMe适用场景

NVMe适用于需要快速访问大量数据的应用程序,例如高性能计算、大数据分析、人工智能等。此外,NVMe还适用于需要进行大量I/O操作的应用程序,例如数据库、虚拟化、云计算等。


参考链接:

  • 《NVMe协议基础》
  • 《什么是NVMe?一篇文章理清它的前生今世》
  • 《为什么 SSD 需要 NVMe》

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

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

相关文章

vue + element 项目表格多选根据状态来禁用

首先如图效果 对elementUI中table表格的多选框进行 可勾选 和 不可勾选 的处理 给 type 属性为 selection 的加一个事件:selectableselected’ <el-table-column type"selection" width"55" :selectable"selected"> </el-table-colum…

运维知识点-Kubernetes_K8s

Kubernetes RBAC配置不当攻击场景攻击过程 RBAC配置不当 Service Account本质是服务账号&#xff0c;是Pod连接K8s集群的凭证。 在默认情况下&#xff0c;系统会为创建的Pod提供一个默认的Service Account&#xff0c; 用户也可以自定义Service Account&#xff0c;与Service…

目标检测——YOLO算法解读(通俗易懂版)

论文&#xff1a;You Only Look Once: Unified, Real-Time Object Detection 作者&#xff1a;Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi 链接&#xff1a;https://arxiv.org/abs/1506.02640 代码&#xff1a;http://pjreddie.com/yolo/ yolo系列检测算法开…

Excel小技能:excel如何将数字20231211转化成指定日期格式2023/12/11

给了一串数字20231211&#xff0c;想要转成指定格式的日期格式&#xff0c;发现设置单元格格式为指定日期格式不生效&#xff0c;反而变成很长很长的一串#这个&#xff0c;如图所示&#xff1a; 其实&#xff0c;正确的做法如下&#xff1a; 1&#xff09;打开数据功能界面&am…

谷达冠楠科技:抖音店铺被退店是什么意思

随着互联网的普及和发展&#xff0c;电商平台已经成为了人们购物的主要渠道之一。在众多的电商平台中&#xff0c;抖音作为短视频领域的佼佼者&#xff0c;也吸引了大量的商家入驻。然而&#xff0c;有些商家可能会遇到抖音店铺被退店的情况&#xff0c;那么这究竟是什么意思呢…

病案管理的定义、流程及应用分析

病案管理是指针对病人的基本信息&#xff0c;病历&#xff0c;就诊记录等进行收集、整理、存储、分析和应用的一项管理工作。它在医院、医疗机构和医疗行业中具有重要的作用&#xff0c;能够提高医疗服务的质量、效率和安全性。本文将就病案管理的定义、流程以及其在医疗健康领…

React实现全局Loading

css #__loading {position:fixed;top: 0;left: 0;z-index: 99999;display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;background: rgba(0, 0, 0, 0); } 页面代码 使用了antd的Spin组件 import React from react import ReactDOM from re…

编程序中的魔法语句|循环-使用频率高的优雅代码

一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会在每个参数之间插入一个空格符: 复制代码代码如下: >>> print age:,42 age: 42 B.同时输出文本和变量值,却又不希望使用字符串格式化: 复制代码代码如下: >>> name = Pe…

emmc存储大小解决方案

当发现emmc space 0.2G或者为0 的时候说名emmc有问题了&#xff0c;正常情况下是3.98G。 所以需要做如下处理&#xff1a; 输入&#xff1a;第一步&#xff1a;mkfs.ext4 /dev/mmcblk0p1 &#xff08;格式&#xff1a;mkfs.ext4 参数 设备名 原文链接&#xff1a;mkfs.ext4 命…

(c语言)字符逆序——非递归

#include<stdio.h> #include<string.h> int main(int argc, char* argv[]) {char a[10000];char b[10000];gets(a);int i, c;c (int)strlen(a);for (i 0; i < c; i){b[i] a[c-i-1]; //将\0之前的元素赋值给b[]}b[c] \0; //之后在所有元素后加上\0,将…

优思学院|调优操作(EVOP)是什么?

EVOP是Evolutionary Operation的缩写&#xff0c;中文多译作&#xff0c;调优操作&#xff0c;意思是进化地操作&#xff0c;也是实验设计方法中的其中一种&#xff0c;可以应用于六西格玛流程DMAIC里的改进阶段。 调优操作&#xff08;EVOP&#xff09;是一种用于改善过程或产…

Mac安装Nginx

一起学习 1、确认你的电脑是否安装homebrew&#xff0c;打开电脑终端 输入&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2、确认homebrew是否安装成功&#xff0c;在终端输入&#xff1a; br…

怎么远程控制电脑?两种方法轻松实现!

不知道电脑远程控制怎么弄&#xff1f;本文将分享两种简单又实用的远程控制方法&#xff0c;能够让你轻松的远程控制电脑。远程控制一直是一个备受关注的话题&#xff0c;无论在何种场合都能发挥作用。掌握了远程控制的方法&#xff0c;不仅能够快速解决紧急问题&#xff0c;还…

【老牌期刊】IF:6+,2天预审,3-5个月录用!

期刊简介 1区计算机智能类SCI 【期刊概况】IF&#xff1a;6.0-7.0&#xff0c;JCR1区&#xff0c;中科院2区&#xff1b; 【终审周期】走期刊部系统&#xff0c;3个月左右录用&#xff1b; 【检索情况】SCI检索&#xff1b; 【WOS收录年份】2018年&#xff1b; 【自引率】…

用友 CRM help2.php存在任意文件读取漏洞

文章目录 产品简介漏洞概述指纹识别漏洞利用修复建议 产品简介 用友CRM&#xff08;Customer Relationship Management&#xff0c;客户关系管理&#xff09;是由用友公司开发的一款软件&#xff0c;专门设计用于帮助企业管理与客户相关的业务活动。这款软件通常包括客户信息管…

windows 安装jenkins

下载jenkins 官方下载地址&#xff1a;Jenkins 的安装和设置 清华源下载地址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/ 最新支持java8的版本时2.346.1版本&#xff0c;在清华源中找不到&#xff0c;在官网中没找到windows的下载历史&#xff…

UE5 Landscape地貌制作 - 学习笔记

P2. 创建地形 https://www.bilibili.com/video/BV1mD4y1D7D6?p2&spm_id_frompageDriver&vd_source707ec8983cc32e6e065d5496a7f79ee6 新建一个Basic场景选择Landscape Mode 生成预览网格&#xff08;绿色网格&#xff09;从文件导入&#xff1a;可以导入dem高度图地貌…

使用小程序实现App灰度测试的好处

灰度测试&#xff08;Gray Testing&#xff09;是一种软件测试策略&#xff0c;也被称为渐进性测试或部分上线测试。在灰度测试中&#xff0c;新的软件版本或功能并非一次性推送给所有用户&#xff0c;而是仅在一小部分用户中进行测试。这可以帮助开发团队逐步暴露新功能或版本…

vscode如何开发微信小程序?(保姆级教学)

1.安装“微信小程序开发工具”扩展 2.安装“vscode weapp api”扩展 3.安装“vscode wxml”扩展 4.安装“vscode-wechat”扩展 5.在终端执行命令&#xff1a; vue create -p dcloudio/uni-preset-vue uniapp-test uniapp-test就是我这里的项目名称了 6.如果遇到了这个错误&a…

KBU1010-ASEMI功率整流器件KBU1010

编辑&#xff1a;ll KBU1010-ASEMI功率整流器件KBU1010 型号&#xff1a;KBU1010 品牌&#xff1a;ASEMI 封装&#xff1a;KBU-4 特性&#xff1a;插件、整流桥 最大平均正向电流&#xff1a;10A 最大重复峰值反向电压&#xff1a;1000V 恢复时间&#xff1a;&#xff…