メモリデバイスの不揮発性メモリ制御やホストIFなどを扱うソフト屋です。
仕事でCXL(Compute Express Link)まわりの技術に関わっています。
CXL技術に関連するメモ書きを残していこうと思います。
ホストまわりのこと経験・知識共に乏しいので、詳しい親切な方は教えて下さると幸いです。現在、まずはQEMUで、CXLが接続された環境を立ち上げようとしているので、教えて頂けると非常に有難いです。
また、間違い、アドバイス、その他、ご意見やご要望ありましたらお気軽にどうぞ。
#1. CXLのバージョンによる違い
一般的な仕様書と同様に、CXLの仕様にはリリース時期により、バージョン番号がついています。個人的な大まかな印象ですが、CXLのそれぞれのバージョンでは、以下の対応を考慮したアップデートになっているように見えます。
- CXL 1.1
Type3デバイス揮発性メモリへの対応 - CXL 2.0
Type3デバイス不揮発性メモリへの対応 - CXL 3.0
Type1/Type2デバイスへの対応
それぞれの違いに関する詳細は、追々書くとしますが、CXL3.0の仕様書は、まだリリースされていないので、CXL2.0の範囲内での話をします。
#2. CPUベンダーによるのCXLへの対応
CPUベンダーのCXLへの対応予定(2021/11/25時点)は以下の通りになると予想されます。
- Intel
2022年から「Sapphire Rapids」で、CXL1.1に対応。既に特定顧客にはサンプルが配られているようです。
- AMD
2022年から「Epyc Genoa」で、CXL1.1に対応。
- ARM
2022年から「Neoverse N2」で、CXL2.0に対応。
(Neoverse N2 Core + CMN700の組み合わせでCXL2.0デバイスに繋がるデザインになるかと思われます)
ARMは、既に「Neoverse N1 + CMN600」の組み合わせで、CCIX(CXL同様のCache Coherencyを実現するInterconnect技術)で、不揮発性メモリ搭載のType2に相当するデバイスの接続を試作で実現しているため、IntelやAMDよりCXL2.0対応には一日の長があるのかもしれません。
#3. CXLデバイス
CPUに接続されるデバイスとして以下の製品が発表されています。
- Samsung
DRAMが搭載されたCXLモジュールが発売されます。恐らく、CPUに合わせてCXL1.1対応で、2022年の発売になると予想されます。既に特定顧客にはサンプルが配られているようです。
次回以降CXLの仕様の詳細について書いていこうと思っています。