队列模型 - 📘 一、供应商特定仲裁机制(Vendor Specific Arbitration) (第119页)
继续深入分析 NVM Express® Base Specification, revision 2.0b 第 108 页,本页讨论了 供应商特定仲裁机制(Vendor Specific Arbitration) 和 控制器初始化(Controller Initialization) 的相关内容。
📘 一、供应商特定仲裁机制(Vendor Specific Arbitration)
✅ 供应商特定仲裁机制概述
- 定义:供应商可以选择实现自己特定的仲裁机制,这些机制不在 NVM Express 规范的范围内。也就是说,供应商可以根据自己的硬件需求或优化目标,设计不同于标准仲裁方法(如 加权轮询 或 轮询仲裁)的定制仲裁方案。
- 实施自由度:这种机制允许供应商为自己的产品定制优化的命令调度算法,以便在特定的硬件架构上实现更好的性能或效率。
📘 二、控制器初始化(Controller Initialization)
✅ 控制器初始化概述
控制器初始化是 NVM Express 系统启动的一个关键步骤,涉及到初始化过程中的各项配置和状态设置。规范提供了初始化控制器的一些推荐步骤。
✅ 内存基础传输控制器初始化流程
当控制器在特定的 NVMe Transport 绑定规范中完成了传输特定的初始化步骤后,主机应按以下顺序进行初始化控制器的操作,以便控制器能够开始执行命令:
-
等待重置完成:主机应等待控制器通过将 CSTS.RDY 设置为
0来指示任何先前的重置已完成。 -
配置管理队列(Admin Queue):
- 主机应配置 Admin Queue,具体操作包括设置 Admin Queue Attributes(AQA),Admin Submission Queue Base Address(ASQ) 和 Admin Completion Queue Base Address(ACQ) 为适当的值。这些配置决定了管理队列的大小和地址等基本参数。
✅ 初始化图示说明
在图示中,ASQ、SQ 和 RR 分别表示 Admin Submission Queue、提交队列 和 轮询仲裁(Round Robin)。这些队列被分配了不同的优先级级别,且有 高优先级(High Priority)、中优先级(Medium Priority) 和 低优先级(Low Priority)。控制器会根据这些优先级进行命令调度。
🧠 总结与核心要点
| 要素 | 说明 |
|---|---|
| 供应商特定仲裁机制 | 供应商可以实现定制的仲裁机制,以优化硬件性能和处理效率。 |
| 控制器初始化流程 | 控制器初始化包括等待重置完成、配置管理队列等步骤,确保控制器能够正常开始执行命令。 |
| 队列配置 | 控制器使用 Admin Queue 来进行管理操作的调度,设置适当的 AQA、ASQ 和 ACQ 参数。 |
这些内容帮助我们理解 NVM Express 控制器的初始化 过程和 供应商特定仲裁机制 的灵活性,进一步优化了硬件的性能和资源利用率。
如果你有关于控制器初始化过程或定制仲裁机制的疑问,随时告诉我!