NVME_CDW11_FEATURES union (nvme.h)
包含取得功能和設定功能命令的參數,這些命令會擷取或設定指定功能的屬性。
這個結構用於 Command 結構中 GETFEATURES 和 SETFEATURES 欄位的 CDW11 參數。
語法
typedef union {
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
NVME_CDW11_FEATURE_ARBITRATION Arbitration;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
NVME_CDW11_FEATURE_ERROR_INJECTION ErrorInjection;
NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
ULONG AsUlong;
} NVME_CDW11_FEATURES, *PNVME_CDW11_FEATURES;
成員
NumberOfQueues
指定包含值 NVME_CDW11_FEATURE_NUMBER_OF_QUEUES 結構,指出主機要求此控制器的佇列數目。
針對 [佇列數目] 功能提交 [設定功能] 或 [取得功能] 命令時,NVME_CDW11_FEATURE_NUMBER_OF_QUEUES結構會傳回該命令之 [完成佇列] 專案的 [Dword 0 (DW0) ] 字段。
InterruptCoalescing
指定 NVME_CDW11_FEATURE_INTERRUPT_COALESCING 結構,其中包含設定中斷聯合設定的值。
提交 「中斷聯合功能」的 Get Features 命令時,NVME_CDW11_FEATURE_INTERRUPT_COALESCING 結構的 TIME 和 THR 字段中指定的值會傳回該命令完成佇列專案的DW0 字段中。
InterruptVectorConfig
指定 NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG 結構,其中包含設定特定中斷向量特定設定的值。
提交 「中斷向量設定功能」的 Get Features 命令時,會在該命令的完成佇列輸入的 DW0 欄位中傳回 [中斷向量] (IV) 和 [已停用 NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG] (CD) 字段中指定的值。
在發出這項功能之前,主機應該使用有效的 I/O 完成佇列來設定指定的中斷向量。 如果指定的 I/O 完成佇列或中斷向量無效,控制器會傳回 NVME_STATUS_INVALID_FIELD_IN_COMMAND的狀態。
LbaRangeType
指定包含值 NVME_CDW11_FEATURE_LBA_RANGE_TYPE 結構,指定 [設定功能] 命令中 LBA 範圍類型功能的 LBA 範圍數目。
此欄位僅用於設定功能命令,而且會忽略 Get Features 命令。
LBA 範圍類型功能會指定屬於指定命名空間一部分之邏輯區塊配置 (LBA) 範圍的類型和屬性。 此功能會使用 NVME_CDW11_FEATURE_LBA_RANGE_TYPE 結構來指定 LBA 範圍的數目,以及 NVME_LBA_RANGET_TYPE_ENTRY 數據結構來指定類型和屬性資訊。
針對 LBA 範圍類型功能提交 Get Features 命令時,NVME_CDW11_FEATURE_LBA_RANGE_TYPE 結構的 NUM 欄位中指定的值會傳回完成佇列專案的DW0 欄位中,而 LBA 範圍類型NVME_LBA_RANGET_TYPE_ENTRY數據結構會在該命令的數據緩衝區中傳回。
Arbitration
指定 NVME_CDW11_FEATURE_ARBITRATION 結構,其中包含控制命令仲裁的值。
針對仲裁功能提交 Get Features 命令時,這個欄位中指定的結構會傳回該命令完成佇列專案的DW0 字段中。
VolatileWriteCache
指定 NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE 結構,其中包含控制控制器上變動性寫入快取的值。
針對動態寫入快取功能提交 Get Features 命令時,NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHEWCE 欄位中指定的值會傳回該命令完成佇列專案的DW0 字段中。
AsyncEventConfig
指定包含異步事件組態功能參數 的NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG 結構,可控制觸發異步事件通知給主機的事件。
針對異步事件組態功能提交 Get Features 命令時,該命令的完成佇列輸入結構的 DW0 字段中會傳回 [NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG] 結構中指定的值。
PowerManagement
指定 NVME_CDW11_FEATURE_POWER_MANAGEMENT 結構,其中包含允許主機設定電源狀態的值。
提交 Power Management 功能的 [取得功能] 命令時,該命令的 [完成佇列] 專案的DW0 字段中會傳回NVME_CDW11_FEATURE_POWER_MANAGEMENT結構。
AutoPowerStateTransition
指定包含自發電源狀態轉換功能參數 的NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION 結構,可設定自發電源狀態轉換的設定。
自發電源狀態轉換功能會指定 NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION 數據結構和 自發電源狀態轉換輸入 數據結構中的屬性資訊。
針對自發電源狀態轉換功能提交 Get Features 命令時,會在完成佇列輸入的 DW0 欄位中傳回NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION結構的 APSTE 欄位中指定的值,而該命令的數據緩衝區中會傳回NVME_AUTO_POWER_STATE_TRANSITION_ENTRY數據結構。
TemperatureThreshold
指定 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD 結構,其中包含用來設定或擷取控制器溫度閾值的值。
ErrorRecovery
HostMemoryBuffer
指定 NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER 結構,其中包含用來控制主機記憶體緩衝區的值。
主機記憶體緩衝區功能提供一種機制,讓主機配置一部分主機記憶體,讓控制器獨佔使用。 成功完成啟用主機記憶體緩衝區的 [設定功能] 命令之後,主機將不會寫入相關聯的主機記憶體區域、緩衝區大小或描述元清單,直到主機記憶體緩衝區停用為止。 成功完成停用主機記憶體緩衝區的 [設定功能] 命令之後,控制器將不會存取主機記憶體緩衝區中的任何數據,直到啟用主機記憶體緩衝區為止。
主機記憶體描述元清單是主機記憶體中實際連續的數據結構,描述主機記憶體緩衝區的位址和長度配對。 清單的界限和內容定義於下列欄位和結構中:
- 主機記憶體描述元清單位址的下限定義於NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER的 HMDLLA 字段中。
- 主機記憶體描述元清單位址的上限定義在NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER的 HMDLUA 字段中。
- 主機記憶體描述項清單的位址和長度配對數目,是在NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER之 HMDLEC 欄位中的主機記憶體描述項清單專案計數中指定。
- 主機記憶體描述元清單中的專案欄位是在 NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY 結構中指定。
WriteAtomicityNormal
指定 NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL 結構,其中包含控制不可部分完成寫入單位一般 (AWUN 作業) 和命名空間不可部分完成寫入單位標準 (NAWUN) 參數的值,這些參數會定義控制器對不可部分完成作業的支援。
針對 Write Atomicity Normal Feature 提交 Get Features 命令時,該命令的完成佇列輸入結構的 DW0 字段中會傳回 [NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL 結構] 中指定的值。
NonOperationalPowerState
指定包含非操作電源狀態功能值的 NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE 結構,指出是否針對非操作電源狀態啟用寬鬆模式。
IoCommandSetProfile
ErrorInjection
HostIdentifier
ReservationPersistence
ReservationNotificationMask
GetHostMetadata
SetHostMetadata
AsUlong
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |