嵌入式NVMe固件架构设计
📚 30章完整版
v2.4
01
NVMe协议概述
发展历史 · 相比AHCI优势
数据中心 & 消费级应用场景
02
NVMe命令集详解
Admin/IO命令集 · SQ/CQ机制
Doorbell寄存器作用
03
PCIe基础与NVMe映射
PCIe拓扑 · BAR空间映射
MSI-X中断 · AER交互
04
NVMe队列管理
队列创建/删除 · 深度与性能
仲裁机制 RR/WRR/Vendor
05
NVMe数据路径
PRP/SGL详解 · DMA流程
元数据与端到端保护
06
NVMe电源管理
电源状态(PS) · APST
运行时D3 · 系统级休眠
07
NVMe错误处理
错误日志 · 恢复流程
端到端数据保护 DIF/DIX
08
NVMe安全与认证
TCG Opal · Sanitize操作
认证命令
09
NVMe over Fabrics
NVMe-oF架构 · RDMA/TCP
发现服务
10
NVMe虚拟化
SR-IOV · 多命名空间管理
PF与VF
11
固件架构概述
分层模型 HAL/FTL/协议层
RTOS选型
12
硬件抽象层(HAL)设计
寄存器读写抽象 · 中断封装
定时器与GPIO管理
13
NVMe协议层实现
命令解析分发 · 队列管理
Completion生成逻辑
14
闪存转换层(FTL)核心
逻辑到物理映射 · GC
磨损均衡(WL)
15
FTL高级特性
写/读缓存管理 · 后台刷新
数据保持(Data Retention)
16
NAND Flash接口驱动
ONFI/Toggle适配 · 多通道交错
ECC引擎集成
17
DMA引擎与数据搬运
内部DMA编程 · SG列表
带宽优化策略
18
中断与事件驱动架构
中断向量分配 · ISR设计
任务优先级反转处理
19
固件启动流程
Boot ROM · 二级Bootloader
签名验证 · 运行时初始化
20
固件热升级
双镜像(A/B)升级 · 回滚
在线升级原子性保证
21
调试与日志系统
JTAG/SWD调试 · Trace机制
Crash Dump分析
22
性能调优
IOPS与延迟优化 · CPU亲和性
NUMA感知设计
23
功耗优化
动态频率调整 · 空闲管理
低功耗队列调度
24
NVMe-MI管理接口
带外管理协议 · 温度监控
固件管理命令
25
合规性与认证
NVMe Integrators List
PCIe Compliance · WHLK
26
ZNS (分区命名空间)
ZNS原理 · 顺序写入约束
Zone Append命令实现
27
KV存储与NVMe
Key-Value命令集 · LSM-Tree
KV与FTL协同
28
计算存储
可计算存储框架 · AI推理
近存储计算
29
多核异构架构
Cortex-R/A协同 · 硬件加速
核间通信(IPC)
30
未来趋势
CXL内存语义 · OpenSSD
NVMe 3.0与下一代协议