OpenMPDK / SMDK

SMDK, Scalable Memory Development Kit, is developed for Samsung CXL(Compute Express Link) Memory Expander to enable full-stack Software-Defined Memory system
278 stars 60 forks source link

Definition of "CXL memory" #18

Closed jinhachung closed 1 year ago

jinhachung commented 1 year ago

What exactly does a single "CXL memory" refer to in the Wiki documents?(specifically, in section 2.3's Memory Partition) Am I correct in saying that each "CXL.mem" block depicted at the hardware layer of "Zone Partition" or any "physical CXL memory" mentioned refers to a single memory expander device (e.g., the 512GB expander from this article: https://news.samsung.com/global/samsung-electronics-introduces-industrys-first-512gb-cxl-memory-module)

SeungjunHa commented 1 year ago

Helllo, jinhachung. I'm Seungjun Ha one of the SMDK team members.

As you understand, yes, 'CXL.mem' depicted in section 2.3 means a single memory expander. (Our notation might confuse you. We will modify the diagram in the next update!) 'CXL memory' is also called CXL Type 3 Memory and CXL memory expander(MXP) is the exact meaning what we want to express to. Additionally, CXL.mem is a one of CXL Protocol such as CXL.io and CXL.cache and CXL Type 3 device uses CXL.io and CXL.mem protocols for memory expansion.

KyungsanKim commented 1 year ago

Let me suppliment explaination. To be specific, CXL.mem implies a HDM range.

Hence, Basically it would imply a physical CXL volatile memory device. Also, upon CXL specification, it could be a HDM range provided by a single CXL device or CXL switch topology beneath.