다음을 통해 공유


NVME_PRP_ENTRY 공용 구조체(nvme.h)

실제 메모리 페이지에 대한 포인터의 페이지 기본 주소 및 오프셋(PBAO)을 지정하는 필드를 포함합니다.

PRP(물리적 지역 페이지) 항목은 실제 메모리 페이지에 대한 포인터입니다. PRP는 컨트롤러와 메모리 간의 데이터 전송을 위한 분산/수집 메커니즘으로 사용됩니다. 컨트롤러와 호스트 간에 효율적으로 순서가 다른 데이터 전송을 사용하도록 설정하기 위해 PRP 항목은 고정된 크기입니다.

실제 메모리 페이지의 크기는 컨트롤러 구성 구조의 MPS 필드에 있는 호스트 소프트웨어에 의해 구성되며 오프셋 필드의 크기는 MPS 값에 따라 결정됩니다.

이 구조체는 NVME_COMMAND 구조체의 PRP1PRP2 필드에 사용됩니다.

구문

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)는 메모리 페이지 내의 오프셋을 나타냅니다. 메모리 페이지 크기가 4KB이면 비트 02:11이 오프셋을 형성합니다. 메모리 페이지 크기가 8KB이면 비트 02:12가 오프셋 등을 형성합니다.

이 항목이 명령의 첫 번째 PRP 항목이나 명령의 PRP 목록 포인터가 아닌 경우 이 필드의 오프셋 부분을 로 지워 0h야 합니다.

AsUlonglong

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10
머리글 nvme.h