
NVMe
文章平均质量分 94
R&D 不 coding
吾日三省吾身
展开
-
NVMe 不同结构层级
本文大致讲解了 NVMe 的不同结构层级,如 NVM subsystems、Domains、Endurance Groups、NVM Sets、Namespaces 等,以及相互之间的关系。原创 2025-04-28 19:38:30 · 774 阅读 · 0 评论 -
NVMe Namespace
Namespace,命名空间,格式化后的非易失性内存空间,可由 host 直接访问。NSID,namesspace ID,是 controller 提供的标识符,用于对命名空间的访问,在一般命令中都需要填入该字段。原创 2025-04-27 20:20:12 · 708 阅读 · 0 评论 -
NVMe SGL
SGL,Scatter Gather List,分散聚集列表,一种 NVMe 规定的数据结构,用于描述数据缓冲区,在数据传输过程中起着关键作用。消费级 SSD 一般都不支持,企业级 SSD 一般都会支持。NVMe over Fabrics中,要求所有 commands(Fabrics,Admin,I/O)都用 SGL。NVMe over PCIe中,则 I/O cmd 支持 SGL 和 PRP,Admin cmd 只支持 PRP。原创 2025-04-07 20:19:56 · 696 阅读 · 0 评论 -
NMVe Format NVM command
A low level format 可以破坏所有 namespaces ,也可以仅破坏指定 namespace,破坏其中的 all data and metadata。该命令执行成功后,controller 不能返回任何在先前 namespace 中的 user data。原创 2025-02-11 20:12:00 · 809 阅读 · 0 评论 -
NVMe HMB
HMB,全称 Host Memory Buffer。简单来说,就是 NMVe 协议提供了一种可选机制让 host 可以分配一部分内存给 SSD 控制器独自使用。当然,host 可能无法提供任何 HMB 或只能提供一小部分 HMB。但 SSD 要能包容这种情况,即使没有 HMB 也要能正常工作。因为协议规定 HMB 也只是一个可选项,SSD 并非必须支持。可以这么说,HMB 算是一种锦上添花的机制,但当前 HMB 已经得到广泛的应用。原创 2024-11-28 19:39:12 · 1345 阅读 · 0 评论 -
NVMe Reset
NVMe中有3种复位机制:NVM Subsystem Reset、Controller Level Reset、Queue Level Reset本文主要参考协议规范 NVMe 1.4 版本。原创 2024-11-20 16:47:19 · 1235 阅读 · 0 评论 -
NVMe PRP
PRP,Physical Region Page,物理区域页,本质是一个 64 位内存物理地址。A PRP entry 是一个指向 physical memory page 的指针。PRPs 是一个用于 controller 和 host memory 之间数据传输的分散/收集机制,可实现高效的无序数据传输。简单来说,PRP 就是一种寻址方式,告诉 SSD 去哪里取数据。同时也是 NVMe 规定的数据结构之一,约定了一种 controller 和 host 都能读懂的 data layout。原创 2024-11-19 09:21:18 · 628 阅读 · 0 评论