包含指令狀態的相關資訊。
此結構用於NVME_COMPLETION_ENTRY的「狀態」欄位和NVME_ERROR_INFO_LOG的「狀態」欄位中,以指示已完成的命令的狀態。
語法
typedef union {
struct {
USHORT P : 1;
USHORT SC : 8;
USHORT SCT : 3;
USHORT Reserved : 2;
USHORT M : 1;
USHORT DNR : 1;
} DUMMYSTRUCTNAME;
USHORT AsUshort;
} NVME_COMMAND_STATUS, *PNVME_COMMAND_STATUS;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.P
指出「完成佇列」項目是否為新項目。
在將NVME_CONTROLLER_CONFIGURATION的EN欄位設定為1之前,主機軟體應將所有完成佇列條目的階段標籤(P)值初始化為「0」。
當控制器將條目放入完成隊列中時,它將反轉相位標籤,使主機軟件能夠識別新條目。 具體而言,對於 EN 設定 1為 之後的第一組完成佇列項目,所有階段標籤都會設定為 1 張貼時。 對於第二組完成佇列項目,當控制器環繞到完成佇列的頂端時,所有階段標籤都會在張貼時清除。0 階段標籤的值會在每次通過完成佇列時反轉。
DUMMYSTRUCTNAME.SC
指出狀態碼,識別命令的任何錯誤或狀態資訊。
DUMMYSTRUCTNAME.SCT
NVME_STATUS_TYPES值,指出控制器傳回的狀態類型。
DUMMYSTRUCTNAME.Reserved
DUMMYSTRUCTNAME.M
指出命令是否有其他狀態資訊。
當此值設為 1時,此指令會有更多狀態資訊,作為 「錯誤資訊」日誌 的一部分,可以使用「取得日誌頁」指令擷取。
當此值清除為 0時,此指令沒有其他狀態資訊。
DUMMYSTRUCTNAME.DNR
指出命令在重新提交時是否會成功。
當此值設為 1時,表示如果重新提交相同的指令,則預期會失敗。
當此值清除為 0時,表示如果重試,相同的命令可能會成功。
如果指令因限時錯誤回復而中止,則應清除此欄位為 0。 如果已清除 0hSCT 和 SC 欄位,則此欄位應清除至 0。
AsUshort
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 10 |
| Header | nvme.h |