struktur NVME_HEALTH_INFO_LOG (nvme.h)

Berisi bidang yang menentukan informasi yang terkandung dalam halaman Log Informasi SMART/Health.

Halaman Log Informasi SMART /Health menyediakan informasi kesehatan SMART dan umum selama masa pakai pengontrol yang dipertahankan di seluruh siklus daya. Halaman log didukung secara global. Untuk meminta halaman log global, tentukan namespace FFFFFFFFh.

Halaman Log Informasi SMART/ Health juga dapat didukung berdasarkan per namespace, seperti yang ditunjukkan dalam struktur data Pengontrol Identifikasi . Jika halaman log tidak didukung per namespace layanan, menentukan namespace selain FFFFFFFFh harus membatalkan perintah dengan status NVME_STATUS_INVALID_FIELD_IN_COMMAND. Di NVMe versi 1.3, tidak ada informasi khusus namespace yang ditentukan di halaman log SMART / Health, sehingga halaman log global dan halaman log khusus namespace berisi informasi yang identik.

Peringatan kritis mengenai kesehatan subsistem NVM ditunjukkan melalui pemberitahuan peristiwa asinkron kepada host. Peringatan yang menghasilkan pemberitahuan peristiwa asinkron ke host dikonfigurasi menggunakan perintah Atur Fitur.

Performa dapat dihitung menggunakan parameter yang dikembalikan sebagai bagian dari log Informasi SMART / Kesehatan. Secara khusus, jumlah perintah Baca atau Tulis, jumlah data yang dibaca atau ditulis, dan jumlah waktu sibuk pengontrol memungkinkan I/Os per detik dan bandwidth dihitung.

Struktur NVME_HEALTH_INFO_LOG dikembalikan oleh perintah Dapatkan Halaman Log. Untuk informasi selengkapnya, lihat NVME_CDW10_GET_LOG_PAGE.

Sintaks

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;

Anggota

CriticalWarning

Struktur Critical Warning (CriticalWarning) yang berisi bidang yang menunjukkan peringatan kritis untuk status pengontrol.

Setiap bidang struktur CriticalWarning adalah bit yang sesuai dengan jenis peringatan kritis; beberapa bit dapat diatur. Jika sedikit dibersihkan ke 0, maka peringatan penting tersebut tidak berlaku. Bit dalam bidang ini mewakili status terkait saat ini dan tidak persisten.

Peringatan kritis dapat mengakibatkan pemberitahuan peristiwa asinkron ke host.

CriticalWarning.DUMMYSTRUCTNAME

CriticalWarning.DUMMYSTRUCTNAME.AvailableSpaceLow

Menunjukkan apakah ruang cadangan yang tersedia telah jatuh di bawah ambang batas.

Ketika nilai ini diatur ke 1, ruang cadangan yang tersedia telah berada di bawah ambang batas.

CriticalWarning.DUMMYSTRUCTNAME.TemperatureThreshold

Menunjukkan apakah suhu berada di atas ambang batas suhu atau di bawah ambang di bawah suhu.

Ketika nilai ini diatur ke 1, suhu di atas ambang batas suhu atau di bawah ambang di bawah suhu. Untuk informasi selengkapnya tentang ambang batas suhu, lihat NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD.

CriticalWarning.DUMMYSTRUCTNAME.ReliabilityDegraded

Menunjukkan apakah keandalan subsistem NVM telah terdegradasi.

Ketika nilai ini diatur ke , keandalan 1subsistem NVM telah terdegradasi karena kesalahan terkait media yang signifikan atau kesalahan internal apa pun yang menurunkan keandalan subsistem NVM.

CriticalWarning.DUMMYSTRUCTNAME.ReadOnly

Menunjukkan apakah media telah ditempatkan dalam mode baca-saja.

Ketika nilai ini diatur ke 1, maka media telah ditempatkan dalam mode baca saja.

CriticalWarning.DUMMYSTRUCTNAME.VolatileMemoryBackupDeviceFailed

Menunjukkan apakah perangkat cadangan memori volatil telah gagal.

Ketika nilai ini diatur ke 1, maka perangkat cadangan memori volatil telah gagal. Bidang ini hanya valid jika pengontrol memiliki solusi cadangan memori yang volatil.

CriticalWarning.DUMMYSTRUCTNAME.Reserved

Bit 05:07 dari struktur CriticalWarning dicadangkan.

CriticalWarning.AsUchar

Temperature[2]

Menunjukkan suhu komposit, dalam derajat Kelvin, dari keseluruhan perangkat, termasuk pengontrol dan subsistem NVM.

Jika suhu di bidang ini melebihi ambang batas suhu, penyelesaian peristiwa asinkron dapat terjadi. Untuk informasi selengkapnya, lihat NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD.

Peringatan dan nilai ambang suhu komposit yang terlalu panas dilaporkan oleh bidang WCTEMP dan CCTEMP dalam struktur data Identifi Controller .

AvailableSpare

Menunjukkan persentase yang dinormalisasi (0 hingga 100) dari sisa kapasitas cadangan yang tersedia.

AvailableSpareThreshold

Menunjukkan ambang batas kapasitas cadangan yang tersedia.

Ketika nilai AvailableSpare berada di bawah ambang yang ditunjukkan di bidang ini, penyelesaian peristiwa asinkron dapat terjadi. Nilai ditunjukkan sebagai persentase yang dinormalisasi (0 hingga 100).

PercentageUsed

Menunjukkan perkiraan spesifik vendor tentang persentase masa pakai subsistem NVM yang digunakan, berdasarkan penggunaan aktual dan prediksi masa pakai NVM produsen.

Nilai 100 menunjukkan bahwa perkiraan daya tahan NVM dalam subsistem NVM telah dikonsumsi, tetapi mungkin tidak menunjukkan kegagalan subsistem NVM. Nilai diperbolehkan melebihi 100. Persentase yang lebih besar dari 254 direpresentasikan sebagai 255. Nilai ini diperbarui sekali per jam daya (ketika pengontrol tidak dalam keadaan tidur).

Reserved0[26]

Bidang khusus.

DataUnitRead[16]

Menunjukkan jumlah unit data byte 512 yang telah dibaca host dari pengontrol, tidak termasuk metadata.

Nilai bidang ini dilaporkan dalam ribuan dan dibulatkan ke atas. Misalnya, nilai 1 sesuai dengan 1000 unit dari 512 byte yang dibaca. Ketika ukuran Akses Blok Logis (LBA) adalah nilai selain 512 byte, pengontrol mengonversi jumlah data yang dibaca menjadi 512 unit byte.

Untuk kumpulan perintah NVM, blok logis yang dibaca sebagai bagian dari operasi Bandingkan dan Baca disertakan dalam nilai ini.

DataUnitWritten[16]

Menunjukkan jumlah unit data 512 byte yang telah ditulis host ke pengontrol, tidak termasuk metadata.

Nilai bidang ini dilaporkan dalam ribuan dan dibulatkan ke atas. Misalnya, nilai 1 sesuai dengan 1000 unit dari 512 byte yang dibaca. Ketika ukuran Logical Block Access (LBA) adalah nilai selain 512 byte, pengontrol mengonversi jumlah data yang ditulis menjadi 512 unit byte.

Untuk set perintah NVM, blok logis yang ditulis sebagai bagian dari operasi Tulis disertakan dalam nilai ini. Tulis perintah Tidak Dapat Dikoreksi tidak berdampak pada nilai ini.

HostReadCommands[16]

Menunjukkan jumlah perintah Baca yang diselesaikan oleh pengontrol.

Untuk set perintah NVM, ini adalah jumlah perintah Bandingkan dan Baca.

HostWrittenCommands[16]

Menunjukkan jumlah perintah Tulis yang diselesaikan oleh pengontrol.

Untuk set perintah NVM, ini adalah jumlah perintah Tulis.

ControllerBusyTime[16]

Menunjukkan jumlah waktu, dalam menit, bahwa pengontrol sibuk dengan perintah I/O.

Pengontrol sibuk ketika ada perintah yang luar biasa untuk Antrean I/O. Secara khusus, ketika perintah dikeluarkan melalui tulisan bel pintu I/O Submission Queue Tail dan entri antrean penyelesaian yang sesuai belum diposting ke Antrean Penyelesaian I/O terkait.

PowerCycle[16]

Menunjukkan jumlah siklus daya.

PowerOnHours[16]

Menunjukkan jumlah jam aktif daya. Ini tidak termasuk waktu pengontrol ditenagai dan dalam kondisi daya rendah.

UnsafeShutdowns[16]

Menunjukkan jumlah pematian yang tidak aman. Jumlah ini bertambah ketika pemberitahuan matikan, yang ditunjukkan dalam SHN yang diajukan konfigurasi pengontrol, tidak diterima sebelum kehilangan daya.

MediaErrors[16]

Menunjukkan jumlah kemunculan di mana pengontrol mendeteksi kesalahan integritas data yang tidak dipulihkan.

Kesalahan Media seperti ECC yang tidak dapat dikoreksi, kegagalan checksum CRC, atau ketidakcocokan tag LBA disertakan dalam bidang ini.

ErrorInfoLogEntryCount[16]

Menunjukkan jumlah entri log Informasi Kesalahan selama masa pakai pengontrol.

WarningCompositeTemperatureTime

Menunjukkan jumlah waktu, dalam menit, bahwa pengontrol beroperasi dan Suhu Komposit (Suhu) lebih besar dari atau sama dengan bidang Warning Composite Temperature Threshold (WCTEMP) dan kurang dari bidang Critical Composite Temperature Threshold (CCTEMP) dalam struktur data Identifi Controller .

Jika nilai bidang WCTEMP atau CCTEMP adalah 0h, bidang ini selalu dibersihkan 0h terlepas dari nilai Suhu .

CriticalCompositeTemperatureTime

Menunjukkan jumlah waktu dalam menit pengontrol beroperasi dan Suhu Komposit (Suhu) lebih besar dari bidang Critical Composite Temperature Threshold (CCTEMP) dalam struktur data Identifi Controller .

Jika nilai bidang CCTEMP adalah 0h, bidang ini selalu dibersihkan 0h terlepas dari nilai Suhu .

TemperatureSensor1

Menunjukkan suhu saat ini dalam derajat Kelvin yang dilaporkan oleh sensor suhu 1.

TemperatureSensor2

Menunjukkan suhu saat ini dalam derajat Kelvin dilaporkan oleh sensor suhu 2.

TemperatureSensor3

Menunjukkan suhu saat ini dalam derajat Kelvin yang dilaporkan oleh sensor suhu 3.

TemperatureSensor4

Menunjukkan suhu saat ini dalam derajat Kelvin yang dilaporkan oleh sensor suhu 4.

TemperatureSensor5

Menunjukkan suhu saat ini dalam derajat Kelvin dilaporkan oleh sensor suhu 5.

TemperatureSensor6

Menunjukkan suhu saat ini dalam derajat Kelvin yang dilaporkan oleh sensor suhu 6.

TemperatureSensor7

Menunjukkan suhu saat ini dalam derajat Kelvin dilaporkan oleh sensor suhu 7.

TemperatureSensor8

Menunjukkan suhu saat ini dalam derajat Kelvin yang dilaporkan oleh sensor suhu 8.

Reserved1[296]

Bidang khusus.

Keterangan

Suhu yang dilaporkan oleh sensor suhu dapat digunakan untuk memicu peristiwa asinkron. Untuk informasi selengkapnya, lihat NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Header nvme.h

Lihat juga