本文へ移動

メモリの帯域幅と密度の制限を拡張する:サムスン電子のCXLメモリーエキスパンダー

  • 共有
Expanding the Limits of Memory Bandwidth and Density: Samsung’s CXL™ DRAM Memory Expander
Expanding the Limits of Memory Bandwidth and Density: Samsung’s CXL™ DRAM Memory Expander

by Kapil Sethi

サムスン半導体のDRAM製品計画のシニアマネージャー

近年、人工知能、機械学習、クラウドコンピューティングなどの技術発展により、大量のデータが生成されています。データ駆動型テクノロジーの台頭で、より強力なコンピューター ハードウェア アーキテクチャの必要性も生じています。データ集約型アプリケーションの処理と性能要求を処理できる強力なプロセッサーを製造するために、ますます多くのコアがシングルプロセッサーチップに統合されています。しかし、メモリ帯域幅と密度はCPUコア数の増加に遅れをとっており、プロセッサーとメモリーの性能の間にギャップが生じています。 メモリー密度と帯域幅に対する飽くなき需要は、既存のメモリテクノロジーの限界をいっそう高めています。従来のDRAM設計では、メモリー容量のスケーリングが特定の範囲を超えて制限されるため、まったく新しいメモリーインターフェース技術が必要になります。さらに、AIとビッグデータの台頭により、さまざまな種類の複数プロセッサーが並列で大量のデータを処理する、ヘテロジニアスコンピューティングへの傾向が高まっています。 さらに、効率的なリソースの利用を可能にするために、次世代の相互接続技術はヘテロジニアスコンピューティングとコンポーザブル インフラストラクチャに不可欠です Compute Express Link™(CXL)とは? CXL™ コンソーシアムを通じて開発されたオープンスタンダードであるCXL は、PCIe物理層上に構築された高速で低遅延のCPUからデバイスへの相互接続テクノロジーです。CXL↗は、ホストCPUとアクセラレータやメモリー拡張デバイスなどの接続されたデバイスとの間で効率的な接続を行います。 CXLのトランザクション層は、単一リンク上の動的に多重化された3つのサブプロトコルで構成されています。これらのプロトコルは、CXL.io、CXL.cache、CXL.memとして知られています。CXLデバイスがCXLホストに接続されると、CXL.ioプロトコルを介して検出、列挙、構成、管理されます。CXL.cacheは、CXLデバイスがプロセッサーのメモリーにアクセスできるようにし、CXL.memは、プロセッサーがCXLデバイスメモリにアクセスできるようにします。CXL.cacheおよびCXL.memプロトコルスタックは、低遅延用に最適化されています。
CXLコンソーシアムは、次の3つの異なるデバイスタイプを識別します。

• タイプ1のCXLデバイスは、アクセラレータやSmartNICなどのキャッシングデバイスです。タイプ1のデバイスは、CXL.cacheトランザクションを介してホストメモリーにアクセスし、ホストメモリーと整合の取れたローカルキャッシュを維持することができます。 • タイプ2のCXLデバイスは、DDRやHBMなどのメモリーがデバイスに接続されているGPUおよびFPGAです。タイプ2のCXLデバイスは、タイプ1のCXLデバイスと同様に、ホストに接続されたメモリーに直接アクセスできます。さらに、タイプ2のCXLデバイスには、CXL.memトランザクションを介してホストCPUに表示およびアクセスできるローカルアドレス領域があります。 • タイプ3のCXLデバイスは、ホストプロセッサがcxl.memトランザクションを介してCXLデバイスのメモリキャッシュに整合の取れたアクセスができるようにする、メモリー拡張デバイスです。タイプ3のCXLデバイスは、メモリー密度とメモリー帯域幅の拡張に使用できます。

この記事では、タイプ3のCXLデバイスに焦点を当てます。 CXLの機能と利点
CXLの重要な機能は、直接接続されたCPUメモリーとCXLデバイスのメモリー間のメモリーの整合性を維持することです。つまり、ホストとCXLデバイスは同じデータをシームレスに認識します。CXLホストには、CXL.ioおよびCXL.memトランザクションを使用して接続されたメモリーに整合の取れたアクセスをするマネージャーとして機能するホームエージェントがあります。 これが重要であることには理由があります。これにより、CXLホストとCXLデバイスが共有データを処理できるようになり、同一メモリー位置のデータを見れることが保証されます。ホームエージェントはデータの同時変更を許可しないため、ホストまたは接続されたデバイスのいずれかによって変更が行われると、ホームエージェントは存在するすべてのデータの整合性を確実に維持します。 CXLのもう1つの主要な機能は、さまざまな種類のメモリー(揮発性、不揮発性など)をCXLのインターフェースを介してホストに接続できるため、基盤となるメモリーテクノロジーに依存しないことです。さらに、CXL.memトランザクションはバイトアドレス指定が可能であり、DDRメモリーと同様にロード/ストア トランザクションです。したがって、接続されたCXLメモリは、エンドアプリケーションにネイティブに接続されたDDRメモリーのように見えます。 CXL 2.0仕様は、スイッチングとメモリープーリングもサポートしています。スイッチングによりメモリの拡張が可能になり、プーリングによりメモリーリソースの動的な割当てと割当て解除が可能になるため、システム全体の効率が向上します。CXLの整合性とデータの暗号化は、CXLリンクを通過するデータの秘密性、整合性、反射攻撃保護を備えるためのメカニズムを定義します。
図:タイプ3のCXLメモリー拡張デバイスを使用したメモリー密度拡張
図:タイプ3のCXLメモリー拡張デバイスを使用したメモリー密度拡張
図:タイプ3のCXLメモリー拡張デバイスを使用したメモリー密度拡張
従来的には、システムにメモリー容量と帯域幅を追加するには、ネイティブCPUメモリーチャネルの数を増やす必要があります。しかし、CPUにメモリーチャネルを追加すると、技術的複雑性が増大し高コストとなります。タイプ3のCXLメモリー拡張デバイスには、プライマリCPUメモリチャネル数を増やすことなくメモリー容量を増やし、メモリー帯域幅を増やすための柔軟で強力なオプションがあります。 サムスン電子のCXLメモリーエキスパンダーとオープンソースのCXLソフトウェア サムスン電子は2021年5月に業界初のタイプ3のCXLメモリーエキスパンダープロトタイプを発表しました 。このプロトタイプのメモリーエキスパンダーデバイスは、複数の次世代サーバーCPUプラットフォームで検証されています。さらに、CXLメモリーエキスパンダーのプロトタイプは、実際のアプリケーションとワークロードにより複数のエンドカスタマーのサーバーシステムで検証がなされています。 現在、サムスン電子は、特定用途向け半導体(ASIC) CXLコントローラーで構築された新しいCXLタイプ3のDRAMメモリーエキスパンダー製品をテストしており、CXLテクノロジーの商用化への道を開く準備ができています。EDSFF (E3.S)フォームファクタ―で提供されるこのエキスパンダーは、次世代の大容量エンタープライズサーバーおよびデータセンターに適しています。
サムスン電子の最新CXLメモリーエキスパンダーモジュールには、最大512GBのDDR5 DRAMメモリが付属しています。これにより、サーバーはメモリー容量を数十テラバイトに拡張し、メモリ帯域幅を毎秒数テラバイトに増やすことができます。CXLメモリーエキスパンダーは、x8 PCIe 5.0インターフェースを使用して、レーンあたり32GT/sの最大転送速度でCPUに接続します。 また、サムスン電子はオープンソースのCXLソフトウェアソリューションであるスケーラブルメモリー開発キット(SMDK)を導入しました。これは、メインメモリーとCXLメモリーエキスパンダーが、ヘテロジニアスメモリーシステムでシームレスに連携できるようにするソフトウェアツールとAPIのコレクションです。SMDKを使用すると、システム開発者は、既存のアプリケーション環境を変更することなく、CXLメモリーを高度なシステムに簡単に組み込むことができ、CXLエコシステムの有効化が加速します。 サムスン電子のCXLメモリーエキスパンダーは、2022年第3四半期に評価が可能になり、SMDKのバージョン1.1はGitHub↗で利用可能になりました。