控制器寄存器与属性配置 - 第63页
NVME2.0协议解读 1 min read

控制器寄存器与属性配置 - 第63页

Blog Author

继续深入分析协议内容:NVM Express® Base Specification, revision 2.0b

3.1.3.2.5 VS Value for 1.3 Compliant Controllers

版本号字段继续描述控制器遵循的NVM Express版本。具体来说,1.3版本兼容控制器VS值如下:

  • 主版本号(MJR):1
  • 次版本号(MNR):3
  • 三级版本号(TER):0

总结:该字段标明控制器支持NVM Express 1.3规范。

3.1.3.2.6 VS Value for 1.4 Compliant Controllers

  • 主版本号(MJR):1
  • 次版本号(MNR):4
  • 三级版本号(TER):0

总结:该字段标明控制器支持NVM Express 1.4规范。

3.1.3.2.7 VS Value for 2.0 Compliant Controllers

  • 主版本号(MJR):2
  • 次版本号(MNR):0
  • 三级版本号(TER):0

总结:该字段标明控制器支持NVM Express 2.0规范。

3.1.3.3 INTMS – Interrupt Mask Set(中断掩码设置)

INTMS属性用于在使用基于引脚的中断、单个消息MSI或多个消息MSI时掩盖中断。当使用MSI-X时,应使用MSI-X中定义的中断掩码表来掩盖中断。INTMS字段在控制器中有以下内容:

类型 重置值 描述
31:00 RWS 0h Interrupt Vector Mask Set (IVMS):此字段是按位重要的。如果将‘1’写入某个位,则对应的中断向量被掩蔽,不再触发中断。写入‘0’则没有影响。当读取时,此字段返回控制器中当前的中断掩码值。

字段解析

  • Interrupt Vector Mask Set (IVMS):这是一个按位设置的掩码,如果将某一位设置为1,则该对应的中断向量会被掩蔽,无法触发中断。写入0则不改变当前状态。

注意事项

  • MSI-X配置下,INTMS字段不适用,应该使用MSI-X的中断掩码表。

3.1.3.4 INTMC – Interrupt Mask Clear(中断掩码清除)

INTMC属性用于取消掩蔽中断,类似于INTMS,但操作是解除中断的掩蔽。与INTMS类似,当使用MSI-X时,应使用MSI-X中定义的中断掩码表来解除掩蔽。

  • INTMC字段通常与INTMS字段互相关联,目的是提供对中断掩蔽和解除掩蔽的灵活控制。

总结

这些属性字段为主机提供了控制器在中断管理和版本管理方面的详细信息。通过INTMSINTMC,主机可以动态地调整控制器的中断行为,确保数据处理的时效性和可靠性。控制器版本号字段为主机提供了明确的版本支持信息,确保了兼容性。

这些协议细节为NVM Express标准的实现提供了高度灵活性,同时也确保了性能优化和故障处理的能力。