NVME_SUBMISSION_QUEUE_TAIL_DOORBELL union (nvme.h)

Определяет регистр дверного звонка, который обновляет указатель входа tail для очереди отправки y.

Значение y эквивалентно идентификатору очереди, 16-битовому значению идентификатора, присваиваемому очереди при ее создании. Это значение указывает контроллеру, что новые команды отправлены для обработки.

Смещение очереди отправки y Tail Doorbell (CQyHDBL) составляет: (1000h + ((2y) * (4 << CAP.DSTRD)))

Где CAP.DSTRD — значение поля DSTRD в NVME_CONTROLLER_CAPABILITIES.

Синтаксис

typedef union {
  struct {
    ULONG SQT : 16;
    ULONG Reserved0 : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_SUBMISSION_QUEUE_TAIL_DOORBELL, *PNVME_SUBMISSION_QUEUE_TAIL_DOORBELL;

Члены

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQT

Поле для чтения и записи, указывающее новое значение указателя на ввод заключительного фрагмента очереди отправки.

Это значение перезапишет все ранее предоставленные значения заключительного фрагмента очереди отправки (SQT). Разница между последней записью SQT и текущей записью SQT указывает на количество команд, добавленных в очередь отправки.

Примечание

Необходимо учитывать смену очереди отправки.

DUMMYSTRUCTNAME.Reserved0

Зарезервированное поле только для чтения.

AsUlong

Комментарии

Хозяин не должен считывать регистры дверного звонка. Если считывается регистр дверного звонка, возвращаемое значение зависит от поставщика. Запись в несуществующий doorbell очереди отправки содержит неопределенные результаты.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Верхняя часть nvme.h