CXL Version Comparison
๊ฐ์
CXL(Compute Express Link)์ CPU์ ๊ฐ์๊ธฐ, ๋ฉ๋ชจ๋ฆฌ ๋๋ฐ์ด์ค ์ฌ์ด๋ฅผ ์๋ ์คํ ์ธํฐ์ปค๋ฅํธ ํ์ค์ด๋ค. PCIe ๋ฌผ๋ฆฌ ๊ณ์ธต ์์์ CXL.io, CXL.cache, CXL.mem์ ํจ๊ป ์ฌ์ฉํ๋ฉฐ, ์ฝํ์ด๋ฐ์์ ๋ฉ๋ชจ๋ฆฌ ํ์ฅ์ ๋์์ ๋ค๋ฃฐ ์ ์๋๋ก ์ค๊ณ๋๋ค.
๋ฒ์ ์ด ์ฌ๋ผ๊ฐ์๋ก ๊ธฐ๋ฅ์ ์ด์ ๋ ๋ฐ๋๋ค. 1.x๋ ์ ๋์ ์ฐ๊ฒฐ๊ณผ ๊ธฐ๋ณธ ์ฝํ์ด๋ฐ์ค, 2.0์ ์ค์์นญ๊ณผ ํ๋ง, 3.0์ ํจ๋ธ๋ฆญ๊ณผ ๋ค์ค ํ, 3.1์ 3.0 ๊ธฐ๋ฐ์ ๋ณด๊ฐ ๋ฒ์ ์ผ๋ก ๋ณด๋ ๊ฒ์ด ๊ฐ์ฅ ์ฝ๊ธฐ ์ฝ๋ค.
ํต์ฌ ๊ฐ๋
ํ๋กํ ์ฝ ์คํ
์ธ ํ๋กํ ์ฝ์ ๋ชจ๋ ์ธ๋์์ ๊ณตํต์ ๋ผ๋๋ฅผ ์ด๋ฃฌ๋ค.
ํต์ฌ์ CXL.io๊ฐ ์ ์ด๋ฉด์, CXL.cache์ CXL.mem์ด ๋ฐ์ดํฐ๋ฉด์ ๋งก๋๋ค๋ ์ ์ด๋ค. 2.0 ์ดํ์๋ ์ค์์น, HDM decoder, ๋
ผ๋ฆฌ ๋๋ฐ์ด์ค(LD), ๋ฉ๋ชจ๋ฆฌ ํ๋ง ๊ฐ์ ์ด์ ์์๊ฐ ๋ํด์ง๋ฏ๋ก, ๋จ์ ๋งํฌ ๊ท๊ฒฉ๋ณด๋ค ์์คํ
๋ฉ๋ชจ๋ฆฌ ์์์ ์ด๋ป๊ฒ ๋
ธ์ถํ๊ณ ๊ด๋ฆฌํ๋์ง๊น์ง ํจ๊ป ๋ด์ผ ๋ฒ์ ์ฐจ์ด๊ฐ ์ ๋ช
ํด์ง๋ค.
| ๊ณ์ธต | ์ญํ |
|---|---|
CXL.io |
์ฅ์น ๋ฐ๊ฒฌ, ์ค์ , ์ธํฐ๋ฝํธ, DMA, ๋ ์ง์คํฐ ์ ๊ทผ |
CXL.cache |
๋๋ฐ์ด์ค๊ฐ ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝํ์ด๋ฐํธํ๊ฒ ์บ์ |
CXL.mem |
ํธ์คํธ๊ฐ ๋๋ฐ์ด์ค์ ๋ถ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝํ์ด๋ฐํธํ๊ฒ ์ ๊ทผ |
| ARB/MUX | CXL.io์ ์ฝํ์ด๋ฐ์ค ํธ๋ํฝ์ ๋งํฌ์์ ์กฐ์ |
๋๋ฐ์ด์ค ํ์
| ํ์ | ์ฃผ ์ฉ๋ | ํ๋กํ ์ฝ |
|---|---|---|
| Type 1 | ์ฝํ์ด๋ฐํธ ๊ฐ์๊ธฐ | CXL.io + CXL.cache |
| Type 2 | GPU, FPGA ๊ฐ์ ๊ฐ์๊ธฐ + ๋ก์ปฌ ๋ฉ๋ชจ๋ฆฌ | CXL.io + CXL.cache + CXL.mem |
| Type 3 | ๋ฉ๋ชจ๋ฆฌ ์ต์คํฌ๋, FAM | CXL.io + CXL.mem |
ํ ํด๋ก์ง ์งํ
1.x๋ ํธ์คํธ์ ์ฅ์น๊ฐ 1:1๋ก ์ง์ ๋ถ๋ ๊ตฌ์กฐ๋ค. 2.0์์ ์ค์์น๊ฐ ๋ค์ด์ค๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ํ๋ง๊ณผ ๋์ ํ ๋น์ด ๊ฐ๋ฅํด์ก๊ณ , 3.0์์๋ ๋ค์ค ์ค์์น์ ๋นํธ๋ฆฌ ํจ๋ธ๋ฆญ, ๋ค์ค ํธ์คํธ ๊ณต์ ๊น์ง ํ์ฅ๋๋ค.
๋น๊ต/๋ถ์
์๋ ํ๋ ๊ฐ ๋ฒ์ ์ ์ฐจ์ด๋ฅผ ํ๋์ ๋ณด๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํ ๊ฒ์ด๋ค. NEW๋ ํด๋น ์ธ๋์์ ์ฒ์ ๋ณธ๊ฒฉํ๋ ๊ธฐ๋ฅ์ ๋ปํ๋ค.
| ํญ๋ชฉ | 1.0 | 1.1 | 2.0 | 3.0 | 3.1 |
|---|---|---|---|---|---|
| ๊ณต๊ฐ ์์ | 2019-03 | 2019-06 | 2020-11 | 2022-08 | 2023-11 |
| ๊ธฐ๋ฐ PHY | PCIe 5.0 | PCIe 5.0 | PCIe 5.0 | PCIe 6.0 | PCIe 6.0 |
| ์ ์ก ๋ฐฉ์ | NRZ | NRZ | NRZ | PAM4 | PAM4 |
| ๋งํฌ ๋ฐ์ดํฐ ๋จ์ | 528-bit(66B) FLIT ๊ณ์ด | 528-bit(66B) FLIT ๊ณ์ด | 528-bit(66B) FLIT ๊ณ์ด | 256B FLIT + FEC | 256B FLIT + FEC |
| ํ ํด๋ก์ง | Point-to-Point | Point-to-Point | NEW 1-hop ์ค์์นญ | NEW ๋ค์ค ํ ํจ๋ธ๋ฆญ | ๋ค์ค ํ ํจ๋ธ๋ฆญ |
| ์ค์์นญ | ์์ | ์์ | NEW ์ง์ | ์ง์ | ์ง์ |
| ๋ฉ๋ชจ๋ฆฌ ํ๋ง | ์์ | ์์ | NEW ์ง์ | ์ง์ | ์ง์ |
| ๋๋ฐ์ด์ค/ํธ์คํธ ๊ณต์ | ์ ํ์ | ์ ํ์ | ์ ํ์ | NEW ๋ค์ค ํธ์คํธ ๊ณต์ | ๋ค์ค ํธ์คํธ ๊ณต์ |
| P2P / FAM / BI | ์์ | ์์ | ์์ | NEW ์ง์ | ์ง์ |
| ํต์ฌ ํฌ์ธํธ | ๊ธฐ๋ณธ CXL ์์์ | 1.0 ์ ๋ฆฌ๋ณธ | ์ค์์นญ๊ณผ ํ๋ง ๋์ | ํจ๋ธ๋ฆญ, ๊ณต์ , P2P ํ๋ | 3.0 ์ ์ง + ๋ณด๊ฐ |
์ฐธ๊ณ ๋ก CXL Consortium์ 2024๋ ๋ง CXL 3.2๋ฅผ, 2025๋ ์๋ CXL 4.0์ ๊ณต๊ฐํ๋ค. 3.2๋ 3.0/3.1์ ํจ๋ธ๋ฆญ ๋ฐฉํฅ์ ์ ์งํ๋ฉด์ ๊ด๋ฆฌ์ฑ๊ณผ ์ํธ์ด์ฉ์ฑ์ ๋ค๋ฌ๋ ์ฑ๊ฒฉ์ด ๊ฐํ๊ณ , 4.0์ 128 GT/s์ bundled ports, memory RAS ๊ฐํ๋ฅผ ํตํด ๋ ๊ท๋ชจ ํ์ฅ์ฑ์ ๋ ๋ฐ์ด๋ถ์ด๋ ๋ก๋๋งต์ผ๋ก ์ฝํ๋ค.
๋์ ์๋ฆฌ
CXL ๋์์ ๋ณดํต ์ธ ๋จ๊ณ๋ก ์ดํดํ๋ฉด ์ฝ๋ค.
CXL.io๊ฐ ์ฅ์น๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์ค์ ํ๋ค.CXL.cache๊ฐ ๊ฐ์๊ธฐ ์ชฝ ์ฝํ์ด๋ฐ์ค์ ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ๋ด๋นํ๊ณ ,CXL.mem์ด ์ฅ์น ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ๋ด๋นํ๋ค.- 2.0 ์ดํ์๋ ์ค์์น์ ํจ๋ธ๋ฆญ์ด ์ค๊ฐ์ ๋ค์ด์ค๋ฉฐ, 3.0๋ถํฐ๋ P2P, Back-Invalidation, FAM ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต์ ๋ฒ์๊ฐ ๋์ด์ง๋ค.
์ด ๋๋ฌธ์ CXL์ ๋จ์ํ ๊ณ ์ I/O๊ฐ ์๋๋ผ, ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ ์์คํ ๋ฐ๊นฅ์ผ๋ก ํ์ฅํ๋ ์ธํฐ์ปค๋ฅํธ๋ก ์ฐ์ธ๋ค.
์ค์ ํ๋ซํผ์์๋ BIOS/ํ์จ์ด๊ฐ ๋งํฌ์ ๋๋ฐ์ด์ค๋ฅผ ์ด๊ธฐํํ๊ณ , OS๊ฐ CXL ๋ฒ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฅ์น๋ฅผ ์ด๊ฑฐํ ๋ค, ๋ฉ๋ชจ๋ฆฌ ์ ์ฑ ๊ณ์ธต์ด ํ๋ง๋ ์ฉ๋์ NUMA ๋ ธ๋๋ tiered memory๋ก ๋ฐฐ์นํ๋ค. ๋ฐ๋ผ์ ๊ฐ์ CXL 2.0 ์ฅ์น๋ผ๋ ๋จ์ ๋ฉ๋ชจ๋ฆฌ ํ์ฅ์ธ์ง, ์ฌ๋ฌ ํธ์คํธ๊ฐ ๋๋ ์ฐ๋ ํ ์์์ธ์ง์ ๋ฐ๋ผ ์ฒด๊ฐ ์ฑ๋ฅ๊ณผ ์ํํธ์จ์ด ๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง๋ค.
์ฅ๋จ์
| ์ฅ์ | ๋จ์ |
|---|---|
| ๋ฉ๋ชจ๋ฆฌ ์ฉ๋๊ณผ ๋์ญํญ์ ์ ์ฐํ๊ฒ ํ์ฅํ ์ ์๋ค | ์ธ๋๊ฐ ์ฌ๋ผ๊ฐ์๋ก ๊ฒ์ฆ๊ณผ ๊ตฌํ ๋ณต์ก๋๊ฐ ์ปค์ง๋ค |
| ์ฝํ์ด๋ฐ์ค ๋๋ถ์ ์ํํธ์จ์ด ๋ชจ๋ธ์ ํฌ๊ฒ ๋ฐ๊พธ์ง ์์๋ ๋๋ค | ํจ๋ธ๋ฆญ๊ณผ ์ค์์นญ์ ์ง์ฐ ์๊ฐ๊ณผ ์ ๋ ฅ ๊ด๋ฆฌ ๋ถ๋ด์ ๋๋ฆฐ๋ค |
| ํ๋ง๊ณผ ๊ณต์ ๋ก ์์ ํ์ฉ๋ฅ ์ ๋์ผ ์ ์๋ค | OS, ํ์จ์ด, ํ๋ซํผ ์ง์์ด ํจ๊ป ๋ง์์ผ ํ๋ค |
| ๊ฐ์๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ๋ฆฌ๋ฅผ ํตํด ์์คํ ์ค๊ณ๋ฅผ ์ ์ฐํ๊ฒ ํ๋ค | ์ค์ ์ฑ๋ฅ์ ํ ํด๋ก์ง์ ์ํํธ์จ์ด ๋ฐฐ์น์ ํฌ๊ฒ ์ข์ฐ๋๋ค |
๊ด๋ จ ๊ธฐ์
- Memory Controller
- NVMe Architecture
- Linux Memory Tiering Deep
- NAND NVMe SSD Analysis
- CXL Consortium Specification
- Past CXL Specifications
- Linux Kernel CXL Documentation
- Compute Express Link
ํต์ฌ ์ ๋ฆฌ
CXL์ PCIe ๊ธฐ๋ฐ ์์ ์ฝํ์ด๋ฐ์์ ๋ฉ๋ชจ๋ฆฌ ํ์ฅ์ ์น์ ํ์ค์ด๋ค. 1.x๋ ๊ธฐ๋ณธ ์ฐ๊ฒฐ๊ณผ ํ๋กํ ์ฝ ์ ๋ฆฌ์ ์ง์คํ๊ณ , 2.0์ ์ค์์นญ๊ณผ ํ๋ง์, 3.0์ ํจ๋ธ๋ฆญ๊ณผ ๋ค์ค ํธ์คํธ ๊ณต์ ๋ฅผ ์ด์๋ค. 3.1๊ณผ 3.2๋ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋ค๋ฌ๋ ๋ณด๊ฐํ์ ๊ฐ๊น๊ณ , 4.0์ ๋ ๋์ ์๋์ ๋ ๊ท๋ชจ ํ์ฅ์ ๊ฒจ๋ฅํ๋ค. ์ด ํ๋ฆ์ ํจ๊ป ๋ณด๋ฉด CXL์ด ์ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ์ฌ๊ตฌ์ฑ์ ํต์ฌ ํ์ค์ธ์ง ๋ถ๋ช ํด์ง๋ค.