Поделиться через


NVME_PRP_ENTRY union (nvme.h)

Содержит поля, указывающие базовый адрес страницы и смещение (PBAO) указателя на страницу физической памяти.

Запись страницы физического региона (PRP) — это указатель на страницу физической памяти. PRP используются в качестве механизма точечной и сборной данных для передачи данных между контроллером и памятью. Чтобы обеспечить эффективную передачу данных не по порядку между контроллером и узлом, записи PRP имеют фиксированный размер.

Размер страницы физической памяти настраивается программным обеспечением узла в поле MPS структуры конфигурации контроллера , а размер поля Смещение определяется значением MPS .

Эта структура используется в полях PRP1 и PRP2структуры NVME_COMMAND .

Синтаксис

typedef union {
  struct {
    ULONGLONG Reserved0 : 2;
    ULONGLONG PBAO : 62;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_PRP_ENTRY, *PNVME_PRP_ENTRY;

Члены

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Reserved0

Зарезервированное поле.

DUMMYSTRUCTNAME.PBAO

Указывает адрес 64-разрядной страницы физической памяти.

Нижние биты (n:2) этого поля указывают на смещение в пределах страницы памяти. Если размер страницы памяти составляет 4 КБ, биты 02:11 образуют смещение; Если размер страницы памяти составляет 8 КБ, биты 02:12 образуют смещение и т. д.

Если эта запись не является первой записью PRP в команде или указателем списка PRP в команде, то часть смещения этого поля должна быть очищена до 0h.

AsUlonglong

Требования

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