이전글)
개별적으로 패키징되고 상호 연결된 작은 기능으로 대규모 시스템을 구축하는 것이 더 경제적인 것으로 입증될 수 있습니다.
(고든 무어)
UCIe는 Universal Chiplet Interconnect Express의 약자로, 칩렛(chiplet)들 간의 효율적이고 고성능 통신을 가능하게 하는 open-standard 입니다. UCIe standard는 여러 vendor에서 개발된 chiplet이 하나의 SoC내에서 쉽게 통합될 수 있는 생태계를 구축하는 것을 목표로 합니다. chiplet은 더 큰 시스템의 구성 요소로서 IC를 의미하며, UCIe는 이러한 chiplet들이 통합된 패키지 안에서 원할하게 상호작용할 수 있도록 해줍니다.
구성 요소 및 구조
Protocol Layer
역할 및 기능:
Protocol layer는 chiplet간의 data 통신을 담당하며,다양한 protocol을 지원하여 다양한 유형의 chiplet들이 서로 통신할 수 있도록 합니다. UCIe는 아래와 같은 protocol을 지원합니다.
- PCIe (Pheripheral Component Interconnect Express): High speed seiral 통신을 통해 chiplet 간 data를 전송하는 데 사용됩니다. PCIe는 널리 사용되는 표준으로, 대용량 데이터 전송이 필요한 다양한 응용 프로그램에서 활용됩니다.
- CXL (Compute Express Link): 메모리 연결과 가속기 통신을 위해 설계된 프로토콜입니다. CXL은 PCIe와 같은 physical layer를 공유하지만, cache coherency와 PCIe에 비해 low latency에 최적화되어 있습니다.
- Streaming protocol: 특정 application에 맞춘 사용자 정의 protocol로, data를 stream형태로 전송합니다. 대표적으로 AXI protocol이 있습니다.
주요 기능:
- Protocol 다중화: UCIe의 protocol layer는 다중 protocol을 지원하므로, chiplet간 통신에 적합한 protocol을 선택할 수 있습니다. 예를들어, PCIe와 CXL을 동시에 지원하며, application의 요구에 따라 적절한 protocol을 선택해 사용할 수 있습니다.
- Plug & Play: Protocol layer는 chiplet간의 통신이 단순하고 자도으로 이루어지도록 설계되어, 새로운 chiplet을 시스템에 추가할 때 추가 설정 없이도 원할한 통신이 가능하게 합니다.
Die-to-Die Adapter
역할 및 기능:
Die-to-Die Adapter layer는 UCIe의 data link 에서부터 transaction layer까지의 통신을 담당합니다. 이 계층은 chiplet간 데이터 전송의 신뢰성과 효율성을 보장하는 중요한 역할을 합니다.
- Packetlize 및 error detection: data를 packet화하여 전송하며, 각 packet에 header와 ECC를 포함시킵니다. 이를 통해 데이터 전송 중 발생할 수 있는 오류를 감지하고, 필요시 재전송(retry)를 요청합니다.
- Flit size: 데이터 전송의 기본 단위인 flit의 크기를 결정합니다. UCIe에서는 68byte와 256byte flit size를 지원하며, 이 크기는 chiplet간 협상을 통해 결정됩니다.
- CRC: CRC를 사용하여 전송 데이터의 무결성을 검증합니다. CRC check 오류 발생 시 data의 재전송 메커니즘이 실행됩니다.
주요 기능:
- 신뢰성 있는 데이터 전송: 데이터가 올바르게 전송되고 있는지 지속적으로 확인하며, 오류가 발생할 경우 이를 자동으로 감지하고 교정할 수 있습니다. 이를 통해 chiplet간 데이터 전송의 신뢰성을 향상시킵니다.
- 프로토콜 독립성: Die-to-Die Adaptor 계층은 특정 protocol에 종속되지 않으며, 다양한 protocol에서 data를 받아 처리할 수 있습니다. 이는 UCIe가 다양한 환셩에서 유연하게 사용될 수 있도록 합니다.
Physical Layer
Die-to-Die I/O :
- physical layer의 핵심은 chiplet간의 데이터 전송을 위한 I/O 인터페이스입니다. 이 인터페이스는 chiplet들이 패키지 내에서 서로 데이터를 주고 받을 수 있도록 합니다.
UCIe의 계층적 구조와 프로토콜 독립성?
처음 UCIe를 접할 때 혼란이 있을 수 있는 부분이 어떻게 여러 개의 protcol을 UCIe에 통합할 수 있고, 어떻게 동작하는지 입니다. 이는 UCIe의 핵심 계층인 Die-to-Die Adapter 가 있기 때문입니다. 예를 들어 생각해봅시다.
PCIe 예시: UCIe와의 통합
PCIe protocol의 경우, 일반적으로 세 가지 계층으로 나누어집니다.
- Transaction Layer: transaction 요청 및 응답을 관리하는 계층
- Data Link Layer: 데이터 전송의 신뢰성을 보장하는 계층
- Physical Layer: 실제 데이터의 물리적 전송을 처리하는 계층
UCIe에서 PCIe를 사용할 경우, 다음과 같은 방식으로 통합됩니다.
- Physical Layer: UCIe의 PHY가 PCIe의 PHY를 대체합니다. UCIe의 physical layer는 chiplet 간의 전기적 연결을 처리하며, 이는 PCIe의 physcial layer와 호화될 수 있도록 설계되었습니다.
- Data link 및 Transaction Layer: PCIe의 data link layer와 transaction layer는 UCIe의 die-to-die adapter layer및 protocol layer를 통해 매핑됩니다. 즉, die-to-die adapter에서 PCIe의 data link및 transaction layer에서 필요한 기능을 수행합니다.
Reference)
- Hot Chips 2023
'Interface Standards > UCIe' 카테고리의 다른 글
[3] UCIe - Die to Die Adapter - 1 (0) | 2024.08.30 |
---|---|
[2] UCIe - Protocol Layer (0) | 2024.08.29 |
[0] Why Chiplets? (0) | 2024.08.29 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!