NVME_STATUS_COMMAND_SPECIFIC_CODES枚举 (nvme.h)
包含指示特定于特定命令的状态的值。
这些状态代码属于
语法
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 并发未完成的中止命令数已超过 标识控制器数据结构的 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管理命令的以下状态: 创建命名空间所需的可用空间比当前可用空间要多。 错误信息日志的“命令特定信息”字段指定创建命名空间所需的 NVM 容量总量(以字节为单位)。 |
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE 指示Namespace管理命令的以下状态: 已超出支持的命名空间数。 |
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 指示以下命令的以下状态:比较、读取、写入、写入零 命令中指定的保护信息设置无效。 |
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE 指示这些命令的以下状态:数据集管理、写入、写入不可更正、写入零 如果针对只读范围尝试解除分配,控制器可以选择报告此状态。 |
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
标头 | nvme.h |