enumerasi NVME_NVM_COMMANDS (nvme.h)

Berisi nilai yang menunjukkan perintah dalam Set Perintah NVM.

Sintaks

typedef enum {
  NVME_NVM_COMMAND_FLUSH,
  NVME_NVM_COMMAND_WRITE,
  NVME_NVM_COMMAND_READ,
  NVME_NVM_COMMAND_WRITE_UNCORRECTABLE,
  NVME_NVM_COMMAND_COMPARE,
  NVME_NVM_COMMAND_WRITE_ZEROES,
  NVME_NVM_COMMAND_DATASET_MANAGEMENT,
  NVME_NVM_COMMAND_VERIFY,
  NVME_NVM_COMMAND_RESERVATION_REGISTER,
  NVME_NVM_COMMAND_RESERVATION_REPORT,
  NVME_NVM_COMMAND_RESERVATION_ACQUIRE,
  NVME_NVM_COMMAND_RESERVATION_RELEASE,
  NVME_NVM_COMMAND_COPY,
  NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND,
  NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE,
  NVME_NVM_COMMAND_ZONE_APPEND
} NVME_NVM_COMMANDS;

Konstanta

 
NVME_NVM_COMMAND_FLUSH
Perintah Flush yang menerapkan data dan metadata yang terkait dengan namespace yang ditentukan ke media nonvolatile. Flush berlaku untuk semua perintah yang diselesaikan sebelum pengiriman perintah Flush. Pengontrol juga dapat membersihkan data dan/atau metadata tambahan dari namespace layanan apa pun.
NVME_NVM_COMMAND_WRITE
Perintah Tulis yang menulis data dan metadata, jika berlaku, ke pengontrol NVM untuk blok logis yang ditentukan. Host juga dapat menentukan informasi perlindungan untuk disertakan sebagai bagian dari operasi.

Perintah ini menggunakan bidang Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, Command Dword 14, dan Command Dword 15. Jika perintah menggunakan PRP untuk transfer data, maka bidang Metadata Pointer, PRP Entry 1, dan PRP Entry 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Metadata SGL Segment Pointer dan SGL Entry 1 digunakan.
NVME_NVM_COMMAND_READ
Perintah Baca yang membaca data dan metadata, jika berlaku, dari pengontrol NVM untuk blok logis yang ditentukan. Perintah dapat menentukan informasi perlindungan yang akan diperiksa sebagai bagian dari operasi baca.

Perintah ini menggunakan bidang Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, Command Dword 14, dan Command Dword 15. Jika perintah menggunakan PRP untuk transfer data, maka bidang Metadata Pointer, PRP Entry 1, dan PRP Entry 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Metadata SGL Segment Pointer dan SGL Entry 1 digunakan.
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE
Perintah Tulis Tidak Dapat Dikoreksi yang digunakan untuk menandai rentang blok logis sebagai tidak valid. Ketika blok logis yang ditentukan dibaca setelah operasi ini, kegagalan dikembalikan dengan status Kesalahan Baca Yang Tidak Dipulihkan. Untuk menghapus status blok logis yang tidak valid, operasi tulis dilakukan pada blok logis tersebut.

Bidang yang digunakan adalah bidang Command Dword 10, Command Dword 11, dan Command Dword 12. Semua bidang spesifik perintah lainnya dicadangkan.
NVME_NVM_COMMAND_COMPARE
Perintah Bandingkan yang membaca blok logis yang ditentukan oleh perintah dari media dan membandingkan data yang dibaca dengan buffer data perbandingan yang ditransfer sebagai bagian dari perintah. Jika data yang dibaca dari pengontrol dan buffer data perbandingan setara tanpa kesalahan perbandingan, maka perintah berhasil diselesaikan. Jika ada kesalahan kompartementasi, perintah selesai dengan kesalahan Kegagalan Perbandingan. Jika metadata disediakan, maka perbandingan juga dilakukan untuk metadata.

Perintah ini menggunakan bidang Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 14, dan Command Dword 15. Jika perintah menggunakan PRP untuk transfer data, maka bidang Metadata Pointer, PRP Entry 1, dan PRP Entry 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Metadata SGL Segment Pointer dan SGL Entry 1 digunakan. Semua bidang spesifik perintah lainnya dicadangkan.
NVME_NVM_COMMAND_WRITE_ZEROES
Perintah Write Zeroes yang digunakan untuk mengatur rentang blok logis ke nol. Setelah berhasil menyelesaikan perintah ini, nilai yang dikembalikan oleh bacaan berikutnya dari blok logis dalam rentang ini akan menjadi nol sampai penulisan terjadi pada rentang LBA ini. Metadata untuk perintah ini harus semuanya nol dan informasi perlindungan diperbarui berdasarkan CDW12. PRINFO.

Bidang yang digunakan adalah bidang Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 14, dan Command Dword 15.
NVME_NVM_COMMAND_DATASET_MANAGEMENT
Perintah Manajemen Himpunan Data yang digunakan oleh host untuk menunjukkan atribut untuk rentang blok logis.

Ini termasuk atribut seperti frekuensi bahwa data dibaca atau ditulis, ukuran akses, dan informasi lain yang dapat digunakan untuk mengoptimalkan performa dan keandalan. Perintah ini adalah saran; pengontrol yang sesuai dapat memilih untuk tidak mengambil tindakan berdasarkan informasi yang diberikan.

Perintah ini menggunakan bidang Command Dword 10, dan Command Dword 11. Jika perintah menggunakan PRP untuk transfer data, bidang Entri PRP 1 dan Entri PRP 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Entri 1 SGL digunakan. Semua bidang spesifik perintah lainnya dicadangkan.
NVME_NVM_COMMAND_RESERVATION_REGISTER
Perintah Register Reservasi yang digunakan untuk mendaftar, membatalkan pendaftaran, atau mengganti kunci reservasi.

Perintah ini menggunakan Command Dword 10 dan struktur data Reservation Register dalam memori. Jika perintah menggunakan PRP untuk transfer data, bidang Entri PRP 1 dan Entri PRP 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Entri 1 SGL digunakan. Semua bidang spesifik perintah lainnya dicadangkan.
NVME_NVM_COMMAND_RESERVATION_REPORT
Perintah Laporan Reservasi yang mengembalikan struktur data Status Reservasi ke memori yang menjelaskan status pendaftaran dan reservasi namespace layanan.

Ukuran struktur data Status Reservasi adalah fungsi dari jumlah pengontrol di Subsistem NVM yang terkait dengan host yang merupakan pendaftar namespace layanan (misalnya, ada struktur data Pengontrol Terdaftar untuk setiap pengontrol tersebut).
NVME_NVM_COMMAND_RESERVATION_ACQUIRE
Perintah Peroleh Reservasi yang digunakan untuk memperoleh reservasi pada namespace, mendahului reservasi yang disimpan di namespace layanan, dan membatalkan reservasi yang disimpan di namespace layanan.

Perintah menggunakan Command Dword 10 dan struktur data Reservation Acquire dalam memori. Jika perintah menggunakan PRP untuk transfer data, bidang Entri PRP 1 dan Entri PRP 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Entri 1 SGL digunakan. Semua bidang spesifik perintah lainnya dicadangkan.
NVME_NVM_COMMAND_RESERVATION_RELEASE
Perintah Rilis Reservasi yang digunakan untuk merilis atau menghapus reservasi yang disimpan di namespace layanan.

Perintah menggunakan Command Dword 10 dan struktur data Rilis Reservasi dalam memori. Jika perintah menggunakan PRP untuk transfer data, bidang Entri PRP 1 dan Entri PRP 2 digunakan. Jika perintah menggunakan SGL untuk transfer data, maka bidang Entri 1 SGL digunakan. Semua bidang spesifik perintah lainnya dicadangkan.

Keterangan

Perintah NVM dikirimkan oleh host ketika pengontrol siap seperti yang ditunjukkan dalam daftar Status Pengontrol dan setelah Antrean Pengiriman I/O yang sesuai dan Antrean Penyelesaian I/O telah dibuat.

Persyaratan

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