NVME_NVM_COMMANDS 열거형(nvme.h)
NVM 명령 집합의 명령을 나타내는 값을 포함합니다.
Syntax
typedef enum {
NVME_NVM_COMMAND_FLUSH,
NVME_NVM_COMMAND_WRITE,
NVME_NVM_COMMAND_READ,
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE,
NVME_NVM_COMMAND_COMPARE,
NVME_NVM_COMMAND_WRITE_ZEROES,
NVME_NVM_COMMAND_DATASET_MANAGEMENT,
NVME_NVM_COMMAND_VERIFY,
NVME_NVM_COMMAND_RESERVATION_REGISTER,
NVME_NVM_COMMAND_RESERVATION_REPORT,
NVME_NVM_COMMAND_RESERVATION_ACQUIRE,
NVME_NVM_COMMAND_RESERVATION_RELEASE,
NVME_NVM_COMMAND_COPY,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE,
NVME_NVM_COMMAND_ZONE_APPEND
} NVME_NVM_COMMANDS;
상수
NVME_NVM_COMMAND_FLUSH 지정된 네임스페이스와 연결된 데이터 및 메타데이터를 비휘발성 미디어에 커밋하는 Flush 명령입니다. Flush 명령은 Flush 명령을 제출하기 전에 완료된 모든 명령에 적용됩니다. 컨트롤러는 네임스페이스에서 추가 데이터 및/또는 메타데이터를 플러시할 수도 있습니다. |
NVME_NVM_COMMAND_WRITE 데이터 및 메타데이터(해당하는 경우)를 지정된 논리 블록의 NVM 컨트롤러에 쓰는 Write 명령입니다. 호스트는 작업의 일부로 포함할 보호 정보를 지정할 수도 있습니다. 명령은 명령 Dword 10, 명령 Dword 11, 명령 Dword 12, 명령 Dword 13, 명령 Dword 14 및 명령 Dword 15 필드를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 메타데이터 포인터, PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 메타데이터 SGL 세그먼트 포인터 및 SGL 항목 1 필드가 사용됩니다. |
NVME_NVM_COMMAND_READ 지정된 논리 블록에 대한 NVM 컨트롤러에서 데이터 및 메타데이터(해당하는 경우)를 읽는 읽기 명령입니다. 명령은 읽기 작업의 일부로 검사할 보호 정보를 지정할 수 있습니다. 명령은 명령 Dword 10, 명령 Dword 11, 명령 Dword 12, 명령 Dword 13, 명령 Dword 14 및 명령 Dword 15 필드를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 메타데이터 포인터, PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 메타데이터 SGL 세그먼트 포인터 및 SGL 항목 1 필드가 사용됩니다. |
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE 논리 블록 범위를 잘못된 것으로 표시하는 데 사용되는 수정할 수 없는 쓰기 명령입니다. 이 작업 후에 지정된 논리 블록을 읽으면 복구되지 않은 읽기 오류 상태 오류가 반환됩니다. 잘못된 논리 블록 상태 지우기 위해 해당 논리 블록에서 쓰기 작업이 수행됩니다. 사용되는 필드는 명령 Dword 10, 명령 Dword 11 및 명령 Dword 12 필드입니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
NVME_NVM_COMMAND_COMPARE 매개 변수에서 명령으로 지정된 논리 블록을 읽고 읽은 데이터를 명령의 일부로 전송된 비교 데이터 버퍼와 비교하는 Compare 명령입니다. 컨트롤러에서 읽은 데이터와 비교 데이터 버퍼가 잘못 컴파일되지 않은 것과 동일한 경우 명령이 성공적으로 완료됩니다. 잘못된 구성 요소가 있으면 오류 비교 오류와 함께 명령이 완료됩니다. 메타데이터가 제공되면 메타데이터에 대해서도 비교가 수행됩니다. 명령은 명령 Dword 10, 명령 Dword 11, 명령 Dword 12, 명령 Dword 14 및 명령 Dword 15 필드를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 메타데이터 포인터, PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 메타데이터 SGL 세그먼트 포인터 및 SGL 항목 1 필드가 사용됩니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
NVME_NVM_COMMAND_WRITE_ZEROES 논리 블록 범위를 0으로 설정하는 데 사용되는 Write Zeroes 명령입니다. 이 명령이 성공적으로 완료되면 이 LBA 범위에 대한 쓰기가 발생할 때까지 이 범위의 논리 블록에 대한 후속 읽기에서 반환되는 값은 0이 됩니다. 이 명령에 대한 메타데이터는 모두 0이어야 하며 보호 정보는 CDW12에 따라 업데이트됩니다. PRINFO. 사용되는 필드는 명령 Dword 10, 명령 Dword 11, 명령 Dword 12, 명령 Dword 14 및 명령 Dword 15 필드입니다. |
NVME_NVM_COMMAND_DATASET_MANAGEMENT 호스트에서 논리 블록 범위에 대한 특성을 나타내는 데 사용되는 데이터 세트 관리 명령입니다. 여기에는 데이터를 읽거나 쓰는 빈도, 액세스 크기 및 성능 및 안정성을 최적화하는 데 사용할 수 있는 기타 정보와 같은 특성이 포함됩니다. 이 명령은 권고입니다. 규격 컨트롤러는 제공된 정보에 따라 아무 작업도 수행하지 않을 수 있습니다. 명령은 명령 Dword 10 및 명령 Dword 11 필드를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 SGL 항목 1 필드가 사용됩니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
NVME_NVM_COMMAND_RESERVATION_REGISTER 예약 키를 등록, 등록 취소 또는 바꾸는 데 사용되는 예약 등록 명령입니다. 명령은 메모리에서 명령 Dword 10 및 예약 등록 데이터 구조를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 SGL 항목 1 필드가 사용됩니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
NVME_NVM_COMMAND_RESERVATION_REPORT 네임스페이스의 등록 및 예약 상태 설명하는 예약 상태 데이터 구조를 메모리에 반환하는 예약 보고서 명령입니다. 예약 상태 데이터 구조의 크기는 네임스페이스의 등록자인 호스트와 연결된 NVM 하위 시스템의 컨트롤러 수에 대한 함수입니다(예: 각 컨트롤러에 대해 등록된 컨트롤러 데이터 구조가 있습니다). |
NVME_NVM_COMMAND_RESERVATION_ACQUIRE 네임스페이스에서 예약을 획득하고, 네임스페이스에 있는 예약을 선점하고, 네임스페이스에 보관된 예약을 중단하는 데 사용되는 예약 획득 명령입니다. 명령은 명령 Dword 10 및 예약 메모리의 데이터 획득 구조를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 SGL 항목 1 필드가 사용됩니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
NVME_NVM_COMMAND_RESERVATION_RELEASE 네임스페이스에 있는 예약을 해제하거나 지우는 데 사용되는 예약 릴리스 명령입니다. 명령은 메모리에서 명령 Dword 10 및 예약 릴리스 데이터 구조를 사용합니다. 명령이 데이터 전송에 PRP를 사용하는 경우 PRP 항목 1 및 PRP 항목 2 필드가 사용됩니다. 명령이 데이터 전송에 SGL을 사용하는 경우 SGL 항목 1 필드가 사용됩니다. 다른 모든 명령 관련 필드는 예약되어 있습니다. |
설명
컨트롤러 가 컨트롤러 상태 레지스터에 표시된 대로 준비되고 적절한 I/O 제출 큐 및 I/O 완료 큐가 만들어진 후 호스트가 NVM 명령을 제출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
머리글 | nvme.h |