Interface Standards/UCIe

[2] UCIe - Protocol Layer

Return 2024. 8. 29. 20:37


이전글) 

 

[1] UCIe (Universal Chiplet Interconnect Express) 개요

개별적으로 패키징되고 상호 연결된 작은 기능으로 대규모 시스템을 구축하는 것이 더 경제적인 것으로 입증될 수 있습니다. (고든 무어)  UCIe는 Universal Chiplet Interconnect Express의 약자로, 칩렛(c

returnclass.tistory.com

 

 

UCIe와 주요 프로토콜에 대한 이해

 UCIe (Universal Chiplet Interconnect Express)는 다양한 프로토콜을 연결하여 데이터 전송을 가능하게 하는 인터페이스입니다. 이 기술은 특히 PCIe(Peripheral Component Interconnect Express)와 CXL(Compute Express Link) 프로토콜을 지원하며, 데이터를 효율적으로 전송하기 위해 Flit 모드라는 일정한 데이터 단위로 변환하여 사용합니다.

주요 프로토콜과 Flit 모드

PCIe 6.0:

  • UCIe는 PCIe 6.0을 Flit 모드로 변환해 사용합니다. 이 모드에는 Raw 모드Standard 256B Flit 모드가 있습니다.
  • Raw 모드는 선택 사항으로, 주로 CPU와 I/O 장치가 서로 다른 랙이나 섀시에 있을 때 UCIe Retimer를 통해 연결하는 경우에 사용됩니다. 프로토콜 계층이 모든 64바이트 데이터를 채우고, 오류 수정 기능(Retry, CRC, FEC)을 처리합니다.
  • Standard 256B Flit 모드는 필수적으로 사용됩니다. 이 모드는 표준 PCIe Flit 형식을 따르며, 다른 벤더들과의 상호 운용성을 보장하기 위해 필요합니다. 프로토콜 계층은 Die-to-Die 어댑터를 위해 예약된 필드에 0을 전송하며, 수신 측에서는 이를 무시합니다.

CXL 2.0 및 CXL 3.0:

  • CXL에는 68B Flit 모드256B Flit 모드가 있으며, 각각의 CXL 기능(CXL.io, CXL.cache, CXL.mem)이 독립적으로 협상될 수 있습니다.
  • CXL 2.0의 경우, 68B Flit 모드가 필수적으로 사용됩니다. 이 모드는 UCIe에서 CXL 프로토콜을 지원할 때 상호 운용성을 보장하기 위해 사용됩니다.
  • CXL 3.0에서는 256B Flit 모드가 추가로 지원되며, 이 모드에는 세 가지 운영 모드가 있습니다:
    • Raw 모드: 선택 사항이며, CPU와 I/O 장치가 다른 랙/섀시에 있을 때 사용됩니다. 프로토콜 계층이 모든 데이터를 채우고, 오류 수정 기능을 처리합니다.
    • Latency-Optimized 256B Flit 모드: 지연 시간을 최소화하기 위해 설계된 모드로, 강력하게 권장됩니다. 이 모드는 Flit을 128B 단위로 소비해 누적 지연을 줄입니다.
    • Standard 256B Flit 모드: 필수 모드로, 표준 Flit 형식을 따르며 상호 운용성을 보장합니다. 프로토콜 계층은 예약된 필드에 0을 전송하며, 수신 측에서는 이를 무시합니다.

Streaming: 

  • 스트리밍 프로토콜은 PCIe 또는 CXL 프로토콜이 광고되지 않을 경우 기본적으로 사용되는 프로토콜입니다.
  • Raw 모드가 필수적으로 지원되며, 프로토콜 계층이 모든 64바이트 데이터를 채워야 합니다.

상호 운용성 요구사항

UCIe에서 다양한 프로토콜 간의 상호 운용성을 보장하기 위해서는 다음과 같은 조건들이 필요합니다:

  • PCIe 6.0을 지원하려면 CXL의 68B Flit 모드도 지원해야 합니다.
  • 256B Flit 모드를 지원하려면 PCIe 6.0의 Flit 모드CXL의 68B Flit 모드를 모두 지원해야 합니다.
  • CXL을 지원하려면, CXL 2.0이나 CXL 68B Flit 모드를 반드시 지원해야 하며, 256B 모드나 PCIe 6.0 지원은 필수가 아닙니다.

프로토콜 협상 과정

D2D 어댑터(Die-to-Die Adapter)는 다른 칩과 연결될 때 어떤 프로토콜과 모드를 사용할지 협상합니다. 이 협상 결과는 프로토콜 계층에 전달되어, 데이터를 전송할 때 사용됩니다. Flit 모드는 전송 효율성과 대역폭, 상호 운용성 등 여러 요소를 균형 있게 맞추기 위해 다양한 형식으로 제공됩니다.

 

지원되는 프로토콜의 운영 모드 요약

Raw 모드:

  • PCIe 6.0: 선택 사항 (Optional)
  • CXL 2.0 또는 CXL 68B Flit 모드: 선택 사항 (Optional)
  • CXL 256B Flit 모드: 선택 사항 (Optional)
  • 스트리밍 프로토콜: 필수 사항 (Mandatory)

Standard 256B Flit 모드:

  • PCIe 6.0: 필수 사항 (Mandatory)
  • CXL 2.0 또는 CXL 68B Flit 모드: 해당 없음 (N/A)
  • CXL 256B Flit 모드: 필수 사항 (Mandatory)

Latency-Optimized 256B Flit 모드:

  • PCIe 6.0: 해당 없음 (N/A)
  • CXL 2.0 또는 CXL 68B Flit 모드: 해당 없음 (N/A)
  • CXL 256B Flit 모드: 강력히 권장됨 (Strongly Recommended)

68B Flit 모드:

  • PCIe 6.0: 해당 없음 (N/A)
  • CXL 2.0 또는 CXL 68B Flit 모드: 필수 사항 (Mandatory)

 

결론

UCIe는 다양한 프로토콜을 효율적으로 연결하여 상호 운용성을 보장하는 중요한 기술입니다. PCIe, CXL, 스트리밍 프로토콜 등 여러 프로토콜이 Flit 모드를 통해 연결되며, 각 프로토콜에 따라 지원되는 운영 모드가 달라집니다. 이러한 운영 모드는 시스템 설계 시 중요한 고려사항으로, 각 프로토콜의 특성과 요구사항을 이해하는 것이 필수적입니다.