NVME学习笔记杂谈—名词定义
1.5 定义
1.5.1 Admin Queue
Admin Queue 是标识符为 0 的 Submission Queue 和 Completion Queue 。Admin Submission Queue 和相应的 Admin Completion Queue 分别用于提交 administrative commands 和接收这些administrative commands 的完成。
Admin Submission Queue 与 Admin Completion Queue 唯一关联。
1.5.2 Administrative controller
公开允许主机管理 NVM 子系统的 capabilities 的控制器。Administrative 控制器不实现 I/O 队列,不提供对与非易失性内存存储介质上的用户数据相关的数据或元数据的访问,也不支持命名空间(即,从来没有任何active NSID)附加到 Administrative 控制器。
1.5.3 arbitration burst/仲裁突发
仲裁机制一次可以从 Submission Queue 中获取的最大命令数。
1.5.4 arbitration mechanism/仲裁机制
用于确定接下来选择哪个 Submission Queue 以获取命令以供控制器执行的方法。请参阅第 3.4.4 节。
1.5.5 association/关联
特定控制器和特定主机之间的排他通信关系,包含该控制器的 Admin Queue 和所有 I/O Queues。
1.5.6 audit/审查
访问media以确定 sanitize 操作的正确操作的过程。请参阅第 8.21 节和 ISO/IEC 27040。
1.5.7 authentication commands/认证命令
用于指代 Fabrics Authentication Send 或 Authentication Receive 命令。
1.5.8 cache/缓存
NVM 子系统使用的数据存储区域,host 不可访问,并且可能包含存储在非易失性介质中的user data的子集,或者可能包含未提交到非易失性介质的user data。
1.5.9 candidate command/候选命令
候选命令是已提交的命令,它已被传输到控制器并且控制器认为已准备好进行处理。
1.5.10 capsule/胶囊
NVMe over Fabrics 中使用的 NVMe 信息交换单元。胶囊包含命令或响应,并且可以选择包含命令/响应数据和 SGL。
1.5.11 Channel/通道
通道表示控制器和 NVM 子系统中的一个或多个Media Units之间的通信路径。
1.5.12 command completion
当控制器已完成对命令的处理、已更新完成队列条目中的状态信息并将完成队列条目发布到相关的Completion Queue 时,命令完成。
1.5.13 command submission
对于基于Memory的传输模型(例如 PCIe)实现,当 Submission Queue Tail Doorbell 写入完成时提交命令,该写入将 Submission Queue Tail Pointer 值移动到放置命令的 Submission Queue slot 之外。
对于基于Message的传输模型(例如 NVMe over Fabrics)实现,当主机将胶囊添加到 Submission Queue 时会提交命令。
1.5.14 controller/控制器
控制器是主机和 NVM 子系统之间的接口。控制器分为三种类型:
I/O controllers;
Discovery controllers; 和
Administrative controllers.
控制器在 Submission Queue 上执行主机提交的命令,并在 Completion Queue 上发布完成。所有控制器都实现了一个 Admin Submission Queue 和一个 Admin Completion Queue。根据控制器类型,控制器还可以实现一个或多个 I/O Submission Queues和 I/O Completion Queues。当 PCI Express 用作传输时,控制器就是 PCI Express function。
1.5.15 directive/指令
主机与 NVM 子系统或控制器之间的一种信息交换方法。可以使用 Directive Send 和 Directive Receive 命令传输信息。I/O 命令的子集可以包括 Directive Send 字段和 Directive Specific 字段,以传达更多特定于关联 I/O 命令的信息。请参阅第 8.7 节。
1.5.16 Discovery controller
公开允许主机检索 Discovery Log Page 的 capabilities 的控制器。Discovery controller 不实现 I/O 队列或提供对非易失性内存存储介质的访问。请参阅第 3.1.2.3 节。
1.5.17 Discovery Service
仅支持 Discovery controllers 的 NVM 子系统。Discovery Service 不应支持公开命名空间的控制器。
1.5.18 dynamic controller/动态控制器
控制器是按需分配的,没有从先前的关联中保留状态(例如,Feature settings)。
1.5.19 Domain/域
domain 是共享状态(例如 power state、容量信息)的最小不可分割单元。
1.5.20 emulated controller/仿真控制器
在软件中定义的 NVM Express 控制器。仿真控制器可能有也可能没有底层物理 NVMe 控制器(例如,物理的 PCIe function)。
1.5.21 Endurance Group/ Endurance Group
NVM 子系统中 NVM 的一部分,其耐久性作为一个组进行管理。请参阅第 3.2.3 节。
1.5.22 fabric (network fabric)
一种网络拓扑,其中节点相互传递数据。
1.5.23 firmware/boot partition image update command sequence
一个或多个 Firmware Image Download 命令的序列,用于下载固件映像或引导分区映像,然后是接 Firmware Commit 命令,该命令将下载的映像提交到 firmware slot 或 boot partition。
1.5.24 firmware slot/固件插槽
固件插槽是域中用于存储固件映像的位置。域存储一到七个固件映像。同一域中的控制器共享相同的固件插槽。
1.5.25 host/主机
通过一个或多个控制器与 NVM 子系统接口并将命令提交到 Submission Queues 并从 Completion Queues 检索命令完成的实体。
1.5.26 host-accessible memory/主机可访问内存
主机能够访问的内存(例如,主机内存、Controller Memory Buffer (CMB)、Persistent Memory Region (PMR))。
1.5.27 host memory
可由主机和控制器读取和写入且没有被控制器公开的内存(即,Controller Memory Buffer 或 Persistent Memory Region)。主机内存可以在主机内部或外部实现(例如,由既不是主机也不是控制器的设备公开的内存区域)。
1.5.28 Identify Controller data structures
能够通过 identify 命令检索的所有控制器数据结构:Identify Controller data structure (即,CNS 01h)和每个 I/O Command Set 特定的 Identify Controller data structure(即,CNS 06h)。
1.5.29 Identify Namespace data structures
能够通过 Identify 命令检索的所有命名空间数据结构:Identify Namespace data structure(即,CNS 00h)、I/O Command Set Independent Identify Namespace data structure(即,CNS 08h)和每个 I/O Command Set 特定的 Identify Namespace data structures(即 05h)。
1.5.30 I/O command
I/O 命令是提交到 I/O Submission Queue的命令。
1.5.31 I/O Completion Queue
I/O Completion Queue是一个 Completion Queue,用于指示命令完成并与一个或多个 I/O Submission Queues 相关联。
1.5.32 I/O controller
实现 I/O 队列的控制器,旨在用于访问非易失性内存存储介质。
1.5.33 I/O Submission Queue
I/O Submission Queue 是一个 Submission Queue,用于提交 I/O 命令以供控制器执行(例如,NVM Command Set 的Read、Write)。
1.5.34 Media Unit/介质单元
介质单元代表 NVM 子系统中底层媒体的一个组件。 Endurance Group 由介质单元组成。
1.5.35 metadata/元数据
元数据是与格式化的user data 相关的上下文信息(例如,特定的 LBA 数据)。如果存储空间由控制器提供,则主机可以包括要由 NVM 子系统存储的元数据。有关详细信息,请参阅适用的 I/O Command Set 规范。
1.5.36 namespace/命名空间
可以由主机直接访问的格式化的非易失性存储器的数量。
1.5.37 Namespace ID (NSID)
控制器用来提供对命名空间或 SQE 中包含namespace identifier的字段名称的访问标识符(参见Figure 87)。valid NSID、invalid
NSID、active NSID、inactive NSID、allocated NSID 和 unallocated NSID 的定义参见 3.2.1 节。
1.5.38 NVM
NVM 是 non-volatile memory 的首字母缩写。
1.5.39 NVM Set
来自 Endurance Group 的 NVM 的一部分。请参阅第 3.2.2 节。
1.5.40 NVM subsystem
NVM 子系统包括一个或多个域、一个或多个控制器、零个或多个命名空间以及一个或多个端口。NVM子系统可以包括非易失性存储器存储介质以及NVM子系统中的控制器与非易失性存储器存储介质之间的接口。
1.5.41 NVM subsystem port
NVM 子系统和 fabric 之间的 NVMe over Fabrics 协议接口。NVM 子系统端口是一个或多个物理 fabric 接口的集合,它们一起充当单个接口。
1.5.42 NVMe over Fabrics
NVM Express 接口的实现,它符合基于内存的传输模型定义的仅消息或消息/内存的实现(参见Figure 4 和第 2.2 节)。
1.5.43 NVMe Transport
在主机和 NVM 子系统之间提供可靠的数据、命令和响应传递的协议层。NVMe 传输层位于fabric 之上。它独立于 fabric 物理互连和底层 fabric 协议层。
1.5.44 NVMe Transport binding specification
用于 NVMe Transport的主机和 NVM 子系统之间可靠传递数据、命令和响应的规范。binding 可能会根据 NVMe Transport 的
capabilities 排除或限制功能。
1.5.45 physical fabric interface (physical ports)
NVM 子系统和 fabric 之间的物理连接。
1.5.46 Port ID
与 NVM 子系统端口关联的标识符。请参阅第 2.2.2 节。
1.5.47 primary controller/主控制器
支持 Virtualization Management 命令的 NVM Express 控制器。一个 NVM 子系统可能包含多个主控制器。NVM 子系统中的辅助控制器依赖于主控制器进行动态资源管理(请参阅第 8.26 节)。
支持 NVM Express 接口和 Virtualization Enhancements capability 的 PCI Express SR-IOV Physical Function 是主控制器的一个示例(请参阅第 8.26.4 节)。
1.5.48 private namespace/私有命名空间
一次只能附加到一个控制器的命名空间。请参阅 Figure 280 中的 Namespace Multi-path I/O 和 Namespace Sharing Capabilities (NMIC) 字段。
1.5.49 property/属性
为 NVMe over PCIe 定义的内存映射控制器寄存器的概括。属性用于配置低级控制器属性并获取低级控制器状态。
1.5.50 rotational media/旋转介质
将数据存储在旋转盘片上的介质(请参阅第 8.20 节)。
1.5.51 Runtime D3 (Power Removed)
在Runtime D3 (RTD3) 中,主power从控制器中移除。可以提供也可以不提供辅助power。对于 PCI Express,RTD3
是 D3cold power state(请参阅第 8.15.4 节)。
1.5.52 sanitize operation/sanitize 操作
更改 NVM 子系统中的所有 user data的过程,使得从任何缓存或非易失性介质中恢复先前的user data 对于给定努力水平是不不可行的(参见 ISO/IEC 27040)。
1.5.53 secondary controller/辅助控制器
一种 NVM Express 控制器,它依赖于 NVM 子系统中的主控制器来管理某些控制器资源(请参阅第 8.26 节)。
支持 NVM Express 接口并从主控制器接收资源的 PCI Express SR-IOV Virtual Function 是辅助控制器的示例(请参阅第 8.26.4 节)。
1.5.54 shared namespace/共享命名空间
可以同时附加到 NVM 子系统中的两个或多个控制器的命名空间。请参阅 Figure 280 中Namespace Multi-path I/O 和 Namespace Sharing Capabilities (NMIC) 字段。
1.5.55 spindown/降速
对于将数据存储在旋转介质上的 Endurance Group,将主轴从可操作的power state更改为不可操作的power state的过程(请参阅第 8.20 节)。
1.5.56 spinup/提速
对于与旋转介质相关的 Endurance Group,将主轴从不可操作的power state更改为可操作的power state的过程(请参阅第 8.20 节)。
1.5.57 static controller/静态控制器
控制器预先存在特定的 Controller ID,并且其状态(例如,Feature settings)在先前的关联中保留。
1.5.58 user data/用户数据
存储在命名空间中的数据,它由主机可以存储并稍后检索的数据组成,包括元数据(如果支持)。
1.6 I/O Command Set specific definitions used in the NVMe Base specification
本规范中使用的以下术语在每个 I/O Command Set 规范中定义。
1.6.1 Endurance Group Host Read Command
导致控制器读取 user data 的 I/O Command Set 特定命令,可能不会将数据返回到主机。
1.6.2 Format Index/格式索引
用于索引到 I/O Command Set Specific Format 表的值(即,User Data Format编号)。
1.6.3 SMART Data Units Read Command
导致控制器读取 user data 的 I/O Command Set 特定命令,可能不会将数据返回到主机。
1.6.4 SMART Host Read Command
导致控制器读取 user data 的 I/O Command Set 特定命令,可能不会将数据返回到主机。
1.6.5 User Data Format
描述 NVM 介质上数据布局的 I/O Command Set特定格式。
1.6.6 User Data Out Command
导致控制器写入用户数据的 I/O Command Set特定命令,可能不会将用户数据从主机传输到控制器。
1.7 NVM Command Set specific definitions used in this specification
本规范中使用的以下术语在 NVM Command Set 规范中定义。这些术语在整个文档中用作特定 I/O Command Set 的示例。
1.7.1 logical block/逻辑块
Read和Write命令的最小可寻址数据单元。
1.7.2 logical block address (LBA)/逻辑块地址
逻辑块的地址,通常称为 LBA。
————————————————
版权声明:本文为CSDN博主「BGONE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BGONE/article/details/123467570
NVME学习笔记杂谈—名词定义的更多相关文章
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...
- Struts2学习笔记 - Action篇<定义逻辑Action>
有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这文章就谈论一下定义逻辑Action 这里主要关注的是struts.xml配置文件,一般情 ...
- scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println(" ...
- iOS: 学习笔记, Swift运算符定义
Swift操作符可以自行定义, 只需要加上简单的标志符即可. @infix 中置运算. 如+,-,*,/运算 @prefix 前置运算. 如- @postfix 后置运算. a++, a-- @ass ...
- openrisc 之 Wishbone总线学习笔记——接口信号定义
这部分内容就是copy下来的,网上到处都有.先看看接口啥样子,在详细说明 接口定义copy http://blog.csdn.net/ce123/article/details/6929897.百度文 ...
- SVM学习笔记1-问题定义
问题定义: 给出一些样本,包含两类.svm试图找到一个超平面,将数据分开,并且每种样本到超平面的距离的最小值最大. 输入样本:$\{x_{i},y_{i}| 1\leq i\leq n \}$,$y_ ...
- GO学习笔记 - 变量在定义时没有明确的初始化时会赋值为“零值 ”。
官方教程:https://tour.go-zh.org/basics/12 变量在定义时没有明确的初始化时会赋值为 零值 . 零值是: 数值类型为 0 , 布尔类型为 false , 字符串为 &qu ...
- 【前端学习笔记】函数定义、函数调用、this
函数定义的三种方式与特点: 1.函数声明:(特点:会被前置:重复定义函数时,最后一次定义有效.) 2.函数表达式: 3.函数实例化:(特点:只能访问本地作用域与全局作用域!!!) /* 对象实例化定义 ...
- [Spring Data Repositories]学习笔记--定义自己的repository
有时,我们会需要用到自己定义的一些查询方法,可以按照下面几步进行. 1. 定义一个包含该方法的接口 Interface UserRepositoryCustom { public void someC ...
- iOS: 学习笔记, Swift操作符定义
Swift操作符能够自行定义, 仅仅须要加上简单的标志符就可以. @infix 中置运算. 如+,-,*,/运算 @prefix 前置运算. 如- @postfix 后置运算. a++, a-- @a ...
随机推荐
- C语言中的操作符:了解与实践
欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 操作符的分类 操作符又叫运算符,它在C语言中起着非常大的作用,以下是 ...
- Data truncated for column '字段名' at row 1 的解决方法
1.原因: 修改表结构 XXX 为 not null 时,表数据 XXX 字 段 存在 null 值. 2.解决: 去掉或修改 带有 null 值 的 ( 需要设置 not null 的) 字段
- Laravel - Eloquent 模型查询
Laravel 的 Eloquent ORM 提供了漂亮.简洁的 ActiveRecord 实现来和数据库进行交互.每个数据库表都有一个对应的「模型」可用来跟数据表进行交互.你可以通过模型查找数据表内 ...
- Go-插入排序
// InsertSort 插入排序 // 思路: // 1. 第一个元素默认是已经排好序的 // 2. 从第二个元素开始,依次比较前面一个元素中,如果小于则交换位置 // 插入排序思路: 将一个元素 ...
- [转帖]HTTP X-Forwarded-For 介绍
https://www.runoob.com/w3cnote/http-x-forwarded-for.html X-Forwarded-For 是一个 HTTP 扩展头部.HTTP/1.1(RFC ...
- [转帖]Day63_Kafka(一)
第一讲 Kafka基础操作 课程大纲 课程内容 学习效果 掌握目标 Kafka简介 消息队列 掌握 Kafka简介 Kafka分布式环境 Kafka操作 Kafka shell 掌握 Kafka ap ...
- [转帖]linux 磁盘队列深度nr_requests 和 queue_depth
linux 磁盘队列深度nr_requests 和 queue_depth nr_requests 和 queue_depth 修改配置值 nr_requests 和 queue_depth 区别 i ...
- Oracle存储过程的基本学习
Oracle存储过程的基本学习 摘要 这个简要学习应该会分为上下两部分 第一部分是存储过程的学习. 第二部分是python的学习. 核心目标是查询Oracle数据库中的主键数据. 如果有主键upper ...
- [转帖]Spring Cloud Alibaba Nacos 注册中心使用教程
一. 什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现(Nacos Discovery ).服务配置(Nacos Config)和服务管理平台,集注册中心+配置中心+服务管理于一身 ...
- 去除elementUI中tab组件中的下划线
<div class="right-tabbox-newnotice"> <el-tabs v-model="activeName" @tab ...