NVME_CONTROLLER_CAPABILITIES 공용 구조체(nvme.h)
소프트웨어를 호스트하는 컨트롤러의 기본 기능을 지정하는 읽기 전용 값을 포함합니다.
이 구조체는 NVME_CONTROLLER_REGISTERS 구조체의 CAP(컨트롤러 기능) 필드에 사용됩니다.
구문
typedef union {
struct {
ULONGLONG MQES : 16;
ULONGLONG CQR : 1;
ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
ULONGLONG AMS_VendorSpecific : 1;
ULONGLONG Reserved0 : 5;
ULONGLONG TO : 8;
ULONGLONG DSTRD : 4;
ULONGLONG NSSRS : 1;
ULONGLONG CSS_NVM : 1;
ULONGLONG CSS_Reserved0 : 1;
ULONGLONG CSS_Reserved1 : 1;
ULONGLONG CSS_Reserved2 : 1;
ULONGLONG CSS_Reserved3 : 1;
ULONGLONG CSS_Reserved4 : 1;
ULONGLONG CSS_MultipleIo : 1;
ULONGLONG CSS_AdminOnly : 1;
ULONGLONG Reserved2 : 3;
ULONGLONG MPSMIN : 4;
ULONGLONG MPSMAX : 4;
ULONGLONG Reserved3 : 8;
} DUMMYSTRUCTNAME;
ULONGLONG AsUlonglong;
} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;
멤버
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.MQES
컨트롤러에서 지원하는 최대 개별 큐 크기를 나타냅니다.
이 값은 호스트 소프트웨어가 만드는 각 I/O 제출 큐 및 I/O 완료 큐에 적용됩니다.
0의 기반 값입니다. 최소값은 두 개의 큐 항목을 나타내는 입니다 1h
.
DUMMYSTRUCTNAME.CQR
컨트롤러에서 I/O 제출 큐 및 I/O 완료 큐가 물리적으로 연속되어야 하는지 여부를 나타냅니다.
이 필드를 로 1
설정하면 컨트롤러에서 I/O 제출 큐 및 I/O 완료 큐가 물리적으로 연속되어야 합니다.
이 필드가 로 0
지워지면 컨트롤러는 물리적으로 연속되지 않은 I/O 제출 큐 및 I/O 완료 큐를 지원합니다.
이 필드를 로 1
설정하면 I/O 제출 큐 만들기 및 I/O 완료 큐 만들기 명령의 실제 연속 비트(PC 필드)가 로 설정1
됩니다.
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
긴급 우선 순위 클래스 중재 메커니즘이 있는 가중 라운드 로빈이 컨트롤러에서 지원되는지 여부를 나타냅니다.
이 필드를 로 1
설정하면 긴급 우선 순위 클래스 중재 메커니즘이 있는 가중 라운드 로빈이 지원됩니다.
이 AMS_WeightedRoundRobinWithUrgent 및 AMS_VendorSpecific 필드는 컨트롤러에서 지원하는 선택적 중재 메커니즘을 나타냅니다. 모든 컨트롤러가 이 중재 메커니즘을 지원해야 하므로 라운드 로빈 중재 메커니즘이 나열되지 않습니다.
DUMMYSTRUCTNAME.AMS_VendorSpecific
공급업체별 중재 메커니즘이 컨트롤러에서 지원되는지 여부를 나타냅니다.
이 필드를 로 1
설정하면 공급업체별 중재 메커니즘이 지원됩니다.
DUMMYSTRUCTNAME.Reserved0
예약 필드(비트 19~23)입니다.
DUMMYSTRUCTNAME.TO
호스트 소프트웨어가 컨트롤러 상태의 준비(RDY) 값이 전환될 때까지 대기하는 최악의 경우를 나타냅니다.
-
0
NVME_CONTROLLER_CONFIGURATION1
EN 값이 에서 로 전환된 후 로0
1
또는 -
1
NVME_CONTROLLER_CONFIGURATION0
EN 값이 에서 로 전환된 후 로1
0
전환합니다.
이 최악의 경우 갑작스러운 종료 또는 새 펌웨어 이미지 활성화와 같은 이벤트 후에 발생할 수 있습니다. 일반적인 시간은 훨씬 짧을 것으로 예상됩니다.
이 필드의 값은 500밀리초 단위입니다.
DUMMYSTRUCTNAME.DSTRD
초인종 레지스터 간의 보폭 을 나타냅니다.
각 제출 큐 및 완료 큐 초인종 레지스터의 크기는 32비트입니다. stride는 바이트 단위로 (2 ^ (2 + DSTRD))
지정됩니다.
값은 0h
4바이트의 보폭을 나타내며, 초인종 레지스터는 각 레지스터 사이에 예약된 공간 없이 압축됩니다.
DUMMYSTRUCTNAME.NSSRS
컨트롤러가 NVME_NVM_SUBSYSTEM_RESET 구조에 정의된 NVM 하위 시스템 재설정 기능을 지원하는지 여부를 나타냅니다.
이 필드를 로 1
설정하면 컨트롤러는 NVM 하위 시스템 다시 설정 기능을 지원합니다.
이 필드는 로 0
지워집니다. 컨트롤러는 NVM 하위 시스템 재설정 기능을 지원하지 않습니다.
DUMMYSTRUCTNAME.CSS_NVM
이 필드는 NVM 명령 집합이 컨트롤러에서 지원되는지 여부를 나타냅니다. 하나 이상의 명령 집합이 지원되어야 합니다.
이 필드를 로 1
설정하면 NVM 명령 집합이 지원됩니다.
CSS_Reserved6 필드를 통한 CSS_Reserved0 다른 I/O 명령 집합용으로 1
예약됩니다. 이러한 필드 중 하나의 값이 로 설정된 경우 해당 I/O 명령 집합이 지원됩니다.
DUMMYSTRUCTNAME.CSS_Reserved0
DUMMYSTRUCTNAME.CSS_Reserved1
DUMMYSTRUCTNAME.CSS_Reserved2
DUMMYSTRUCTNAME.CSS_Reserved3
DUMMYSTRUCTNAME.CSS_Reserved4
DUMMYSTRUCTNAME.CSS_MultipleIo
DUMMYSTRUCTNAME.CSS_AdminOnly
DUMMYSTRUCTNAME.Reserved2
DUMMYSTRUCTNAME.MPSMIN
컨트롤러가 지원하는 최소 호스트 메모리 페이지 크기를 나타냅니다.
최소 메모리 페이지 크기는 입니다 (2 ^ (12 + MPSMIN))
.
호스트는 이 값보다 작은 NVME_CONTROLLER_CONFIGURATIONMPS 필드에 메모리 페이지 크기를 구성하지 않습니다.
DUMMYSTRUCTNAME.MPSMAX
컨트롤러에서 지원하는 최대 호스트 메모리 페이지 크기를 나타냅니다.
최대 메모리 페이지 크기는 입니다 (2 ^ (12 + MPSMAX))
.
호스트는 이 값보다 큰 NVME_CONTROLLER_CONFIGURATIONMPS 필드에 메모리 페이지 크기를 구성하지 않습니다.
DUMMYSTRUCTNAME.Reserved3
AsUlonglong
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
머리글 | nvme.h |