[CXL 3.1] CXL Fabric 概念说明

CXL 3.1 CXL Fabric 概念说明

CXL Fabric是CXL协议中的概念,是一种互连架构,不是具体的实物,也不是简单的抽象的概念,从协议中描述来看,为了应对AI的需求,需要能够支持大容量内存的架构,简单来说,单个内存接近上限,就需要增加支持内存的数量来提高容量,需要有架构和协议上的支持。

以下内容来自于CXL 3.1规范中内容,和对规范内容的理解。

1. CXL Fabric Architecture

这个名词是在CXL 3.0版本中在第7部分,switching章节中增加的一个新的小节内容,在2.0版本中,没有这个小节,但是已经有了Fabric Manager这个概念。

在CXL 3.1规范中,在7.7的内容中对 CXL Fabric Architecture有如下说明。

从这段内容看到几个关键词,目的是为了大规模的扩展内存

  • rack Scale 机架结构
  • PID 路由的端口IP SPID和DPID,分别为源端口ID和目的端口ID
  • PBR 基于端口的路由
  • GFD (G-FAM,也就是Global Fabric attached Memory Device)全局附加内存

在这段内容中说明了PID字段位宽是12bit,也就限制了最大规模的设备扩展数为4096个。

GFD在这里属于大尺度扩展内存资源,所有的主机和对端设备都可以进行访问(Host and peer devices)

2. High Level CXL Fabric diagram

在协议中给出了一个CXL Fabric的示意图

对于这个图的理解,中间的CXL Fabric就是这个架构,其实实际中间的这个CXL Fabric是CXL交换机,上面的HOST通过CXL连接到交换机,下面的Device也通过CXL连接到交换机,然后根据路由规则进行数据传输,PBR是基于端口的路由,通过ID来确定source和destination,也就是发送的和接受的,这个的好处简单来说就是可以直接通过ID来进行转发,不需要解包实际的数据,能够提高传输效率。

具体的机制下次再通俗说明。包括怎么对应端口,怎么绑定,如何管理,如何转发,如何确定路由方式等内容。