NVME_CONTROLLER_STATUS union (nvme.h)
包含指出控制器狀態的值。
這個結構用於NVME_CONTROLLER_REGISTERS 結構的 CSTS 欄位中。
語法
typedef union {
struct {
ULONG RDY : 1;
ULONG CFS : 1;
ULONG SHST : 2;
ULONG NSSRO : 1;
ULONG PP : 1;
ULONG Reserved0 : 26;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CONTROLLER_STATUS, *PNVME_CONTROLLER_STATUS;
成員
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.RDY
指出控制器是否已準備好接受 提交佇列 Tail doorbell 寫入。
當此值設定為 1
時,控制器已準備好接受控制器組態1
中 EN 字段之後的提交佇列 Tail doorbell 寫入。
當 EN 清除為 時,這個值會清除0
為 。0
在 EN** 設定1
1
為 之後,無法將命令提交至控制器。 無法遵循此需求會產生未定義的結果。
主機軟體必須至少等候控制器功能1
中的逾時 TO 值,才能在 EN 設定為之前的值0
設定為 之後設定為 1
。
DUMMYSTRUCTNAME.CFS
指出是否已發生嚴重控制器錯誤。
當此值設定為 1
時,發生嚴重控制器錯誤,無法在適當的完成佇列中通訊。
清除這個值 0
時,不會發生嚴重控制器錯誤。
此欄位的重設值是在 1
控制器初始化期間偵測到嚴重控制器錯誤時。
DUMMYSTRUCTNAME.SHST
指出關機處理狀態 的NVME_CSTS_SHST_SHUTDOWN_STATUS 值。 關機處理是由主機設定控制器組態的SHN欄位所起始。
若要在關閉作業之後開始在控制器上執行命令, (這個值設定為 NVME_CSTS_SHST_SHUTDOWN_COMPLETED) 時,需要控制器重設,將控制器組態的 EN 字段設定為 0
。 如果主機軟體在未發出重設的情況下將命令提交至控制器,則行為未定義。
DUMMYSTRUCTNAME.NSSRO
指出電源套用至 NVM 子系統時發生最後一個 NVM 子系統重設。
當此值設定為 1
時,當電源套用至 NVM 子系統時,會發生最後一次發生 NVM 子系統重設。
此欄位的初始值會 0
遵循 NVM 子系統重設,因為將電源應用至 NVM 子系統。 只有當控制器支援 NVM 子系統重設功能時,此欄位才有效,由設定1
為的控制器功能的NSSRS 字段表示。
如果 NVM 子系統重設會導致開啟新的韌體映像,則此欄位 0
的重設值是 。
DUMMYSTRUCTNAME.PP
指出控制器是否正在處理命令。
當這個值清除為 0
時,控制器通常會處理命令。 當此值設定為 1
時,控制器已暫時停止處理命令,以處理事件,例如韌體啟用。
只有當控制器組態的 EN 字段設定為 1
時,此欄位才有效。
DUMMYSTRUCTNAME.Reserved0
AsUlong
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |