Partager via


union NVME_CONTROLLER_MEMORY_BUFFER_SIZE (nvme.h)

Définit la taille du registre de mémoire tampon du contrôleur facultatif et est utilisé dans le champ CMBSZ de la structure NVME_CONTROLLER_REGISTERS .

Si le contrôleur ne prend pas en charge la fonctionnalité mémoire tampon du contrôleur, le champ CMBSZ est effacé 0hsur .

L’emplacement de la mémoire tampon du contrôleur est spécifié dans le champ CMBLOC de NVME_CONTROLLER_REGISTERS.

Syntaxe

typedef union {
  struct {
    ULONG SQS : 1;
    ULONG CQS : 1;
    ULONG LISTS : 1;
    ULONG RDS : 1;
    ULONG WDS : 1;
    ULONG Reserved : 3;
    ULONG SZU : 4;
    ULONG SZ : 20;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQS

Indique si le contrôleur prend en charge les files d’attente d’envoi d’E/S et d’administration dans la mémoire tampon du contrôleur.

Lorsque cette valeur est définie 1, le contrôleur prend en charge les files d’attente d’envoi d’E/S et d’administration dans la mémoire tampon du contrôleur. Lorsque cette valeur est effacée 0, toutes les files d’attente de soumission sont placées dans la mémoire de l’hôte.

DUMMYSTRUCTNAME.CQS

Indique si le contrôleur prend en charge les files d’attente d’achèvement d’E/S et d’administration dans la mémoire tampon du contrôleur.

Lorsque cette valeur est définie 1, le contrôleur prend en charge les files d’attente d’achèvement d’E/S et d’administration dans la mémoire tampon du contrôleur. Lorsque cette valeur est effacée 0, toutes les files d’attente d’achèvement sont placées dans la mémoire de l’hôte.

DUMMYSTRUCTNAME.LISTS

Indique si le contrôleur prend en charge la page de région physique (PRP) et les listes de collecte de points (SGL) dans la mémoire tampon du contrôleur.

Lorsque cette valeur est définie 1, le contrôleur prend en charge les listes PRP dans la mémoire tampon du contrôleur. Si la valeur est définie 1 sur et que les sgLs sont pris en charge par le contrôleur, le contrôleur prend en charge les sgLs dans la mémoire tampon du contrôleur. Si ce bit est défini 1sur , le champ Support de la file d’attente de soumission (SQS) est défini sur 1.

Lorsque cette valeur est effacée 0, toutes les listes PRP et les listes SGL sont placées dans la mémoire hôte.

DUMMYSTRUCTNAME.RDS

Indique si le contrôleur prend en charge les données et les métadonnées dans la mémoire tampon du contrôleur pour les commandes, telles que la commande Lecture, qui transfèrent les données du contrôleur vers l’hôte.

Lorsque cette valeur est définie 1, le contrôleur prend en charge les données et les métadonnées dans la mémoire tampon du contrôleur pour les commandes qui transfèrent les données du contrôleur vers l’hôte.

Lorsque cette valeur est effacée 0, toutes les données et métadonnées des commandes qui transfèrent des données du contrôleur vers l’hôte sont transférées vers la mémoire hôte.

DUMMYSTRUCTNAME.WDS

Indique si le contrôleur prend en charge les données et les métadonnées dans la mémoire tampon du contrôleur pour les commandes, telles que la commande d’écriture, qui transfèrent les données de l’hôte vers le contrôleur.

Lorsque cette valeur est définie 1, le contrôleur prend en charge les données et les métadonnées dans la mémoire tampon du contrôleur pour les commandes qui transfèrent les données de l’hôte vers le contrôleur.

Lorsque cette valeur est effacée 0, toutes les données et métadonnées des commandes qui transfèrent des données de l’hôte vers le contrôleur sont transférées à partir de la mémoire de l’hôte.

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.SZU

Valeur NVME_CMBSZ_SIZE_UNITS qui indique la granularité du champ Taille SZ .

DUMMYSTRUCTNAME.SZ

Indique la taille de la mémoire tampon du contrôleur disponible pour une utilisation par l’hôte. La taille est en multiples de l’unité de taille SZU.

Si le décalage (champ OFST de la structure NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ) + Taille (SZ) dépasse la longueur du registre d’adresses de base spécifié (champ BIR dans la structure NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ), la taille disponible pour l’hôte est limitée par la longueur du registre d’adresses de base.

AsUlong

Spécifications

Requirement Valeur
Client minimum requis Windows 10
Header nvme.h

Voir aussi