大数跨境
0
0

NVME的admin指令

NVME的admin指令 至芯
2025-12-01
0
NVMe Admin 指令是管理 NVMe 设备的核心指令集,通过专属 Admin 队列执行,负责设备全生命周期的配置、监控、维护等操作,不直接处理用户 I/O,优先级高于 I/O 指令。

PART 01


核心定位与特性


  • 依赖 1 对 Admin 队列(ASQ 提交队列 + ACQ 完成队列),与 I/O 队列严格分离,避免相互干扰。
  • 涵盖设备初始化、配置管理、状态查询、固件更新、安全操作等核心管理场景。
  • 支持无数据传输、主机到控制器、控制器到主机、双向传输四种模式,仅通过 PRP 机制指定物理地址。
  • 执行优先级最高,不受 I/O 队列状态影响,确保管理操作实时性。

PART 02


核心指令分类及功能


1. 设备基础管理指令
  • 获取设备核心信息,包括厂商、固件版本、支持特性、命名空间配置等,是设备枚举和兼容性检测的核心指令。
  • 读取设备日志,涵盖错误日志、SMART 健康日志、性能统计日志等,用于故障排查和状态监控。
  • 配置设备特性参数,如电源管理策略、中断模式、命名空间属性等,支持功能定制化。
  • 查询已配置的特性参数,验证配置是否生效。
2. I/O 队列管理指令
  • 创建 I/O 提交队列,指定队列 ID、深度等参数,为数据读写准备资源。
  • 创建 I/O 完成队列,与提交队列绑定,用于接收 I/O 执行结果。
  • 删除无用的 I/O 提交队列,释放系统资源。
  • 删除对应的 I/O 完成队列,清理关联资源。
3. 命名空间管理指令
  • 创建命名空间(逻辑存储单元,类似分区),指定容量、格式化参数等。
  • 删除指定 ID 的命名空间,释放存储资源。
  • 将命名空间关联到控制器,使其可被访问。
  • 解除命名空间与控制器的关联,实现资源隔离。
4. 固件与安全管理指令
  • 分块下载固件镜像到设备,为升级做准备。
  • 提交已下载的固件,使其生效完成升级。
  • 发送安全指令,如配置加密密钥、启动安全擦除等。
  • 接收安全操作结果,验证配置有效性或擦除进度。
  • 彻底清除设备数据,包括用户数据、元数据和密钥,适用于设备退役场景。
5. 其他关键指令
  • 终止指定 ID 的 Admin 或 I/O 指令,处理超时或异常操作。
  • 重置控制器,恢复默认配置并清理队列资源,用于故障恢复。
  • 注册异步事件通知,实时接收设备故障、温度告警等状态变化。

PART 03


指令执行流程


  1. 主机构造 64 字节指令(含 opcode、参数、数据地址等),写入 Admin 提交队列(ASQ)。
  2. 主机更新队列尾指针,通过门铃通知控制器读取指令。
  3. 控制器解析指令并执行对应操作(如查询设备信息、创建队列)。
  4. 执行完成后,控制器将 16 字节结果(状态码 + 返回数据)写入 Admin 完成队列(ACQ)。
  5. 控制器通过中断或轮询通知主机,主机读取结果并处理。
🌻亲爱的读者们,今天的分享就到这里啦!如果今天的内容对你有启发
记得点亮右下角的“❤️”或转发给需要的朋友,让温暖传递的更远!
生活或许没有标准答案,但每一次【分享】和【点赞】,都是我们相遇的印记。你最近有哪些感悟或故事?欢迎留言区聊一聊~~~
你的认可,是我们深夜码字的充电桩🔋
明天见!保持好奇,永远鲜活~
🔍关注我们,不错过每一次相遇图片图片图片
扫码领取免费学习资料~~~
图片

往期精彩部分
就业寒冬 拿到5个offer 至芯学生用真本领拿牛offer
PCIE的MSI-X中断
PCIe的MSI中断机制
PCIE的复位机制
PCIe链路初始化与训练
PCIe的路由方式
PCIe协议中Type0与Type1的区别
PCIe协议中,RC如何配置中断

【声明】内容源于网络
0
0
至芯
至芯科技关于FPGA信息的交流平台
内容 392
粉丝 0
至芯 至芯科技关于FPGA信息的交流平台
总阅读2
粉丝0
内容392