PCIe热插拔 & NVMe实战
30章
完整目录 · 点击跳转
01
PCIe基础概念
总线架构、拓扑结构、分层协议(事务层、数据链路层、物理层)
02
PCIe配置空间
配置空间结构 (Type0/Type1)、Capability链表、BAR空间解析
03
PCIe枚举过程
总线号分配、设备扫描、资源分配 (MMIO、IO、中断)
04
PCIe热插拔原理
热插拔控制器 (SHPC)、标准热插拔 (SHPC vs ACPI)、事件流程
05
Linux PCIe热插拔驱动
pciehp驱动架构、中断处理、状态机迁移
06
NVMe协议基础
NVMe寄存器集、提交队列与完成队列、SQ/CQ机制
07
NVMe Admin命令集
Identify、Create IO SQ/CQ、Get Log Page
08
NVMe IO命令集
Read/Write、Flush、Dataset Management
09
Linux NVMe驱动架构
nvme.ko、nvme-core、nvme-pci分层
10
NVMe热插拔场景
物理热插拔、Surprise Removal、Graceful Removal
11
热插拔中断处理
MSI/MSI-X配置、热插拔事件上报、中断线程化
12
设备状态管理
D0/D3hot/D3cold电源状态、设备移除时的状态迁移
13
NVMe队列管理
队列创建/销毁、队列深度调整、中断亲和性
14
IO路径与热插拔
IO提交路径、热插拔时的IO冻结与恢复
15
错误处理与恢复
PCIe错误 (AER)、NVMe错误 (CQ错误条目)、热插拔异常处理
16
用户态热插拔管理
sysfs接口、udev规则、nvme-cli工具
17
VMD (Volume Management Device)
Intel VMD架构、VMD热插拔支持
18
SR-IOV与热插拔
VF热插拔、PF与VF关系、VF迁移场景
19
多路径与热插拔
NVMe多路径 (ANATT、ANA)、路径切换与故障转移
20
固件升级与热插拔
NVMe固件升级流程、热插拔对固件升级的影响
21
性能调优
队列深度优化、中断合并、轮询模式 (Polling)
22
调试与诊断
lspci、nvme list、dmesg日志分析、tracepoint
23
内核调试技巧
PCIe热插拔调试fs、NVMe调试fs、动态调试
24
ACPI与热插拔
ACPI _EJ0、_STA、_OSC方法、ACPI热插拔事件
25
UEFI与热插拔
UEFI PCIe协议、UEFI驱动对热插拔的支持
26
虚拟化环境热插拔
QEMU/KVM PCIe直通、热插拔虚拟机设备
27
容器环境NVMe管理
NVMe over TCP、RDMA、容器内热插拔
28
数据中心热插拔实践
大规模NVMe阵列管理、热插拔可靠性设计
29
安全与热插拔
DMA重映射 (IOMMU)、设备隔离、热插拔安全风险
30
未来趋势
CXL协议与热插拔、NVMe over Fabrics热插拔、开放标准进展