NVME_HEALTH_INFO_LOG 構造体 (nvme.h)
SMART /正常性情報ログ ページに含まれる情報を指定するフィールドが含まれています。
[SMART/正常性情報ログ] ページには、電源サイクル間で保持されるコントローラーの寿命に関する SMART および一般的な正常性情報が表示されます。 ログ ページはグローバルベースでサポートされています。 グローバル ログ ページを要求するには、名前空間 FFFFFFFFh
を指定します。
SMART /正常性情報ログ ページは、 コントローラーの識別 データ構造で示されているように、名前空間ごとにサポートされる場合もあります。 名前空間ごとにログ ページがサポートされていない場合は、 以外 FFFFFFFFh
の名前空間を指定すると、コマンドの状態が NVME_STATUS_INVALID_FIELD_IN_COMMAND で中止されます。 NVMe バージョン 1.3 では、SMART/Health ログ ページに名前空間固有の情報が定義されていないので、グローバル ログ ページと名前空間固有のログ ページには同じ情報が含まれています。
NVM サブシステムの正常性に関する重大な警告は、ホストへの非同期イベント通知によって示されます。 ホストへの非同期イベント通知が発生する警告は、[ 機能の設定] コマンドを使用して構成されます。
パフォーマンスは、SMART/Health Information ログの一部として返されるパラメーターを使用して計算できます。 具体的には、読み取りまたは書き込みコマンドの数、読み取りまたは書き込まれたデータの量、およびコントローラーのビジー時間の量により、1 秒あたりの 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]
コントローラーと NVM サブシステムを含む、デバイス全体の複合温度をケルビン度で示します。
このフィールドの温度が温度しきい値を超えると、非同期イベントの完了が発生する可能性があります。 詳細については、「 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD」を参照してください。
警告および重大過熱複合温度しきい値は、コントローラーの識別データ構造の WCTEMP フィールドと CCTEMP フィールドによって報告されます。
AvailableSpare
使用可能な残りの予備容量の正規化された割合 (0 から 100) を示します。
AvailableSpareThreshold
使用可能な予備容量のしきい値を示します。
AvailableSpare の値がこのフィールドに示されているしきい値を下回ると、非同期イベントの完了が発生する可能性があります。 この値は、正規化されたパーセンテージ (0 から 100) として示されます。
PercentageUsed
実際の使用量と NVM 寿命の製造元の予測に基づいて、使用された NVM サブシステムの寿命の割合のベンダー固有の推定値を示します。
値 100 は、NVM サブシステム内の NVM の推定耐久力が消費されたことを示しますが、NVM サブシステムの障害を示していない可能性があります。 値は 100 を超える可能性があります。 254 を超える割合は 255 として表されます。 この値は、電源オン時間ごとに 1 回更新されます (コントローラーがスリープ状態でない場合)。
Reserved0[26]
予約済みフィールド。
DataUnitRead[16]
ホストがコントローラーから読み取った 512 バイトのデータ ユニットの数を示します。メタデータは含まれません。
このフィールドの値は数千単位で報告され、切り上げられます。 たとえば、値 1 は、読み取られた 512 バイトの 1000 単位に対応します。 論理ブロック アクセス (LBA) サイズが 512 バイト以外の値である場合、コントローラーは読み取ったデータの量を 512 バイト単位に変換します。
NVM コマンド セットの場合、Compare 操作と Read 操作の一部として読み取られた論理ブロックがこの値に含まれます。
DataUnitWritten[16]
ホストがコントローラーに書き込む 512 バイトのデータ ユニットの数を示します。メタデータは含まれません。
このフィールドの値は数千単位で報告され、切り上げられます。 たとえば、値 1 は、読み取られた 512 バイトの 1000 単位に対応します。 論理ブロック アクセス (LBA) サイズが 512 バイト以外の値である場合、コントローラーは書き込まれたデータの量を 512 バイト単位に変換します。
NVM コマンド セットの場合、書き込み操作の一部として書き込まれた論理ブロックがこの値に含まれます。 書き込み修正不可能なコマンドは、この値には影響しません。
HostReadCommands[16]
コントローラーによって完了した読み取りコマンドの数を示します。
NVM コマンド セットの場合、これは Compare コマンドと Read コマンドの数です。
HostWrittenCommands[16]
コントローラーによって完了した書き込みコマンドの数を示します。
NVM コマンド セットの場合、これは書き込みコマンドの数です。
ControllerBusyTime[16]
コントローラーが I/O コマンドでビジー状態になっている時間を分単位で示します。
I/O キューに対して未処理のコマンドがある場合、コントローラーはビジー状態です。 具体的には、I/O 送信キュー Tail ドアベル 書き込みを介してコマンドが発行され、対応する完了キュー エントリがまだ関連付けられている 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 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor2
温度センサー 2 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor3
温度センサー 3 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor4
温度センサー 4 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor5
温度センサー 5 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor6
温度センサー 6 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor7
温度センサー 7 によって報告されたケルビンの現在の温度を示します。
TemperatureSensor8
温度センサー 8 によって報告されたケルビンの現在の温度を示します。
Reserved1[296]
予約済みフィールド。
注釈
温度センサーによって報告される温度は、非同期イベントをトリガーするために使用できます。 詳細については、「 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | nvme.h |