NVME_STATUS_COMMAND_SPECIFIC_CODES列舉 (nvme.h)
包含值,指出特定命令特有的狀態。
這些狀態代碼屬於 NVME_STATUS_TYPE_COMMAND_SPECIFIC狀態代碼類型,並在命令完成時,由控制器在 完成佇列 專案中張貼。
語法
typedef enum {
NVME_STATUS_COMPLETION_QUEUE_INVALID,
NVME_STATUS_INVALID_QUEUE_IDENTIFIER,
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED,
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED,
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED,
NVME_STATUS_INVALID_FIRMWARE_SLOT,
NVME_STATUS_INVALID_FIRMWARE_IMAGE,
NVME_STATUS_INVALID_INTERRUPT_VECTOR,
NVME_STATUS_INVALID_LOG_PAGE,
NVME_STATUS_INVALID_FORMAT,
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET,
NVME_STATUS_INVALID_QUEUE_DELETION,
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE,
NVME_STATUS_FEATURE_NOT_CHANGEABLE,
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC,
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET,
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET,
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION,
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED,
NVME_STATUS_OVERLAPPING_RANGE,
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY,
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE,
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED,
NVME_STATUS_NAMESPACE_IS_PRIVATE,
NVME_STATUS_NAMESPACE_NOT_ATTACHED,
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED,
NVME_STATUS_CONTROLLER_LIST_INVALID,
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS,
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED,
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER,
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE,
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES,
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER,
NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY,
NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER,
NVME_STATUS_ANA_ATTACH_FAILED,
NVME_IO_COMMAND_SET_NOT_SUPPORTED,
NVME_IO_COMMAND_SET_NOT_ENABLED,
NVME_IO_COMMAND_SET_COMBINATION_REJECTED,
NVME_IO_COMMAND_SET_INVALID,
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED,
NVME_STATUS_ZONE_INVALID_FORMAT,
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES,
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION,
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE,
NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED,
NVME_STATUS_ZONE_BOUNDARY_ERROR,
NVME_STATUS_ZONE_FULL,
NVME_STATUS_ZONE_READ_ONLY,
NVME_STATUS_ZONE_OFFLINE,
NVME_STATUS_ZONE_INVALID_WRITE,
NVME_STATUS_ZONE_TOO_MANY_ACTIVE,
NVME_STATUS_ZONE_TOO_MANY_OPEN,
NVME_STATUS_ZONE_INVALID_STATE_TRANSITION
} NVME_STATUS_COMMAND_SPECIFIC_CODES;
常數
NVME_STATUS_COMPLETION_QUEUE_INVALID 建立 I/O 提交佇列命令中指定的完成佇列標識碼不存在。 |
NVME_STATUS_INVALID_QUEUE_IDENTIFIER 指出下列命令的狀態: - 建立 I/O 提交佇列:建立 I/O 提交佇列失敗,因為命令中指定的佇列標識碼無效。 無效的佇列標識碼是目前正在使用的佇列標識碼,或是控制器所支援範圍以外的佇列標識碼。 - 刪除 I/O 提交佇列:命令中指定的佇列標識碼無效。 如果指定管理員完成佇列標識碼,也會指出此錯誤。 - 建立 I/O 完成佇列:建立 I/O 完成佇列失敗,因為命令中指定的佇列標識碼無效。 無效的佇列標識碼是目前正在使用的佇列標識碼,或是控制器所支援範圍以外的佇列標識碼。 - 刪除 I/O 完成佇列:命令中指定的佇列標識碼無效。 如果指定管理員完成佇列標識碼,也會指出此錯誤。 |
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED 指出 [建立 I/O 提交佇列] 和 [建立 I/O 完成佇列] 命令的下列狀態: 主機嘗試建立 I/O 完成佇列,且項目數目無效。 例如,零的值或超過 NVME_CONTROLLER_CAPABILITIES 結構之 MQES 欄位中所指定控制器所支援最大值的值。 |
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED 同時未處理的 Abort 命令數目已超過 識別控制器數據結構中 ACL 字段中所指示的限制。 |
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED 已超過並行未處理的異步事件要求命令數目。 |
NVME_STATUS_INVALID_FIRMWARE_SLOT 韌體認可命令中指定的韌體位置無效或只讀。 如果韌體位置超過所支持的數目,就會指出此錯誤。 |
NVME_STATUS_INVALID_FIRMWARE_IMAGE 在韌體認可命令中為啟用指定的韌體映像無效,且控制器不會載入。 |
NVME_STATUS_INVALID_INTERRUPT_VECTOR I/O 完成佇列的建立失敗,因為指定為建立 I/O 完成佇列命令一部分的中斷向量無效。 |
NVME_STATUS_INVALID_LOG_PAGE [取得記錄頁] 命令中所指出的記錄頁無效。 如果要求保留的記錄頁面,也會傳回此錯誤狀況。 |
NVME_STATUS_INVALID_FORMAT 指出 [格式 NVM] 命令的下列狀態:指定的格式無效。 這可能是因為各種條件,包括: - 指定無效的邏輯區塊位址 (LBA) 格式號碼。 - 在每個 LBA 沒有足夠的元數據時啟用保護資訊。 - 安全性狀態無效。 如需詳細資訊,請參閱 TCG 儲存介面互動規格 (SIIS)。 |
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET 指出韌體認可命令的下列狀態: 不過,韌體認可成功,需要傳統重設才能啟用韌體映像。 如果在傳統重設之前發生函式層級重設(FLR)或控制器重設,控制器應繼續操作目前執行的韌體映像。 |
NVME_STATUS_INVALID_QUEUE_DELETION 指出刪除 I/O 完成佇列命令的下列狀態: 刪除指定的 I/O 完成佇列無效。 此錯誤狀況的一般原因是有尚未刪除的相關聯 I/O 提交佇列。 |
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE [設定功能] 命令中指定的功能識別碼不支援可儲存的值。 |
NVME_STATUS_FEATURE_NOT_CHANGEABLE [設定功能] 命令中指定的功能識別碼可能不會變更。 |
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC [設定功能] 命令中指定的功能識別碼不是命名空間特定的。 功能識別碼設定適用於所有命名空間。 |
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET 指出韌體認可命令的狀態。 |
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET 指出韌體認可命令的下列狀態: 不過,韌體認可成功,韌體映射的啟用需要 NVM 子系統重設。 如果在 NVM 子系統重設之前發生任何其他類型的重設,控制器應繼續操作目前執行的韌體映射。 |
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION 指出韌體認可命令的下列狀態: 如果立即啟動,指定的映射將會超過識別控制器中所報告的韌體啟用 (MFTA) 值上限。 若要啟用韌體,必須重新發出韌體認可命令,並使用重設啟用映像。 |
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED 指出韌體認可命令的下列狀態: 由於廠商的特定原因,控制器禁止啟用指定的映像。 例如,控制器不支援向下修訂韌體。 |
NVME_STATUS_OVERLAPPING_RANGE 指出下列命令的狀態: - 韌體認可:如果韌體映射有重疊範圍,就會指出此錯誤。 - 設定功能:如果 LBA 範圍類型數據結構有重疊的範圍,就會指出此錯誤。 - 韌體映射下載:如果韌體映射有重疊範圍,就會指出此錯誤。 |
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY 指出 Namespace Management 命令的下列狀態: 建立命名空間需要比目前可用的更多可用空間。 錯誤資訊記錄檔的 [命令特定資訊] 位元位會指定建立以位元組為單位的命名空間所需的 NVM 容量總數。 |
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE 指出 Namespace Management 命令的下列狀態: 已超過支援的命名空間數目。 |
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED 指出 Namespace Attachment 命令的下列狀態: 控制器已經附加至指定的命名空間。 |
NVME_STATUS_NAMESPACE_IS_PRIVATE 指出 Namespace Attachment 命令的下列狀態: 控制器未附加至命名空間。 無法完成附加控制器的要求,因為命名空間是私用的,而且已經附加至一個控制器。 |
NVME_STATUS_NAMESPACE_NOT_ATTACHED 指出 Namespace Attachment 命令的下列狀態: 控制器未附加至命名空間。 無法完成中斷連結控制器的要求。 |
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED |
NVME_STATUS_CONTROLLER_LIST_INVALID 指出 Namespace Attachment 命令的下列狀態: 提供的控制器清單無效。 |
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS 指出裝置自我測試命令的狀態。 |
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED 指出韌體認可命令的狀態。 |
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER 指出虛擬化管理命令的狀態。 |
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE 指出虛擬化管理命令的狀態 |
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES 指出虛擬化管理命令的狀態。 |
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER 指出虛擬化管理命令的狀態。 |
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED 指出 Streams 指示詞命令的狀態。 |
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES 指出下列命令的狀態:數據集管理、讀取、寫入 命令中指定的屬性會衝突。 |
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION 指出下列命令的狀態:Compare、Read、Write、Write、Write Zeroes 命令中指定的 [保護資訊] 設定無效。 |
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE 指出下列命令的狀態:數據集管理、寫入、寫入不可更正、寫入零 如果嘗試取消分配唯讀範圍,控制器可能會選擇性地報告此狀態。 |
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |