- 博客(11)
- 收藏
- 关注
原创 戏说 NVMe FDP
FDP(Flexible Data Placement,灵活数据放置),是 NVMe 2.1 标准(2024 年发布)中引入的一项新技术,也是一个可选功能,核心目标是降低 SSD 的写放大(WAF)。
2025-06-06 21:21:05
1007
原创 NVMe Create IO Queue
本文主要讲一下 Create IO Queue (包含 CQ 和 SQ),会提及所有相关配置。内容不能说百分百齐全吧,但应该也到了百分九十九的程度。
2025-05-19 17:52:10
617
原创 NVMe 不同结构层级
本文大致讲解了 NVMe 的不同结构层级,如 NVM subsystems、Domains、Endurance Groups、NVM Sets、Namespaces 等,以及相互之间的关系。
2025-04-28 19:38:30
838
原创 NVMe Namespace
Namespace,命名空间,格式化后的非易失性内存空间,可由 host 直接访问。NSID,namesspace ID,是 controller 提供的标识符,用于对命名空间的访问,在一般命令中都需要填入该字段。
2025-04-27 20:20:12
843
原创 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
775
原创 NMVe Format NVM command
A low level format 可以破坏所有 namespaces ,也可以仅破坏指定 namespace,破坏其中的 all data and metadata。该命令执行成功后,controller 不能返回任何在先前 namespace 中的 user data。
2025-02-11 20:12:00
1435
原创 NVMe HMB
HMB,全称 Host Memory Buffer。简单来说,就是 NMVe 协议提供了一种可选机制让 host 可以分配一部分内存给 SSD 控制器独自使用。当然,host 可能无法提供任何 HMB 或只能提供一小部分 HMB。但 SSD 要能包容这种情况,即使没有 HMB 也要能正常工作。因为协议规定 HMB 也只是一个可选项,SSD 并非必须支持。可以这么说,HMB 算是一种锦上添花的机制,但当前 HMB 已经得到广泛的应用。
2024-11-28 19:39:12
1549
原创 PCIe Sticky
PCIe 中的 Sticky 算是一种寄存器类型,也可以说成一种寄存器属性。它包括了 Bit-Field Types(也可以说 Register Attribute) 为 ROS(Sticky - Read-only)、RWS(Sticky - Read-Write)、RW1CS(Sticky - Write-1-to-clear status)的寄存器。Sticky 寄存器在复位后仍能保持先前的错误状态,这对于固件及上层应用程序而言具有显著的价值。
2024-11-21 19:51:49
1133
原创 NVMe Reset
NVMe中有3种复位机制:NVM Subsystem Reset、Controller Level Reset、Queue Level Reset本文主要参考协议规范 NVMe 1.4 版本。
2024-11-20 16:47:19
1366
原创 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
793
原创 PCIe Reset
PCIe 中有4种复位机制:Cold Reset(冷复位)、Warm Reset(暖复位)、Hot Reset(热复位)、FLR(Function Level Reset,功能级复位)。前3种被称为 Conventional Reset(传统复位)。其中 Cold Reset、Warm Reset 基于边带信号 PERST#,又称为Fundamental Resets(基本复位)。Hot Reset 不使用边带信号 PERST#,又成为 Non-Fundamental Reset。
2024-11-14 21:30:00
2027
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人