NVM子系统架构 - Discovery Controller 支持的命令(第3.1.2.3.2节) (第54页)
在《NVM Express® Base Specification, revision 2.0b》中的 Discovery Controller(第3.1.2.3节),其主要功能是提供与 Discovery Log Page 相关的操作和命令,支持 NVM 子系统的发现,而不涉及 I/O 队列和数据存取。
Discovery Controller 支持的命令(第3.1.2.3.2节)
Discovery 控制器的命令支持集中在以下几个方面:
- Get Log Page
-
命令支持要求:必须支持(Mandatory)。
该命令用于读取日志页面,尤其是 Discovery Log Page,对于启动和初始化 Discovery 控制器至关重要。 -
Identify
-
命令支持要求:必须支持(Mandatory)。
通过该命令,主机可以查询 Discovery 控制器的详细信息,例如控制器的特性和能力。 -
Asynchronous Event Request
-
命令支持要求:可选(Optional)。
该命令允许主机请求异步事件通知,只有在 Discovery 控制器支持持久连接时,此命令才是必需的。 -
Connect
-
命令支持要求:必须支持(Mandatory)。
该命令用于主机连接到 Discovery 控制器,建立连接后,主机可以获取 Discovery Log Page。 -
Property Get 和 Property Set
-
命令支持要求:必须支持(Mandatory)。
这些命令允许主机获取或设置与 Discovery 控制器相关的属性。 -
Disconnect
- 命令支持要求:禁止(Prohibited)。
Discovery 控制器不支持Disconnect
命令,因为该控制器不支持 I/O 队列,因此不能执行断开连接操作。
Discovery Controller 支持的日志页面(第3.1.2.3.3节)
Discovery 控制器支持读取 Discovery Log Page。以下是 Discovery 控制器可能支持的日志页面:
- Supported Log Pages
-
命令支持要求:必须支持(Mandatory)。
Discovery Log Page 本身是 Discovery 控制器的一个核心功能,主机可以通过读取该页面获得可访问的 NVM 子系统的信息。 -
Error Information
-
命令支持要求:可选(Optional)。
包含有关错误信息的日志页面。 -
SMART / Health Information (Controller scope)
-
命令支持要求:禁止(Prohibited)。
由于 Discovery 控制器不直接处理 I/O 操作,因此不支持此类健康信息的日志。 -
SMART / Health Information (Namespace scope)
-
命令支持要求:禁止(Prohibited)。
同样,作为一个只负责发现的控制器,Discovery 控制器不涉及命名空间的健康信息。 -
Firmware Slot Information
- 命令支持要求:可选(Optional)。
此日志页面提供与固件槽相关的信息,但对于 Discovery 控制器来说并非强制要求。
总结
Discovery 控制器主要用于 NVM 子系统的发现功能,它不处理实际的 I/O 操作或数据存取。其支持的命令和日志页面主要与系统的发现和管理相关,且在功能上有所限制。Discovery 控制器不支持 I/O 提交队列
和 I/O 完成队列
,并且不允许进行数据传输操作。因此,主机在与 Discovery 控制器交互时,主要关注与 NVM 子系统发现、路径选择和控制器管理相关的操作。