目录结构、章节导航与规范组织 (第2页)
以下是对 NVM Express® Base Specification Revision 2.0b 的目录结构的中文解读(第 iii 页 Table of Contents),并辅以深入理解说明,便于系统性学习和掌握 NVMe 协议核心内容。
第1章:引言(INTRODUCTION)
-
1.1 总览
介绍 NVMe 协议的整体架构、目标和设计理念,如高性能、低延迟。 -
1.2 范围
明确该规范涵盖的内容,例如命令集、控制器行为、存储模型等。 -
1.3 不在本规范范围内的内容
排除项,例如具体设备实现方式、操作系统驱动层行为。 -
1.4 约定
定义文档中使用的术语书写格式、数值表示法、位序等(如大小端格式、保留位处理等)。 -
1.5 定义
所有技术术语的标准定义,比如“Namespace”、“Controller”等,确保阅读时的一致性理解。 -
1.6 I/O 命令集特定定义
专门针对 I/O 命令集的一些术语定义,例如读写命令使用的特定字段说明。 -
1.7 NVM 命令集特定定义
补充说明面向非易失性内存的命令集术语。 -
1.8 参考文献
本规范引用的所有相关技术标准(如 PCIe 规范、IEEE 等)。 -
1.9 正在制定中的参考标准
尚未正式发布但对未来 NVMe 演进重要的标准草案。
第2章:操作理论(THEORY OF OPERATION)
-
2.1 基于内存的传输模型
NVMe 如何通过内存映射(MMIO)与主机交互(比如 doorbell 寄存器、共享内存 buffer)。 -
2.2 基于消息的传输模型
针对如 NVMe-oF、NVMe-MI 等情况下通过消息通道进行命令通信的机制。 -
2.3 NVM 存储模型
描述命名空间(Namespace)、LBA、元数据、扇区对齐等核心概念。 -
2.4 扩展能力理论
NVMe 的能力通过 Feature、Log Page、Vendor Specific 等方式进行扩展和增强。
第3章:NVMe 架构(NVM EXPRESS ARCHITECTURE)
-
3.1 控制器架构
重点内容!涉及 Admin Queue、I/O Queue、寄存器空间、功能模块等详细说明。 -
3.2 子系统实体
如 NVM Subsystem、Controller、Namespace 之间的关系,单端口、多端口架构等。 -
3.3 队列模型
提交/完成队列的深度、关联、Doorbell 和 Event机制等,核心性能机制。 -
3.4 命令提交与完成机制
命令生命周期:主机构造命令 → 提交队列 → 控制器处理 → 完成队列 → 主机回收。 -
3.5 控制器初始化
上电流程、控制器识别、自检机制、Queue 创建流程等。 -
3.6 关机处理流程
正常关机下的命令流程、数据刷新机制。 -
3.7 重置处理机制
控制器软/硬件重置的作用范围、行为和寄存器状态恢复机制。 -
3.8 容量模型
Namespace 容量如何管理,Thin Provisioning、保留空间等策略。 -
3.9 Keep Alive 机制
控制器闲置时如何维持连接存活,主机定期发送 Keep Alive 命令。 -
3.10 特权操作
仅超级用户可执行的命令或操作,如低级别调试、关键配置变更。 -
3.11 固件更新流程
包括 Download、Commit 两个阶段,涉及安全性校验与控制器重启。
第4章:数据结构(DATA STRUCTURES)
-
4.1 数据布局
所有命令、响应结构体格式,包括字段长度、偏移、保留位等。 -
4.2 Feature 值定义
各类 Feature ID 所代表的功能,及其启用/禁用、参数设置方式。 -
4.3 标识符格式(信息性)
用于设备唯一识别的标识符(如 UUID、NGUID、EUI64 等)及其组合方式。 -
4.4 列表类结构
常见的结构,如识别命令返回的多条记录、日志页记录等列表结构的构造方式。 -
4.5 NVMe 合格名称
类似 iSCSI 的 Qualified Name,用于网络发现或唯一识别(例如 NVMe-oF 环境下)。
第5章:管理命令集(ADMIN COMMAND SET)
- 包括所有非 I/O 类控制命令,例如:
- 5.1 Abort:中止已提交未完成的命令。
- 5.2 AER:注册异步事件通知(如温度警告、电源异常)。
- 5.3 容量管理:调整命名空间大小、空间分配等。
- 5.4 ~ 5.7 队列操作命令:创建/删除 Submission 和 Completion Queue。
- 5.8 Doorbell Buffer 配置:优化 Doorbell 寄存器写入机制。
- 5.9 自检命令:控制器健康状况检测。
- 5.10~5.11 指令接收/发送(Directive):增强命令机制。
- 5.12~5.13 固件下载/提交命令。
- 5.14 Format NVM:安全擦除和初始化命名空间。
如果你需要我逐章翻译或分析某一小节的内容,比如深入分析 3.1 Controller Architecture 或 5.14 Format NVM 命令结构,可以直接告诉我,我可以配合示意图或字段逐个解释。是否想继续深入哪一章内容?