队列模型 - 📘 一、供应商特定仲裁机制(Vendor Specific Arbitration) (第119页)
NVME2.0协议解读 1 min read

队列模型 - 📘 一、供应商特定仲裁机制(Vendor Specific Arbitration) (第119页)

Blog Author

继续深入分析 NVM Express® Base Specification, revision 2.0b 第 108 页,本页讨论了 供应商特定仲裁机制(Vendor Specific Arbitration)控制器初始化(Controller Initialization) 的相关内容。


📘 一、供应商特定仲裁机制(Vendor Specific Arbitration)

供应商特定仲裁机制概述

  • 定义:供应商可以选择实现自己特定的仲裁机制,这些机制不在 NVM Express 规范的范围内。也就是说,供应商可以根据自己的硬件需求或优化目标,设计不同于标准仲裁方法(如 加权轮询轮询仲裁)的定制仲裁方案。
  • 实施自由度:这种机制允许供应商为自己的产品定制优化的命令调度算法,以便在特定的硬件架构上实现更好的性能或效率。

📘 二、控制器初始化(Controller Initialization)

控制器初始化概述

控制器初始化是 NVM Express 系统启动的一个关键步骤,涉及到初始化过程中的各项配置和状态设置。规范提供了初始化控制器的一些推荐步骤。


内存基础传输控制器初始化流程

当控制器在特定的 NVMe Transport 绑定规范中完成了传输特定的初始化步骤后,主机应按以下顺序进行初始化控制器的操作,以便控制器能够开始执行命令:

  1. 等待重置完成:主机应等待控制器通过将 CSTS.RDY 设置为 0 来指示任何先前的重置已完成。

  2. 配置管理队列(Admin Queue)

  3. 主机应配置 Admin Queue,具体操作包括设置 Admin Queue Attributes(AQA)Admin Submission Queue Base Address(ASQ)Admin Completion Queue Base Address(ACQ) 为适当的值。这些配置决定了管理队列的大小和地址等基本参数。

初始化图示说明

在图示中,ASQ、SQRR 分别表示 Admin Submission Queue提交队列轮询仲裁(Round Robin)。这些队列被分配了不同的优先级级别,且有 高优先级(High Priority)中优先级(Medium Priority)低优先级(Low Priority)。控制器会根据这些优先级进行命令调度。


🧠 总结与核心要点

要素 说明
供应商特定仲裁机制 供应商可以实现定制的仲裁机制,以优化硬件性能和处理效率。
控制器初始化流程 控制器初始化包括等待重置完成、配置管理队列等步骤,确保控制器能够正常开始执行命令。
队列配置 控制器使用 Admin Queue 来进行管理操作的调度,设置适当的 AQA、ASQACQ 参数。

这些内容帮助我们理解 NVM Express 控制器的初始化 过程和 供应商特定仲裁机制 的灵活性,进一步优化了硬件的性能和资源利用率。

如果你有关于控制器初始化过程或定制仲裁机制的疑问,随时告诉我!