2. Physical Layer
이 섹션에서는 이 Specification 에서 지원하는 NVMe Storage Devices 또는 NVMe Enclosures의 물리적 계층에 대해 설명합니다.
2.1 PCI Express
이 specification에서는 아웃오브밴드 메커니즘과 인밴드 터널링 메커니즘 모두에 물리적 계층으로 PCI Express를 사용합니다.
아웃오브밴드 메커니즘의 경우, NVMe Storage Device 또는 NVMe Enclosure의 PCIe 포트는 Management Endpoint를 구현할 수 있습니다. PCIe 포트가 Management Endpoint를 구현하는 경우, 해당 PCIe 포트는 MCTP over PCIe Vendor Defined Messages (VDMs)를 지원해야 하며, 이는 MCTP PCIe VDM Transport Binding Specification에서 명시된 대로 이루어져야 합니다.
인밴드 터널링 메커니즘의 경우, 호스트 소프트웨어는 PCI Express를 통해 NVMe Admin Queue로 NVMe Admin Commands(NVMe-MI Send 및 NVMe-MI Receive)를 발행합니다. NVMe-MI Send 및 NVMe-MI Receive 명령에 대한 자세한 내용은 NVM Express Base Specification 및 이 specification의 섹션 4.3를 참조하십시오.
2.2 SMBus/I2C
이 섹션에서는 SMBus/I2C 포트를 구현하는 NVMe Storage Device 또는 NVMe Enclosure의 요구 사항을 정의합니다. SMBus/I2C 물리적 계층은 아웃오브밴드 메커니즘에만 적용됩니다.
만약 NVMe Storage Device 또는 NVMe Enclosure가 Management Endpoint가 SMBus/I2C 포트에 연결된 NVM Subsystem을 구현하는 경우, 해당 포트는 MCTP SMBus/I2C Transport Binding Specification을 준수해야 합니다.
NVM Subsystem은 또한 NVMe Basic Management Command를 지원할 수 있습니다. NVMe Basic Management Command는 부록 A에 정보용 기술 참고 자료로 정의되어 있지만, 새로운 설계에는 권장되지 않습니다.
Figure 16은 NVMe Storage Device 또는 NVMe Enclosure에서 지원되는 SMBus/I2C 요소를 나열합니다. 각 SMBus/I2C 요소에 대해 기본 SMBus/I2C 주소와 해당 SMBus/I2C 요소가 NVMe Storage Device 또는 NVMe Enclosure에서 필요한 조건이 제공됩니다. NVMe Storage Device에서 Expansion Connectors의 존재 여부에 따라 FRU Information Device에 사용되는 두 가지 상호 배타적인 SMBus/I2C 주소 중 어느 것을 사용할지가 결정됩니다. Expansion Connectors가 NVMe Storage Devices로 채워져 있을 때 SMBus/I2C 주소 충돌을 피하기 위해 Carriers와 비-Carriers의 NVMe Storage Devices에 대해 FRU Information Device에 대해 다른 SMBus/I2C 주소를 사용하는 것이 좋습니다.
SMBus/I2C 요소에서 ARP 지원은 동일한 기본 SMBus/I2C 주소를 가진 NVMe Storage Device 또는 NVMe Enclosure의 여러 SMBus/I2C 요소가 동일한 SMBus/I2C 채널에 있는 경우에만 선택적으로 지원됩니다.
호스트 플랫폼은 하나 이상의 관리 엔드포인트(예: 데이터 센터 플랫폼 및 워크스테이션)을 사용할 것으로 예상되는 경우 종종 SMBus/I2C 채널을 격리하여 관리 엔드포인트가 다른 SMBus/I2C 요소의 주소와 충돌하지 않도록합니다. ARP를 지원하지 않는 관리 엔드포인트가 ARP를 지원하지 않는 플랫폼(예: 일부 클라이언트 플랫폼)과 함께 사용될 때 SMBus/I2C 주소 충돌이 발생할 수 있습니다. ARP는 관리 컨트롤러와 NVMe 스토리지 디바이스 또는 NVMe 인클로저 양측에서 지원될 때 시스템에서 SMBus/I2C 주소를 동적으로 다시 할당하는 데 사용됩니다.
ARP를 지원하는 SMBus/I2C 요소는 DSA 장치로 구현되어야 합니다(SMBus 사양 참조). 이러한 장치는 "Notify ARP Master" 명령을 발행해서는 안 됩니다.
NVM Subsystem에서 ARP가 지원되는 경우 해당 NVM Subsystem과 관련된 모든 SMBus/I2C 요소는 Figure 17에 나와 있는 SMBus 주소 해결 프로토콜 고유 디바이스 식별자(UDID)를 사용해야 합니다. ARP UDID는 고유한 식별자입니다. UDID 벤더 ID 비트 31:30은 동일한 NVM Subsystem과 함께 그룹화할 수 있는 최대 네 개의 SMBus/I2C 요소를 허용합니다. 이 그룹 내에서 UDID의 유일한 차이점은 Vendor Specific ID의 가장 상위 두 비트입니다. 이 정보는 관리 컨트롤러가 SMBus/I2C 관리 엔드포인트를 해당 FRU 정보 장치와 연결하는 데 사용될 수 있습니다.
SMBus ARP를 지원하는 NVMe 스토리지 디바이스 또는 NVMe 인클로저에 여러 NVM Subsystem이 있는 경우 UDID의 Unique NVM Storage Device ID 필드는 각 NVM Subsystem에 대해 1씩 증가해야 합니다. Upstream Connector에 SMBus/I2C 포트가 있는 경우 해당 커넥터에 연결된 SMBus/I2C 채널에 직접 연결된 Upstream Connector와 관련된 FRU 정보 디바이스가 있어야 합니다.
시계 스트레칭은 관리 컨트롤러, 관리 엔드포인트 및 FRU 정보 디바이스에서 허용됩니다. 그러나 구현에서는 클록 스트레칭을 사용하지 않도록 강력히 권장하여 통신이 더 예측 가능하고 높은 처리량을 갖게 됩니다.
NACK를 수신하면 관리 엔드포인트는 MCTP SMBus/I2C Transport Binding Specification의 비-브리지 엔드포인트에 대해 따라야 합니다. 관리 엔드포인트는 SMBus NACK로 인한 STOP 조건을 암시적인 Pause Control Primitive로 처리합니다. 섹션 4.2.1.1을 참조하세요.
2.3 Error Handling
물리적 레이어 오류는 해당 물리적 레이어 사양 및 MCTP 전송 바인딩 사양에 따라 처리됩니다. 이 사양은 떨어진 MCTP 트래픽의 이유를 보고하는 능력 (섹션 4.2.1.4 참조) 및 떨어진 MCTP 트래픽을 다시 재생하는 능력 (섹션 4.2.1.5 참조)을 추가하는 Control Primitives를 정의합니다.
'NVMe-MI' 카테고리의 다른 글
[NVMe-MI] 3. Message Transport (1) | 2023.12.27 |
---|---|
[NVMe-MI] 1. Introduction (3) | 2023.12.27 |