union NVME_CONTROLLER_MEMORY_BUFFER_SIZE (nvme.h)

Définit la taille du registre facultatif de mémoire tampon du contrôleur 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é en 0h.

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;

Membres

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQS

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

Lorsque cette valeur est définie sur 1, le contrôleur prend en charge Administration et les files d’attente de soumission d’E/S dans la mémoire tampon du contrôleur. Lorsque cette valeur est effacée sur 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 Administration et les files d’attente d’achèvement d’E/S dans la mémoire tampon du contrôleur.

Lorsque cette valeur est définie sur 1, le contrôleur prend en charge Administration et les files d’attente d’achèvement d’E/S dans la mémoire tampon du contrôleur. Lorsque cette valeur est effacée sur 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 la Listes de collecte de points (SGL) dans la mémoire tampon du contrôleur.

Lorsque cette valeur est définie sur 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 listes DEG sont prises en charge par le contrôleur, le contrôleur prend en charge les sgL dans la mémoire tampon du contrôleur. Si ce bit est défini sur 1, le champ SqS (Submission Queue Support) est défini sur 1.

Lorsque cette valeur est effacée sur 0, tous les Listes prp et les listes DEG sont placés dans la mémoire de l’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 Read, qui transfèrent des données du contrôleur vers l’hôte.

Lorsque cette valeur est définie sur 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 des données du contrôleur vers l’hôte.

Lorsque cette valeur est effacée sur 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 de l’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 Write, qui transfèrent des données de l’hôte vers le contrôleur.

Lorsque cette valeur est définie sur 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 des données de l’hôte vers le contrôleur.

Lorsque cette valeur est effacée sur 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 de la mémoire de l’hôte.

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.SZU

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

DUMMYSTRUCTNAME.SZ

Indique la taille de la mémoire tampon du contrôleur pouvant être utilisée par l’hôte. La taille est en multiples de l’unité de taille SZU.

Si le décalage (champ OFST dans 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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
En-tête nvme.h

Voir aussi