NVMe Introduce

2023-10-11 01:30
文章标签 nvme introduce

本文主要是介绍NVMe Introduce,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NVMe Introduce

What is NVMe Technology

NVM Express 是一个开放的标准和信息集合,旨在充分展示非易失性内存在从移动到数据中心的所有类型计算环境中的优势。最初的NVM Express工作组于2014年成立为NVM Express,是负责开发NVM Express规范的联盟。该组织目前拥有100多家会员公司。

NVMe 的设计初衷是为当前和未来的 NVM 技术提供高带宽和低延迟存储访问。NVM Express 标准包括:

NVM Express (NVMe) 规范 – PCI Express 技术附加存储的寄存器接口和命令集,以及可用于多种操作系统的行业标准软件。NVMe 被广泛认为是 PCIe SSD 事实上的行业标准。
NVMe 管理接口 (NVMe-MI) 规范 – 用于 NVM Express 存储带外管理的命令集和架构(例如,使用 BMC 发现、监控和更新 NVMe 设备)。
NVMe over Fabrics (NVMe-oF) 规范 – NVM Express 的扩展,支持在 PCIe 架构之外的其他传输上传输 NVM Express 命令集。NVMe over Fabrics 技术允许相同的协议扩展到各种网络接口,从而在全球最大的数据中心中大规模扩展高效存储架构的优势。

NVMe 规格概述

NVM Express® (NVMe®) 系列规范定义了主机软件如何跨 PCI Express® (PCIe®)、RDMA、TCP 等多种传输方式与非易失性内存进行通信。它是所有外形规格(U.2、M.2、AIC、EDSFF)的固态硬盘 (SSD) 的行业标准。NVM Express 是由定义、管理和营销 NVMe 技术的技术行业领导者组成的非盈利联盟。该规范系列的最新版本,即 NVMe 2.0 系列规范,于 2021 年 6 月 3 日发布。

NVM Express 规范系列指南

在这里插入图片描述

NVMe 2.0系列规范由多个文档组成,包括NVMe Base规范、命令集规范(例如,NVM命令集规范、ZNS命令集规范、KV命令集规范)、传输规范(例如,PCIe传输规范、光纤通道)传输规范、RDMA 传输规范和 TCP 传输规范)、NVMe 启动规范和 NVMe 管理接口规范。

NVM Express Base(NVM Express Base)规范定义了主机软件通过各种基于内存的传输和基于消息的传输与非易失性内存子系统进行通信的协议。

NVM Express 管理接口 (NVMe-MI) 规范为所有 NVM Express 子系统定义了可选管理接口。

NVM Express I/O 命令集规范定义了扩展 NVM Express 基本规范的数据结构、功能、日志页、命令和状态值。NVM Express 传输规范定义了 NVMe 协议(包括控制器属性)与特定传输的绑定。

NVM Express 启动规范 (NVMe Boot) 定义了从 NVM Express 接口启动的构造和指南。

请注意,该网页包含过时的规范(即 NVMe-oF 规范)作为历史参考。

已批准的技术提案和电气变更请求可按规范提供。

NVM Express Specification Archives

这篇关于NVMe Introduce的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184532

相关文章

一文介绍NVMe和NVMe-of

NVMe(Non-Volatile Memory Express)是一种高性能的存储协议,专为与非易失性存储介质如SSD(固态硬盘)通信而设计。NVMe协议通过PCIe(PCI Express)总线实现,能够提供比传统SATA或SAS接口更高的数据传输速率和更低的延迟。 NVMe技术的主要特点包括: 1. 高度并行的数据传输能力:NVMe支持多达64,000个命令队列,每个队列可以有高达64,

NVMe Reset

Reset在PCIe设备中,是很重要的基础流程,参考NVMe Spec协议,定义了三种类型的复位: NVM Subsystem ResetController Level ResetQueue Level  下面针对这三种类型分别进行介绍: 1. NVM Subsystem Reset 触发NVM Subsystem Reset有以下几种方式: NVM子系统上电Host向Cont

Kioxia的NVMe RAID卸载有何亮点?

随着每一代固态硬盘SSD的速度不断提升,RAID阵列面临着一个重大的挑战:如何有效地维持并扩展性能。即使是通过专门的RAID卡来处理RAID操作的情况下,例如在RAID 5阵列中,简单的写请求也需要涉及两次读取和两次写入不同的SSD。如果没有硬件加速,来自读取操作的数据需要返回到CPU和主内存进行进一步处理,然后才能执行写操作。 RAID 5: 将数据和相对应的奇偶校验信息分别存

NVME 类IO命令

一、reservation Acquire command 该命令用于在一个NS上获取一个“预定”,抢占一个“预定”并持有NS,并终止持有NS的“预定”。 该命令使用CDW10和Reservation Acquire structure,使用PRP1和PRP2(或者sgl) 携带的信息CDW10  RTYPE(除去预定可xx,其他都被禁止)  另外一个信息是Reservati

革新数据防护:IBM利用NVMe计算存储技术高效抵御勒索软件威胁

IBM在对抗勒索软件威胁方面迈出了创新一步,通过在其存储设备中应用NVM Express®(NVMe®)计算存储特性,展现了企业级数据保护的新维度。本文由IBM FlashCore模块首席架构师Tim Fisher撰写,深入探讨了如何利用前沿的计算存储技术有效防御日益猖獗的网络攻击。 ### NVMe计算存储:防御勒索软件的新防线 随着黑客技术的进步,企业及大规模数据中心面临的网络攻击频次逐年

nvme-cli常见命令分析

一、背景 nvme-cli命令常常用于获取或者设置SSD参数,比如常见的nvme list,nvme id-ctrl等,都是获取SSD的基本信息,也有nvme admin-passthru用于读取或者设置自定义命令。作为使用者,我们并不知道nvme-cli源码怎么实现的,为了探究溯源,阅读源码探究一下nvme-cli常见命令的细节。具体的nvme-cli master代码下载地址见链接。 nv

芯片设计 | 什么是 NVMe?

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

NVME Doorbell 寄存器 数据请求时doorbell 处理

3.NVMe寄存器配置 3.1 寄存器定义 NVMe寄存器主要分为两部分,一部分定义了Controller整体属性,一部分用来存放每组队列的头尾DB寄存器。 CAP——控制器能力,定义了内存页大小的最大最小值、支持的I/O指令集、DB寄存器步长、等待时间界限、仲裁机制、队列是否物理上连续、队列大小; VS——版本号,定义了控制器实现NVMe协议的版本号; INTMS——中断掩码,每个bit对应一

Nvme协议第三章 Controller Registers

控制器寄存器位于MLBAR/MUBAR寄存器(PCI BAR0和BAR1)中,该寄存器应映射到支持有序访问和可变访问宽度的内存空间。host主机通过访问虚拟内存的方式访问该部分寄存器。 注:访问过程只能一次访问一个寄存器,不能多个访问。 寄存器如下:  1 Offset 00h:CAP  注意type类型以及bit位。MPSMAX和MPSMIN只是设置一个最大最小范围,具体实际

使用qemu调试NVME driver

参考nvme驱动相关的博客,可以使用qemu + buildroot进行nvme驱动的流程debug。 一、QEMU编译 首先需要编译qemu,可以参考QEMU编译。wget下载最新版本的QEMU,编译之前,最好检查下依赖包是否安装,避免安装过程出现各种错误。 sudo apt-get install ninja-buildsudo apt-get install build-essent