共用方式為


NVME_HEALTH_INFO_LOG結構 (nvme.h)

包含欄位,指定 SMART / Health Information Log 頁面中所包含的資訊。

[SMART / 健康情況資訊記錄] 頁面會在控制器的生命週期內提供 SMART 和一般健康情況資訊,這些資訊會在整個電源迴圈中保留。 全域支持記錄頁面。 若要要求全域記錄頁面,請指定命名空間 FFFFFFFFh

每個命名空間也可能支援SMART / Health Information Log 頁面,如 識別控制器 數據結構中所述。 如果每個命名空間不支援記錄頁面,則指定 以外的任何命名空間 FFFFFFFFh ,應中止命令的狀態 為 NVME_STATUS_INVALID_FIELD_IN_COMMAND。 在 NVMe 1.3 版中,SMART / Health 記錄頁面中沒有定義任何命名空間特定資訊,因此全域記錄頁面和命名空間特定記錄頁包含相同的資訊。

有關 NVM 子系統健康情況的重大警告會透過異步事件通知向主機指出。 使用 [設定功能] 命令來設定導致主機異步事件通知的警告。

效能可能會使用傳回的參數來計算,做為SMART / Health Information 記錄檔的一部分。 具體來說,讀取或寫入命令的數目、讀取或寫入的數據量,以及控制器忙碌時間量,可計算每秒 I/O 和頻寬。

取得記錄頁命令會傳回 NVME_HEALTH_INFO_LOG 結構。 如需詳細資訊,請參閱 NVME_CDW10_GET_LOG_PAGE

語法

typedef struct {
  union {
    struct {
      UCHAR AvailableSpaceLow : 1;
      UCHAR TemperatureThreshold : 1;
      UCHAR ReliabilityDegraded : 1;
      UCHAR ReadOnly : 1;
      UCHAR VolatileMemoryBackupDeviceFailed : 1;
      UCHAR Reserved : 3;
    } DUMMYSTRUCTNAME;
    UCHAR AsUchar;
  } CriticalWarning;
  UCHAR  Temperature[2];
  UCHAR  AvailableSpare;
  UCHAR  AvailableSpareThreshold;
  UCHAR  PercentageUsed;
  UCHAR  Reserved0[26];
  UCHAR  DataUnitRead[16];
  UCHAR  DataUnitWritten[16];
  UCHAR  HostReadCommands[16];
  UCHAR  HostWrittenCommands[16];
  UCHAR  ControllerBusyTime[16];
  UCHAR  PowerCycle[16];
  UCHAR  PowerOnHours[16];
  UCHAR  UnsafeShutdowns[16];
  UCHAR  MediaErrors[16];
  UCHAR  ErrorInfoLogEntryCount[16];
  ULONG  WarningCompositeTemperatureTime;
  ULONG  CriticalCompositeTemperatureTime;
  USHORT TemperatureSensor1;
  USHORT TemperatureSensor2;
  USHORT TemperatureSensor3;
  USHORT TemperatureSensor4;
  USHORT TemperatureSensor5;
  USHORT TemperatureSensor6;
  USHORT TemperatureSensor7;
  USHORT TemperatureSensor8;
  UCHAR  Reserved1[296];
} NVME_HEALTH_INFO_LOG, *PNVME_HEALTH_INFO_LOG;

成員

CriticalWarning

重大警告 (CriticalWarning) 結構,其中包含指出控制器狀態重大警告的字段。

CriticalWarning 結構的每個欄位都是對應至重大警告類型的位;可以設定多個位。 如果已將 位清除為 0,則不會套用該重大警告。 此欄位代表目前相關聯的狀態,而且不是持續性的。

重大警告可能會導致異步事件通知給主機。

CriticalWarning.DUMMYSTRUCTNAME

CriticalWarning.DUMMYSTRUCTNAME.AvailableSpaceLow

指出可用的備援空間是否低於閾值。

當此值設定為 1時,可用的備援空間會低於閾值。

CriticalWarning.DUMMYSTRUCTNAME.TemperatureThreshold

指出溫度高於溫度臨界值或低於溫度臨界值。

當此值設定為 1時,溫度高於高於溫度臨界值或低於溫度臨界值。 如需溫度閾值的詳細資訊,請參閱 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD

CriticalWarning.DUMMYSTRUCTNAME.ReliabilityDegraded

指出 NVM 子系統可靠性是否已降級。

當此值設定為 1時,NVM 子系統可靠性因重大媒體相關錯誤或任何降低 NVM 子系統可靠性的內部錯誤而降級。

CriticalWarning.DUMMYSTRUCTNAME.ReadOnly

指出媒體是否處於只讀模式。

當此值設定為 1時,媒體會處於只讀模式。

CriticalWarning.DUMMYSTRUCTNAME.VolatileMemoryBackupDeviceFailed

指出揮發性記憶體備份裝置是否失敗。

當此值設定為 1時,動態記憶體備份裝置就會失敗。 只有在控制器具有變動性記憶體備份解決方案時,此欄位才有效。

CriticalWarning.DUMMYSTRUCTNAME.Reserved

已保留 CriticalWarning 結構的位 05:07。

CriticalWarning.AsUchar

Temperature[2]

表示整體裝置的複合溫度,以度為單位 Kelvin,包括控制器和 NVM 子系統。

如果此欄位中的溫度超過溫度閾值,可能會發生異步事件完成。 如需詳細資訊,請參閱 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD

識別控制器數據結構中的 WCTEMPCCTEMP 欄位會報告警告和重大的複合溫度閾值。

AvailableSpare

表示剩餘備援容量的標準化百分比 (0 到 100) 。

AvailableSpareThreshold

指出可用備援容量的臨界值。

AvailableSpare 的值低於此欄位中所指出的臨界值時,可能會發生異步事件完成。 此值會以標準化百分比表示, (0 到 100) 。

PercentageUsed

根據實際使用量和製造商的 NVM 生命周期預測,指出使用 NVM 子系統生命週期百分比的廠商特定估計值。

值為 100 表示已取用 NVM 子系統中 NVM 的估計耐力,但可能不會指出 NVM 子系統失敗。 允許此值超過 100。 大於 254 的百分比會以 255 表示。 當控制器處於睡眠狀態) 時,每一個電源開啟時,此值會更新一次 (。

Reserved0[26]

保留欄位。

DataUnitRead[16]

指出主機從控制器讀取的512位元組數據單位數目,不包括元數據。

此欄位的值會以千為單位報告,並四捨五入。 例如,值為 1 會對應至讀取的 1000 個單位 512 個字節。 當邏輯區塊存取 (LBA) 大小是 512 個字節以外的值時,控制器會將讀取的數據量轉換為 512 位元組單位。

針對 NVM 命令集,讀取為比較和讀取作業一部分的邏輯區塊會包含在此值中。

DataUnitWritten[16]

指出主機已寫入控制器的 512 位元組數據單位數目,不包括元數據。

此欄位的值會以千為單位報告,並四捨五入。 例如,值為 1 會對應至讀取的 1000 個單位 512 個字節。 當邏輯區塊存取 (LBA) 大小是 512 個字節以外的值時,控制器會將寫入的數據量轉換成 512 位元組單位。

針對 NVM 命令集,寫入作業時寫入的邏輯區塊會包含在此值中。 寫入不可更正的命令不會影響此值。

HostReadCommands[16]

指出控制器所完成的讀取命令數目。

針對 NVM 命令集,這是 Compare 和 Read 命令的數目。

HostWrittenCommands[16]

指出控制器所完成的 Write 命令數目。

針對 NVM 命令集,這是 Write 命令的數目。

ControllerBusyTime[16]

指出控制器忙於 I/O 命令的時間量,以分鐘為單位。

當 I/O 佇列沒有未處理的命令時,控制器會忙碌中。 具體而言,當命令是透過 I/O 提交佇列 Tail doorbell 寫入發出,且對應的完成佇列專案尚未張貼到相關聯的 I/O 完成佇列時。

PowerCycle[16]

表示電源循環的數目。

PowerOnHours[16]

表示電源開啟時數。 這不包括控制器已啟動且處於低電源狀態條件的時間。

UnsafeShutdowns[16]

指出不安全關機的數目。 當關閉通知在控制器設定的SHN欄位中指出,在電源遺失之前,不會收到此計數。

MediaErrors[16]

指出控制器偵測到未復原的數據完整性錯誤發生次數。

此欄位中包含媒體錯誤,例如無法更正的 ECC、CRC 總和檢查碼失敗或 LBA 標籤不符。

ErrorInfoLogEntryCount[16]

指出控制器生命週期的錯誤 資訊 記錄項目數目。

WarningCompositeTemperatureTime

指出控制器運作的時間量,而複合溫度 (溫度) 大於或等於 [警告複合溫度閾值 (WCTEMP) ] 字段,且小於 [識別控制器] 數據結構中的 [重大複合溫度閾值] (CCTEMP) 字段。

如果 [WCTEMP] 或 [CCTEMP] 欄位的值是 0h,則不論 Temperature 值為何,一律會清除0h此字段。

CriticalCompositeTemperatureTime

指出控制器運作的分鐘數,而複合溫度 (溫度) 大於 [識別控制器] 數據結構中 [CCTEMP) ] 字段的重要複合溫度 (閾值。

如果 CCTEMP 欄位的值是 0h,則不論 Temperature 值為何,一律會清除0h此字段。

TemperatureSensor1

指出溫度感測器 1 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor2

指出溫度感測器 2 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor3

指出溫度感測器 3 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor4

指出溫度感測器 4 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor5

指出溫度感測器 5 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor6

指出溫度感測器 6 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor7

指出溫度感測器 7 所報告的目前溫度,以 Kelvin 為單位。

TemperatureSensor8

指出溫度感測器 8 所報告的目前溫度,以 Kelvin 為單位。

Reserved1[296]

保留欄位。

備註

溫度感測器所報告的溫度可用來觸發異步事件。 如需詳細資訊,請參閱 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD

規格需求

需求
最低支援的用戶端 Windows 10
標頭 nvme.h

另請參閱