1.1 Overview (개요)
NVMe Management Interface Specification은 NVMe Family of Specifications 중 하나.
즉, 단독 스펙이 아니라 아래 스펙들과 역할 분담을 하면서 함께 동작
- NVM Express Base Specification
- I/O Command Set Specifications (NVM, Zoned, KV 등)
- Transport Specifications (PCIe, RDMA, TCP 등)
- NVMe Boot Specification
NVMe Base Spec이 “호스트 ↔ 컨트롤러 간 데이터 I/O” 중심
NVMe-MI는 관리(Management)가 목적
기존 NVMe 아키텍처 위에 얹힌 관리용 확장 레이어
1.2 왜 NVMe-MI가 필요한가?
NVMe 기본 인터페이스는 In-Band Host가 있어야만 동작
하지만 실제 데이터센터/서버 환경에서는 아래와 같은 요구가 있음
- OS가 죽어 있어도 SSD 상태를 보고 싶다
- 시스템 전원 OFF 상태에서도 Health 확인
- BMC에서 직접 SSD Reset / FW 관리
- Enclosure 단위 관리 (백플레인, 다수 SSD)
>> Host/OS에 의존하지 않는 관리 경로가 필요 == NVMe Management Interface
1.3 관리 메커니즘: 두 가지 방식
① Out-of-Band (OOB) Mechanism
완전히 Host/OS와 독립
- Management Controller (예: BMC)가
- 외부 인터페이스를 통해
- NVMe Storage Device 또는 NVMe Enclosure를 관리
- ex: PCIe VDM 기반 MCTP , 2-Wire (SMBus / I²C / I3C)
특징
- Host down / hang 상태에서도 동작
- OS, Driver, NVMe Queue 상태와 무관
- 서버 관리자가 가장 선호하는 방식
② In-Band Tunneling Mechanism
NVMe Admin Command 안에 “관리 명령을 터널링”
- Host가 정상 동작 중일 때 사용
- NVMe-MI Send
- NVMe-MI Receive
NVMe Storage Device / Enclosure는
- OOB만 지원해도 되고
- In-Band만 지원해도 되고
- 둘 다 지원해도 된다
