Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Contiene valori che indicano un comando nel set di comandi NVM.
Sintassi
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;
Constants
NVME_NVM_COMMAND_FLUSHComando Flush che esegue il commit di dati e metadati associati agli spazi dei nomi specificati in supporti non volatile. Lo scaricamento si applica a tutti i comandi completati prima dell'invio del comando Flush. Il controller può anche scaricare dati aggiuntivi e/o metadati da qualsiasi spazio dei nomi. |
NVME_NVM_COMMAND_WRITEComando Write che scrive i dati e i metadati, se applicabile, nel controller NVM per i blocchi logici specificati. L'host può anche specificare le informazioni di protezione da includere come parte dell'operazione. Il comando usa i campi Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, Command Dword 14 e Command Dword 15. Se il comando usa prp per il trasferimento dei dati, vengono usati il puntatore dei metadati, la voce PRP 1 e i campi PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, vengono usati i campi Puntatore segmento SGL metadati e SGL Entry 1. |
NVME_NVM_COMMAND_READComando Read che legge i dati e i metadati, se applicabile, dal controller NVM per i blocchi logici specificati. Il comando può specificare le informazioni di protezione da controllare come parte dell'operazione di lettura. Il comando usa i campi Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, Command Dword 14 e Command Dword 15. Se il comando usa prp per il trasferimento dei dati, vengono usati il puntatore dei metadati, la voce PRP 1 e i campi PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, vengono usati i campi Puntatore segmento SGL metadati e SGL Entry 1. |
NVME_NVM_COMMAND_WRITE_UNCORRECTABLEComando Write Uncorrectable utilizzato per contrassegnare un intervallo di blocchi logici come non validi. Quando i blocchi logici specificati vengono letti dopo questa operazione, viene restituito un errore con stato Errore di lettura non ripristinato. Per cancellare lo stato del blocco logico non valido, viene eseguita un'operazione di scrittura su tali blocchi logici. I campi usati sono i campi Command Dword 10, Command Dword 11 e Command Dword 12. Tutti gli altri campi specifici del comando sono riservati. |
NVME_NVM_COMMAND_COMPAREIl comando Compare che legge i blocchi logici specificati dal comando dal supporto e confronta i dati letti con un buffer di dati di confronto trasferito come parte del comando. Se i dati letti dal controller e dal buffer dei dati di confronto sono equivalenti senza errori di completamento, il comando viene completato correttamente. Se si verifica un errore di completamento, il comando viene completato con un errore Di confronto non riuscito. Se vengono forniti metadati, viene eseguito anche un confronto per i metadati. Il comando usa i campi Dword 10, Command Dword 11, Command Dword 12, Command Dword 14 e Command Dword 15. Se il comando usa prp per il trasferimento dei dati, vengono usati il puntatore dei metadati, la voce PRP 1 e i campi PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, vengono usati i campi Puntatore segmento SGL metadati e SGL Entry 1. Tutti gli altri campi specifici del comando sono riservati. |
NVME_NVM_COMMAND_WRITE_ZEROESComando Write Zeroes utilizzato per impostare un intervallo di blocchi logici su zero. Al termine di questo comando, il valore restituito dalle letture successive di blocchi logici in questo intervallo sarà zero fino a quando non si verifica una scrittura nell'intervallo LBA. I metadati per questo comando devono essere tutti zero e le informazioni di protezione vengono aggiornate in base a CDW12. PRINFO. I campi usati sono i campi Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 14 e Command Dword 15. |
NVME_NVM_COMMAND_DATASET_MANAGEMENTComando Di gestione dei set di dati usato dall'host per indicare gli attributi per gli intervalli di blocchi logici. Sono inclusi attributi come frequenza con cui i dati vengono letti o scritti, dimensioni di accesso e altre informazioni che possono essere usate per ottimizzare le prestazioni e l'affidabilità. Questo comando è consultivo; un controller conforme può scegliere di non eseguire alcuna azione in base alle informazioni fornite. Il comando usa i campi Dword 10 e Command Dword 11. Se il comando usa prp per il trasferimento dei dati, vengono usati i campi PRP Entry 1 e PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, viene usato il campo SGL Entry 1. Tutti gli altri campi specifici del comando sono riservati. |
NVME_NVM_COMMAND_RESERVATION_REGISTERComando Registro prenotazioni usato per registrare, annullare la registrazione o sostituire una chiave di prenotazione. Il comando usa comando Dword 10 e una struttura di dati Registro prenotazioni in memoria. Se il comando usa prp per il trasferimento dei dati, vengono usati i campi PRP Entry 1 e PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, viene usato il campo SGL Entry 1. Tutti gli altri campi specifici del comando sono riservati. |
NVME_NVM_COMMAND_RESERVATION_REPORTComando Report prenotazione che restituisce una struttura di dati Stato prenotazione in memoria che descrive la registrazione e lo stato della prenotazione di uno spazio dei nomi. Le dimensioni della struttura dei dati Stato prenotazione sono una funzione del numero di controller nel sottosistema NVM associati agli host che sono registranti dello spazio dei nomi (ad esempio, esiste una struttura di dati del controller registrato per ogni controller). |
NVME_NVM_COMMAND_RESERVATION_ACQUIREComando Di acquisizione prenotazioni usato per acquisire una prenotazione in uno spazio dei nomi, annullare una prenotazione contenuta in uno spazio dei nomi e interrompere una prenotazione contenuta in uno spazio dei nomi. Il comando usa comando Dword 10 e una struttura di dati Acquisizione prenotazione in memoria. Se il comando usa prp per il trasferimento dei dati, vengono usati i campi PRP Entry 1 e PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, viene usato il campo SGL Entry 1. Tutti gli altri campi specifici del comando sono riservati. |
NVME_NVM_COMMAND_RESERVATION_RELEASEComando Reservation Release usato per rilasciare o cancellare una prenotazione contenuta in uno spazio dei nomi. Il comando usa comando Dword 10 e una struttura di dati di versione della prenotazione in memoria. Se il comando usa prp per il trasferimento dei dati, vengono usati i campi PRP Entry 1 e PRP Entry 2. Se il comando usa gli ELENCHI di sicurezza per il trasferimento dei dati, viene usato il campo SGL Entry 1. Tutti gli altri campi specifici del comando sono riservati. |
Osservazioni:
I comandi NVM vengono inviati dall'host quando il controller è pronto come indicato nel registro stato del controller e dopo la creazione di code di invio di I/O appropriate e code di completamento I/O.
Requisiti
| Requisito | Value |
|---|---|
| Client minimo supportato | Windows 10 |
| Header | nvme.h |