
CXL (Compute Express Link): Kết nối bộ nhớ chia sẻ cho trung tâm dữ liệu
Compute Express Link (CXL) là một tiêu chuẩn mở dùng cho kết nối tốc độ cao, dung lượng lớn giữa CPU-to-device và CPU-to-memory, được thiết kế cho các máy tính trung tâm dữ liệu hiệu năng cao. CXL được xây dựng trên giao diện vật lý và điện của PCI Express (PCIe) và bao gĩa giao thức I/O dựa trên PCIe (CXL.io) cùng các giao thức cache-coherent mới để truy cập bộ nhớ hệ thống (CXL.cache) và bộ nhớ thiết bị (CXL.mem).
Lịch sử và phát triển
Công nghệ CXL được phát triển chủ yếu bởi Intel. CXL Consortium được thành lập vào tháng 3/2019 bởi các thành viên sáng lập bao gồm Alibaba, Cisco, Dell EMC, Meta, Google, HPE, Huawei, Intel và Microsoft.
Các phiên bản chính:

| Phiên bản | Năm phát hành | Đặc điểm chính |
|---|---|---|
| CXL 1.0 | 2019 | Dựa trên PCIe 5.0, hỗ trợ cache-coherent access đến bộ nhớ |
| CXL 2.0 | 2020 | Thêm switching, hỗ trợ distributed shared memory |
| CXL 3.0 | 2022 | Dựa trên PCIe 6.0, tăng gấp đôi băng thông, fabrics support |
| CXL 3.2 | 2024 | CHMU, online firmware activation |
| CXL 4.0 | 2025 | 128 GT/s, bundled ports, nâng cấp RAS |
Ba giao thức con cốt lõi
Lớp giao dịch CXL bao gồm ba sub-protocol được đa kênh trên một liên kết đơn:
- CXL.io – Dựa trên PCIe 5.0/6.0, cung cấp cấu hình, quản lý, discovery, ngắt, DMA và I/O register access.
- CXL.cache – Peripheral device có thể cache bộ nhớ CPU host một cách cache-coherent.
- CXL.mem – CPU host truy cập bộ nhớ device thông qua lệnh load/store.

CXL.cache và CXL.mem hoạt động với FLIT (Flow Control Unit) 68-byte trên PHY PCIe 5.0. CXL 3.0 giới thiệu FLIT 256-byte trong chế độ PAM-4 truyền dữ liệu.
Ba loại thiết bị chính
CXL được thiết kế để hỗ trợ ba loại thiết bị chính, mỗi loại phục vụ một mục đích sử dụng cụ thể trong hệ thống:
- Type 1 (CXL.io + CXL.cache): Thiết bị có thể truy cập bộ nhớ CPU host một cách cache-coherent nhưng không có bộ nhớ cục bản. Dùng cho các nic mạng thông minh (smart NIC), PGAS NIC, và NIC Atomics. Các thiết bị này thường là những ứng dụng xử lý mạng hoặc lưu lượng đặc thù.
- Type 2 (CXL.io + CXL.cache + CXL.mem): Hỗ trợ truy cập bộ nhớ host và bộ nhớ device memory đồng thời, dùng cho các accelerator đa mục đích như GPU, ASIC, FPGA với bộ nhớ GDDR hoặc HBM cục bản tốc độ cao. Type 2 devices hỗ trợ hai chế độ coherence: device bias mode (device truy cập trực tiếp bộ nhớ cục bản, CPU không cache) và host bias mode (CPU cache controller xử lý tất cả truy cập đến device memory). Chế độ có thể thiết lập riêng cho từng trang 4 KB.
- Type 3 (CXL.io + CXL.mem): Cho phép host truy cập và quản lý bộ nhớ gắn liền device, dùng cho memory expansion board và persistent memory. Các thiết bị này cung cấp CPU host truy cập độ trễ thấp đến DRAM cục bản hoặc lưu trữ non-volatile byte-addressable.

Việc phân biệt các loại thiết bị cho phép CXL linh hoạt hóa việc mở rộng hệ thống. Type 3 đặc biệt quan trọng trong việc mở rộng bộ nhớ (memory expansion), nơi các module CXL memory có thể cung cấp khả năng lưu trữ lớn hơn so với DIMM truyền thống.
Ứng dụng và hỗ trợ hệ điều hành
Hệ điều hành và nền tảng hỗ trợ CXL:
- Windows Server 2022 đã thêm hỗ trợ native cho CXL memory devices.
- Linux kernel 6.5 trở lên thêm hỗ trợ CXL thông qua drivers specially developed.
- Các hypervisor như VMware ESXi, Microsoft Hyper-V cũng đang tích hợp hỗ trợ CXL để cho VM truy cập bộ nhớ mở rộng.
Các nhà sản xuất phần cứng lớn như Intel, AMD, Samsung, Micron, SK Hynix đã công bố các sản phẩm hỗ trợ CXL như:
- Intel: Xeon Scalable processors (Sapphire Rapids, Emerald Rapids), Agilex FPGA, Max Series GPUs
- AMD: EPYC Genoa/Bergamo processors, Instinct MI300 series GPUs
- Samsung: DDR5 và LPDDR5 memory modules với giao diện CXL
- Micron: DDR5 và GDDR6 memory với CXL interface
- SK Hynix: DDR5 memory modules hỗ trợ CXL 2.0 và 3.0
CXL được tích hợp rộng rãi trong các server datacenter hiện đại. Các nhà cung cấp cloud như AWS, Azure, GCP đang đánh giá hỗ trợ CXL cho các instance kiểu memory-optimized hoặc GPU-accelerated.
Các trường hợp sử dụng thực tế
CXL giải quyết một số thách thức quan trọng trong kiến trúc máy tính hiện đại:
- Memory Expansion: Dùng CXL Type 3 devices để mở rộng bộ nhớ hệ thống vượt quá giới hạn của số khe DIMM và dung lượng tối đa trên mỗi khe, cho phép hệ thống có terabyte-level bộ nhớ mà không cần thay đổi kiến trúc.
- Device Memory Access: GPU, FPGA có thể truy cập bộ nhớ CPU host qua CXL.cache để giảm thiểu latency và tránh việc sao chép dữ liệu quá mức giữa host và device memory.
- Cache Coherent Accelerators: Các accelerator như Smart NIC có thể tham gia vào cùng coherent domain với CPU, cho phép xử lý gói tin mạng mà không cần qua qua stack TCP/IP toàn bộ.
- Persistent Memory: Dùng CXL Type 3 với persistent memory (Optane, hoặc các giải pháp mới) để cung cấp lưu trữ byte-addressable có độ trễ thấp giữa DRAM và SSD truyền thống.
- Disaggregated Architecture: Trong kiến trúc trung tâm dữ liệu hiện đại, các tài nguyên như compute, storage, memory có thể được tách ra và kết nối qua mạng. CXL cho phép tạo ra các pooled memory trên mạng trong cùng một rack hoặc sogar giữa các rack, tăng tần suất sử dụng tài nguyên và giảm lãng phí.
Tài nguyên tham khảo
Trang web chính thức: computeexpresslink.org
Rambus CXL overview: rambus.com
Synopsys CXL IP: synopsys.com
Kết luận
CXL đang định hình lại kiến trúc trung tâm dữ liệu bằng cách cho phép bộ nhớ chia sẻ, disaggregated storage và accelerator cache-coherent. Công nghệ này giải quyết thách thức về giới hạn socket packaging và hiệu năng của DIMM truyền thống, mở ra tương lai mới cho các máy tính hiệu năng cao.
